2017-06-28 14 views
1

(サイドバーなどの記事や他のラッパーとして1)その下に2つの列の私は、ヘッダーでウェブサイトを持っているとしましょう。<main>列ラッパーとしてタグ

<main> 
    (articles here) 
</main> 
<aside class="sidebar"> 
    (sidebar here) 
</aside> 

または私は<div>でこれ<main>をラップする必要があります?今、私はそれらの記事のラッパーとしてmainを使用することができますか一般的に

<div id="left-column"> 
    <main> 
     (articles here) 
    </main> 
</div> 
<aside class="sidebar"> 
    (sidebar here) 
</aside> 

:我々は(通常div要素のドメインである)CSSでスタイリング/表示目的のためにも意味タグを使うことができますか?

答えて

2

「新しい」HTML5要素は、input[type="hidden"]またはhead ^^ではなくdivまたはspanまたはpまたはh6のような要素です。彼らは意味を持って来るが、それは(多分メインを除く)IE9 +であるそれらをサポートするブラウザで、スタイリングに来るとき、あなたはそれらまたはfloatまたはposition: relativeあるいはdisplay: inlinedisplay: flexすることができます。
IE8にはhtmlshivというポリフィルが必要でしたが、それはうわーです。 (MSもそれを実行できるOSをサポートしていないので!)IE8をサポートしていません

を脇にメインと前の兄弟に記事やセクションかもしれないと私は脇に含まれると思います。

<main role="main"> 
    <article><!-- or section? --> 
    (articles here) 
    </article> 
    <aside class="sidebar"> 
    (sidebar here) 
    </aside> 
</main> 
+1

'

要素内のコンテンツは、文書に固有でなければなりません。それは、このようなサイドバー、ナビゲーションリンク、著作権情報、サイトロゴなどのドキュメント間で繰り返されているすべてのコンテンツが含まれており、 –

+0

質問の詳細です> https://www.w3schools.com/tags/tag_main.asp forms.'検索してはいけません"セマンティクスを持つCSS要素でスタイリング"と私の答えはより詳細ですが、はい、主要な要素は、特定のページで一意のままにする必要があります。 OPによって記述されるように、私は彼がしたいことだと思う(ページの列) – FelipeAls

3

あなたはCSSのフックが必要ですが、要素の使用が適切であるならば、それは完全に罰金で、良い練習が、としても、彼らにをを使用するという理由だけでこれらのセマンティック要素を追加しない必要がありますCSSのフック。あなたはスタイリング上の理由から、あなたの既存の要素よりも多くを必要とする場合

、(彼らは唯一の「非セマンティック」/ meaningless要素があるとして)span/div要素を追加します。

span/divを追加すると、スタイルを設定したい意味要素ごとにマークアップが膨らんで、理解/維持が難しくなります。 HTML5で導入された要素(mainなど)のために、これを行う理由は1つあります。これらの新しい要素をサポートしていない古いブラウザで特定のスタイルを実現する必要がある場合。

関連する問題