<?xml version="1.0" encoding="UTF-8"?> <rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" ><channel><title>Coders&#039; Grave &#187; video element</title> <atom:link href="http://codersgrave.com/etiket/video-element/feed/" rel="self" type="application/rss+xml" /><link>http://codersgrave.com</link> <description></description> <lastBuildDate>Tue, 11 Dec 2012 17:27:55 +0000</lastBuildDate> <language>tr-TR</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5</generator> <item><title>HTML5 &#8211; Yeni Öğeleri Daha İyi Anlayın</title><link>http://codersgrave.com/253-html5-yeni-ogeleri-daha-iyi-anlayin/</link> <comments>http://codersgrave.com/253-html5-yeni-ogeleri-daha-iyi-anlayin/#comments</comments> <pubDate>Fri, 20 Aug 2010 05:22:26 +0000</pubDate> <dc:creator>Sevil Yılmaz</dc:creator> <category><![CDATA[HTML]]></category> <category><![CDATA[article]]></category> <category><![CDATA[aside]]></category> <category><![CDATA[audio element]]></category> <category><![CDATA[canvas]]></category> <category><![CDATA[figcaption]]></category> <category><![CDATA[figure]]></category> <category><![CDATA[footer]]></category> <category><![CDATA[header]]></category> <category><![CDATA[html5]]></category> <category><![CDATA[html5 kodları]]></category> <category><![CDATA[nav]]></category> <category><![CDATA[video element]]></category><guid isPermaLink="false">http://www.codersgrave.com/?p=253</guid> <description><![CDATA[Bu blogu tasarladıktan sonra HTML5 hakkında birşeyler yazmam kaçınılmazdı. İlk duyduğum andan beri merak konusu oldu bende bu HTML5. &#8220;Ne gibi gelişmeler var, neden kullanmalıyız, ne kazancı var?&#8221; soruları kafamda uçuşmaya başladı. Kahvenizi hazırlayın, arkanıza yaslanın. İşte başlıyor&#8230; Hepsinden önce &#8230; <a href="http://codersgrave.com/253-html5-yeni-ogeleri-daha-iyi-anlayin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description> <content:encoded><![CDATA[<p>Bu blogu tasarladıktan sonra HTML5 hakkında birşeyler yazmam kaçınılmazdı. İlk duyduğum andan beri merak konusu oldu bende bu HTML5. &#8220;Ne gibi gelişmeler var, neden kullanmalıyız, ne kazancı var?&#8221; soruları kafamda uçuşmaya başladı. Kahvenizi hazırlayın, arkanıza yaslanın. İşte başlıyor&#8230;</p><p>Hepsinden önce modern bir tarayıcı kullandığınızdan emin olun ve sürekli güncel tutun. Tarayıcınızın <em>HTML5</em> ve <em>CSS3</em>&#8216;ün hangi özelliklerini desteklediğini öğrenmek için mükemmel bir <em>script</em> yazılmış. Adı <strong><em><a href="http://www.modernizr.com/" target="_blank">Modernizr</a></em></strong>. Siteye girdiğinizde hemen karşınıza çıkıyor zaten nelerin desteklenip desteklenmediği.</p><p><em>HTML5</em>&#8216;de bazı özellikler <em>native</em> (doğuştan) geliyor. En genel örneği; bir video izlemek ya da bir ses dosyasını dinlemek için eklenti yükleme gereksimini ortadan kaldırıyor. Bunun için <em>video</em> ve <em>audio</em> elementlerini kullanmak yeterli. Bir resime, videoya, istatistik tablosuna alt başlık girmek için içiçe bölümler yapmak yerine <em>figure</em> ve <em>figcaption</em> elementlerini kullanabiliriz&#8230;</p><h3>Anlamsal Elementler</h3><p>HTML&#8217;de (HTML4) birtakım anlamsal yetersizlikler var. Tasarımcılar bu yetersizlikleri <em>class</em> ve <em>id</em>&#8216;ler kullanarak çözmeye çalışıyorlar. Ancak iş karmaşıklaştıkça, ziyaretçiye daha heyecan verici tasarımlar sunmak istendiğinde, anlamsal isimler bulmak gitgide daha da zorlaşıyor.</p><p>HTML5&#8242;te bu sorunlara anlamsal elementler (semantic elements) kullanarak yanıt verilmeye çalışılmış. Basit bir blog sayfasında mimari genel olarak şu şekildedir.</p><p><span id="more-253"></span></p><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/html-altyapi1.png" rel="lightbox[253]" title="HTML Altyapısı"><img class="aligncenter size-medium wp-image-298" title="HTML Altyapısı" src="http://codersgrave.com/wp-content/uploads/2010/08/html-altyapi-300x2751.png" alt="HTML Altyapısı" width="300" height="275" /></a></p><p><em>div</em> elementini kullanıp ona sınıflar vererek temel mimari bu şekilde oluşturulabilir. Ancak gördüğünüz gibi HTML4&#8242;de bölümleri anlamsallaştırmak için çokça yazı yazmak gerekiyor. HTML5&#8242;te ise bu bölümler için bazı elementler tanımlanmış. Örneğin bir bölümü tanımlamak için <strong><em>section</em></strong>, başlık alanını tanımlamak için <strong><em>header</em></strong>, makaleyi tanımlamak için <strong><em>article</em></strong>, altalanı tanımlamak için <strong><em>footer</em></strong>&#8230;</p><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/html5-altyapi1.png" rel="lightbox[253]" title="HTML5 Altyapısı"><img class="aligncenter size-medium wp-image-270" title="HTML5 Altyapısı" src="http://codersgrave.com/wp-content/uploads/2010/08/html5-altyapi-300x2751.png" alt="HTML5 Altyapısı" width="300" height="275" /></a></p><h4>Header</h4><p>Başlık alanını temsil eder. Sadece başlığınız olacaksa altı seviyeli başlıklardan (<em>h1-h6</em>) birini kullanmanız yeterli. Ancak başlığı temsil eden başka öğeler de varsa -örneğin altbaşık gibi- bunu<em> header</em> elementiyle sarmanız gerekir.</p><pre><code class="prettyprint">&lt;header&gt;
 &lt;h1&gt;Başlık alanı&lt;/h1&gt;
 &lt;h2&gt;Sitemizin tanımını&lt;/h2&gt;
