2010-08-23 22 views
14

<section> etiketini yanlış yazmanın yanlış olduğunu biliyorum, ancak <header> ve <footer> etiketlerine ne dersiniz? Bu etiketlerin kullanılması daha semantik bir biçimlendirme sağlıyorsa, bunlar kullanılmalıdır, ancak, stil oluşturulamıyorsa, içeriği sarmak ve stil oluşturmak için etiketin içine hala eklenmesi gerekir.Stil HTML5 Elements

<header>'un tarzının olabileceğini biliyorum, ancak bunun doğru olup olmadığından emin değilim.

Yani soru şudur: html5 etiketleri şekillendirilmeli mi yoksa stiline dikkat çekmek için içeride mi yer almalı?

+0

Philosophycal :-) –

+4

Neden html5 öğesinin stilini çizmek kötü olur? – Gabriel

+1

'etiketi için:" Stil oluşturma amacıyla veya komut dosyası yazma için bir öğe gerektiğinde, yazarlar bunun yerine div öğesini kullanmaya teşvik edilir. " Diğer html5 etiketleri ile ilgili benzer "kurallar" olup olmadığını merak ediyordum. – alexcoco

cevap

36

Spesifikasyonlardan hiçbiri, <section> veya <article> gibi HTML5 öğelerini stilleyememeniz veya yapmamalısınız diyor. Sadece, bir şey '' uğruna '' anlamında bir semantik HTML5 öğesi yerleştirmemelisiniz diyor. Bunun yerine <div> kullanın. Eklemek bir semantik nedeniniz varsa

Yani <section> veya <article> yerde, o zaman elbette bu VE aynı zamanda onu stil çekinmeyin ekleyin. Ancak, markanızın şekillendirme amacıyla bir bölümünü sarmak zorunda kalırsanız (örn., Kenarlık eklemek veya sola kaydırmak vb.), Ancak bu bölümün işaretinizde anlamsal bir anlamı yoktur, ardından kullanın. . Örneğin

:

<div class="mainBox"> 
    <nav class="breadcrumbs"> 
     <ol> 
      <li>...list of links (snip)....</li> 
     </ol> 
    </nav> 

    <section> 
     <h1>Latest Tweets From Twitter</h1> 

     <article> 
      //... a Tweet (snip)... // 
     </article> 

     <article> 
      //... a Tweet (snip)... // 
     </article> 

     //... lots more Twitter posts (snip)... // 

    </section> 

</div> 

<section> eleman da sayfanız (. yani tweet listeniz) ana parçasıdır ve gerekli başında bir başlık vardır. Ama div.mainBox elemanına sarılmış çünkü belki de hem kırıntıların hem de bölüm parçalarının etrafına bir kenarlık sarmak istersiniz. sadece stil için. Ancak, <section> ve <article> öğelerini de şekillendirmenizi durduracak hiçbir şey yok.

3

Bu etiketleri biçimlendirmek yanlış değildir, ancak bunlar semantik bir işleve hizmet ettiğinden yalnızca stil amaçlı değildirler. Her şeyden önce, kullanmanız gereken öğeleri stil edin, ancak stilleri elde etmek için onları eklemeyin, böylece anlambilimi bozun.

Ayrıca, tüm tarayıcılar tarafından algılanmadıklarından onları şekillendirmekten de kaçınmalısınız. Örneğin IE6 ve 7, stilleri eleman adlarını tanımayacakları şekilde uygulayamaz. Bazı stil kontrolüne izin verecek ARIA etiketlerini kullanarak bunu IE7'de alabilirsiniz.