CSSによるページ構築
文書構造のグループ化
- グループ化とは、div要素によるコンテンツのブロック化
- 「コンテンツのブロック化」であるので、1行を「div要素」で囲まないことが鉄則
- 見出しと本文のまとまりとを一緒に構造化
情報を「線形化」する
砕いて言えば、ワープロソフトの1文字が縦に改行されていくイメージです。
その「1文字」は、ひとつのブロックで、なかに情報のかたまりが入っていると考えます。
- 情報は上の行から順に読まれる
- HTMLはブロック化しないと横並びはできない
- 先に読ませながら、右に並べるときに設定するのが「float : right」
idセレクタで指定する
「idセレクタ」は固有名詞的扱いで、1ページに一度使用する。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>CSSレイアウト</title> <style> body, div { margin: 0; padding: 0; } body { background-color: #CCCCCC; font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif; } #container { background-color: #FFFFFF; width: 760px; height: auto; } #header { background-color: #B1DAF0; width: 760px; height: 100px; } #nav { background-color: #FFE3F1; width: 760px; height: 40px; } #wrapper { background-color: #F3B2B3; width: 760px; height: auto; overflow: hidden; } #content { background-color: #F9F5E7; width: 560px; height: 300px; } #sidebar { background-color: #CFFAAB; width: 200px; height: 300px; } #footer { background-color: #7FC4BF; width: 760px; height: 40px; } </style> </head> <body> <div id="container"> <div id="header">#header</div> <div id="nav">#nav</div> <div id="wrapper"> <div id="content">#content</div> <div id="sidebar">#sidebar</div> </div><!--/#wrapper --> <div id="footer">#footer</div> </div><!--/#container --> </body> </html>
グループ名をつける
- グループ化で利用される「div要素」は、あくまでも「空っぽな箱」で文書構造としての意味は持ちません
「おむすび」はラップで包む
<div id="wrapper">
</div>
ラップで包んだ「おむすび」は、ケースに入れる
<div id="container">
</div>
「container」と「wrapper」のどちらかが優先順位が高いというわけではありません。
あくまでも、HTMLの性質は「横並び」ができないため、いろいろ変則的なことをします。
そのときに、横並びにしたものが「はみ出さないように」指定するのが「container」と「wrapper」の役割です。
id属性とclass属性の名前の付け方
グループ化の場合、「div要素」に「id属性」を付加します。
- id は一意性のある領域や要素に対して名付ける
- class は同じ機能をもつ領域や要素に対して名付ける
- その名前は、色形をあらわす名称ではなく、意味や機能をあらわす名前が最適
命名規則
- キャメルケース(CamelCase)
- 複合語をひと綴りとして、要素語の最初を大文字で書き表すこと
- globalNav(キャメルケース:大文字で単語区切り)
- global-nav(ハイフン区切り)
- global_nav(アンダースコア区切り)
その他の例は「TAG index:ID名とクラス名」