&lt;/header&gt;

&lt;header&gt;
  &lt;h1&gt;Lorem ipsum dolor&lt;/h1&gt;
  &lt;p&gt;Lorem ipsum dolor sit amet&lt;/p&gt;
&lt;/header&gt;</code></pre><h4>Nav</h4><p>Gezinti (navigation) alanını temsil eder. Gezinti bağlantıları ya da içerik listesi için kullanılabilir. (Navigasyon kelimesini kullanmak istemedim, diğer seçenekler de çok kötüydü&#8230;)</p><pre><code class="prettyprint">&lt;nav&gt;
  &lt;ul&gt;
    &lt;li&gt;&lt;a href="#"&gt;Anasayfa&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Kategoriler&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;İletişim&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href="#"&gt;Arşiv&lt;/a&gt;&lt;/li&gt;
  &lt;/ul&gt;
&lt;/nav&gt;</code></pre><h4>Footer</h4><p>Altalanı temsil eder. Bu bir sayfanın, bir bölümün ya da bir yazının altalanı olabilir.</p><pre><code class="prettyprint">&lt;footer&gt;Copyright © Coders' Grave&lt;/footer&gt;

&lt;footer&gt;
  &lt;p class="etiketler"&gt;
    &lt;a href="#"&gt;lorem&lt;/a&gt;,
    &lt;a href="#"&gt;ipsum&lt;/a&gt;,
    &lt;a href="#"&gt;dolor&lt;/a&gt;
  &lt;/p&gt;
&lt;/footer&gt;</code></pre><h4>Section</h4><p>Genel bölümleme öğesidir. Bu, içinde başlığı ve altalanı olan bir makale olabilir. Genel kapsayan bir element değildir. Bazı istisnai durumlar dışında eğer <em>section</em> başlık ile başlamamışsa yanlış kullanılmış demektir. Bir gezinti kısmında ya da <em>aside</em>&#8216;da başlık olmayabilir.</p><pre><code class="prettyprint">&lt;section&gt;
  &lt;h1&gt;Başlık&lt;/h1&gt;
  &lt;p&gt;Lorem ipsum dolor sit amet&lt;/p&gt;
&lt;/section&gt;</code></pre><p><em>section</em> genel bölümlemeler için kullanılır. Daha özel bölümlemeler için <em>article</em>, <em>nav</em>, <em>aside</em> elementlerini kullanın. Eğer kullanacağınız alan <em>section</em> tanımına uymuyorsa kullanmayın. Hala <em>div</em> elementini istediğiniz zaman kullanabilirsiniz.</p><h4>Article</h4><p>Bir makale ya da yazı alanını temsil eder. Bu bir blog yazısı, yorum alanı, haber v.b. olabilir. Bu gibi özel durumlarda <em>section</em> yerine kullanılan blok elemettir.</p><pre><code class="prettyprint">&lt;article&gt;
  &lt;header&gt;
   &lt;h3&gt;Başlık&lt;/h3&gt;
   &lt;p&gt;&lt;time datetime="2010-08-20T08:22:26+00:00"&gt;20-08-2010&lt;/time&gt;&lt;/p&gt;
  &lt;/header&gt;
  &lt;p&gt;Lorem ipsum dolor sit amet&lt;/p&gt;
&lt;/article&gt;</code></pre><h4>Aside</h4><p>Onu kapsayan içerikle yüzeysel bir bağlantısı olan içeriğe denir. <em>sidebar</em> ya da kelime açıklaması için kullanılabilir. Kullanımı biraz kafa karıştırabilir. Bunu örneğin içinde açıklayayım.</p><pre><code class="prettyprint">&lt;body&gt;
  &lt;h1&gt;Coders' Grave&lt;/h1&gt;
  &lt;article&gt;
    &lt;h3&gt;Yazı Başlığı&lt;/h3&gt;
    &lt;p&gt;Lorem ipsum dolor sit amet&lt;/p&gt;
      &lt;aside&gt;
        &lt;!--Bu kısım yazı ile doğrudan ilişkili. Ancak yazının devamı değil.--&gt;
        &lt;h3&gt;Sözlük&lt;/h3&gt;
        &lt;dl&gt;
          &lt;dt&gt;Lorem ipsum nedir?&lt;/dt&gt;
          &lt;dd&gt;Lorem ipsum...&lt;/dd&gt;
        &lt;/dl&gt;
      &lt;/aside&gt;
  &lt;/article&gt;
  &lt;aside&gt;
    &lt;!--Bu kısım yazı ile doğrudan ilişkili değil. Sayfadaki yazıların devamı da değil. Ancak sayfanın kendisiyle ilişkili--&gt;
    &lt;h2&gt;Kategoriler&lt;/h2&gt;
      &lt;ul&gt;
        &lt;li&gt;&lt;a href="#"&gt;HTML&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;CSS&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;Java&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a href="#"&gt;PHP&lt;/a&gt;&lt;/li&gt;
      &lt;/ul&gt;
  &lt;/aside&gt;
&lt;/body&gt;</code></pre><p>Tekrar söylüyorum; hala <em>div</em> elementini kullanabilirsiniz. Eğer elementlerin kullanımını tam anlayamadıysanız yanlış yapmak yerine hiç kullanmayın.</p><h4>Video</h4><p>YouTube (her ne kadar Türkiye&#8217;de yasaklı olsa da), Daily Motion, Vimeo gibi video sitelerinin kullanım grafikleri her geçen gün yükseliyor. Bu sitelerde video izleyebilmek için tarayıcımıza <em>Flash Player</em>, <em>Media Player</em> gibi eklentiler kurmamız gerekiyor. <em>video</em> elementiyle bu eklentileri yüklemekten kurtuluyoruz. Aynı zamanda kodu da daha kısa ve temiz. Eskiden video gömmek için böyle bir kod kullanıyorduk.</p><pre><code class="prettyprint">&lt;object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="640" height="480" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab"&gt;
  &lt;param name="allowFullScreen" value="true" /&gt;
  &lt;param name="allowscriptaccess" value="always" /&gt;
  &lt;param name="src" value="video.mp4" /&gt;
  &lt;embed type="application/x-shockwave-flash" width="640" height="480" src="video.mp4" allowscriptaccess="always" allowfullscreen="true" pluginpage="http://www.macromedia.com/go/getflashplayer"&gt;
  &lt;/embed&gt;
&lt;/object&gt;</code></pre><p>Şimdi basitçe şu şekilde yapabiliriz.</p><pre><code class="prettyprint">&lt;video width="640"  height="480" src="video.mp4" controls autobuffer poster="poster.jpg"&gt;
  &lt;p&gt;HTML5 uyumlu bir tarayıcı kullanmalısınız.&lt;/p&gt;
&lt;/video&gt;</code></pre><p>Ya da tarayıcıların <em>codec</em> desteğini düşünüp şu şekilde de yazabiliriz. Böylece bütün modern tarayıcılar desteklemediği uzantıyı atlayıp desteklediklerini oynatmaya başlar.</p><pre><code class="prettyprint">&lt;video width="640px" height="480px" autobuffer="autobuffer" autoplay="autoplay"&gt;
  &lt;source src='video.mpg' type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"'&gt;
  &lt;source src='video.mp4' type='video/mp4; codecs="amp4v.20.8, mp4a.40.2"'&gt;
  &lt;source src='video.ogv' type='video/ogg; codecs="theora, vorbis"'&gt;
&lt;/video&gt;</code></pre><p><strong>Tarayıcı video <em>codec</em> destekleri:</strong></p><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/tarayici-video-codec-destegi1.png" rel="lightbox[253]" title="Tarayıcı Video Codec Desteği"><img class="aligncenter size-medium wp-image-361" title="Tarayıcı Video Codec Desteği" src="http://codersgrave.com/wp-content/uploads/2010/08/tarayici-video-codec-destegi-300x1541.png" alt="Tarayıcı Video Codec Desteği" width="300" height="154" /></a></p><p>&#8220;<em><strong>Değişken</strong></em>&#8220;: Opera, Linux ve FreeBSD&#8217;de <em>GStreamer</em> ile tüm formatları destekler.</p><p><em><strong>Autoplay</strong></em>, videonun butona basma ihtiyacı duymadan başlaması için kullanılır. Sayfa açılışıyla video oynatılmaya başlar. Ancak tercih edilmez. Çünkü video çalıştığı anda sayfanın taranması güçleşir. Daha ayrıntılı bilgiyi <a href="http://www.punkchip.com/2009/04/autoplay-is-bad-for-all-users/" target="_blank">buradan</a> bulabilirsiniz.</p><p><em><strong>Controls</strong></em>, videonuza Başlat/Duraklat butonlarını ekler.</p><p><em><strong>Autobuffer</strong></em>, <em>autoplay</em> kullanılmadığı zaman, ancak videonun izlenileceği düşünülerek videoyu arkadan yükleme işlemi yapmasını sağlar.</p><p><em><strong>Loop</strong></em>, video dosyalarının sonuna geldiğinde tekrardan başa dönmesini sağlar.</p><p><em><strong>Poster</strong></em>, videonun bir karesi ya da onu temsil eden bir görsel olabilir.</p><h4>Audio</h4><p><em>video</em> elementi gibi yine eklenti kullanmadan ses dosyalarını oynatmamızı sağlar. Yukarıda yazdığım, <em>autoplay</em>, <em>autobuffer</em>, <em>controls</em>, <em>loop</em> özellikleri bunun için de geçerli.</p><pre><code class="prettyprint">&lt;audio src="ses.oga" controls autobuffer&gt;&lt;/audio&gt;</code></pre><p>Burada ses dosyasının bağlantısını verirken hangi tarayıcının hangi <em>codec</em>&#8216;i desteklediğini bilmemiz gerekiyor.</p><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/tarayici-audio-codec-destegi1.png" rel="lightbox[253]" title="Tarayıcı Audio Codec Desteği"><img class="aligncenter size-medium wp-image-365" title="Tarayıcı Audio Codec Desteği" src="http://codersgrave.com/wp-content/uploads/2010/08/tarayici-audio-codec-destegi-300x1541.png" alt="Tarayıcı Audio Codec Desteği" width="300" height="154" /></a></p><p><em><strong>Safari değişken</strong></em>: Mac OS&#8217;de Quicktime ile bu format desteklenmektedir.</p><p><em><strong>Opera değişken</strong></em>: Linux ve FreeBSD işletim sistemlerinde <em>GStreamer</em> ile bu formatlar desteklenmektedir.</p><p>Bunları bildikten sonra <strong><em>source</em></strong> özelliğini kullanarak bütün formatları ekleyelim ki ses dosyamız tüm <em>modern</em> tarayıcılarda oynatılabilsin.</p><pre><code class="prettyprint">&lt;audio&gt;
  &lt;source src="ses.oga" type="audio/ogg"&gt;
  &lt;source src="ses.mp3" type="audio/mpeg"&gt;
&lt;/audio&gt;</code></pre><h4>Canvas</h4><p><em>canvas</em> elementi <em>script</em>&#8216;ler ve <em>API</em>&#8216;ler yardımı ile iki boyutlu şekiller çizmemize yardımcı olur. Temel kullanımı şu şekildedir.</p><pre><code class="prettyprint">&lt;!DOCTYPE html&gt;
&lt;head&gt;
  &lt;title&gt;Canvas&lt;/title&gt;
  &lt;script type="text/javascript"&gt;
    var canvas = document.getElementById("ornek"),
      context = canvas.getContext("2d");
  
    context.fillRect(10, 20, 200, 100);
  &lt;/script&gt;
  &lt;style type="text/css"&gt;
    canvas {border: 1px solid #ccc;}
  &lt;/style&gt;
&lt;/head&gt;
&lt;body&gt;
  &lt;canvas id="ornek"&gt;&lt;/canvas&gt;
&lt;/body&gt;
&lt;/html&gt;</code></pre><p>Bu örnekte javascript kullanılarak  koordinatlar verip ana kareden belli bir uzaklıkta dikdörtgen çizildi.</p><p style="text-align: center;"><img class="aligncenter size-full wp-image-378" title="Canvas Dikdörtgen" src="http://codersgrave.com/wp-content/uploads/2010/08/canvas-dikdortgen1.png" alt="Canvas Dikdörtgen" width="304" height="154" /></p><h4>Figure</h4><p><em>figure</em>, içeriğe kaynak gösterilen, genelde tek birimden oluşan, çıkarıldığı zaman içeriğin akışını bozmayan, isteğe bağlı olarak altyazı içeren bir elementtir.</p><p>Görseller, kitaplar, grafikler, istatistikler v.b. içerebilir.</p><p><strong><em>figcaption</em></strong>, <em>figure</em> elementine altyazı eklememizi sağlayan elementtir.</p><p style="text-align: center;"><img class="aligncenter size-full wp-image-387" title="Figure Örneği" src="http://codersgrave.com/wp-content/uploads/2010/08/figure-ornek1.jpg" alt="Figure Örneği" width="172" height="196" /></p><pre><code class="prettyprint">&lt;figure&gt;
  &lt;img src="images/alt-belkemigi.jpg" alt="Alt Belkemiği"&gt;
  &lt;figcaption&gt;Alt Belkemiği&lt;/figcaption&gt;
&lt;/figure&gt;</code></pre><p><em>figure</em> elementinin yukarıdaki gibi görünmesi için stiller kullandım. Varsayılan hali o şekilde değil.</p><h3>DOCTYPE</h3><p>HTML5&#8242;de sadeliği getiren özelliklerden birisi de DOCTYPE. Herşeyden arındırılmış. Bu yüzden akılda kalması çok kolay.</p><pre><code class="prettyprint">&lt;!DOCTYPE html&gt;
&lt;html&gt;
  &lt;head&gt;
    &lt;title&gt;HTML5 Sayfası&lt;/title&gt;
  &lt;/head&gt;
  &lt;body&gt;
    &lt;h1&gt;Lorem&lt;/h1&gt;
    &lt;p&gt;Lorem ipsum dolor sit amet&lt;/p&gt;
  &lt;/body&gt;
&lt;/html&gt;</code></pre><h3>HTML5 Kopya Kağıdı</h3><p>HTML etiketlerini ve kısaca nerede kullanıldıklarını gösteren, güzel hazırlanmış bir referans. HTML5 kodları farklı renklerle vurgulanmış.</p><p style="text-align: center;"><a href="http://codersgrave.com/wp-content/uploads/2010/08/HTML5-Kopya-Kagidi1.jpg" rel="lightbox[253]" title="HTML5 Kopya Kağıdı"><img class="aligncenter size-medium wp-image-391" title="HTML5 Kopya Kağıdı" src="http://codersgrave.com/wp-content/uploads/2010/08/HTML5-Kopya-Kagidi-300x2121.jpg" alt="HTML5 Kopya Kağıdı" width="300" height="212" /></a></p><h3>Faydalanılan Siteler</h3><ul><li><a href="http://www.alistapart.com/articles/previewofhtml5" target="_blank">A Preview of HTML 5</a></li><li><a href="http://html5doctor.com/" target="_blank">HTML5 Doctor</a></li><li><a href="http://en.wikipedia.org/wiki/Canvas_element" target="_blank">Canvas element</a></li><li><a href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5_Media)" target="_blank">Comparison of layout engines (HTML5 Media)</a></li></ul><p>Şimdilik anlatacaklarım bu kadar. Bunlar sıkça kullanılan öğelerdi. Daha anlatılacak çok şey var. Bunu bir önizleme gibi düşünün.</p><p>Konu içinde yanlış bilip de yanlış yazdığım yerler varsa düzeltmekten çekinmeyin. Emin olun her zaman verecek bir cevabım vardır.</p> ]]></content:encoded> <wfw:commentRss>http://codersgrave.com/253-html5-yeni-ogeleri-daha-iyi-anlayin/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> </channel> </rss>