- 締切済み
cssについて質問です。
ホームページ作成の勉強をしている者です。 分からないことがあるので質問させてもらいます。 http://www.htmq.com/csskihon/401.shtmlこのサイトのcssのソースに float:left; /*リスト項目を横に並べる*/ display:inline; /*リスト項目をインライン表示にする*/ こう書かれていました。 display:inline;ですでにリストが横になるので、float:left;で横に並べる必要があるのですか? 調べてもいまいち納得いく答えが見つからないので分かる人教えてください。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- ORUKA1951
- ベストアンサー率45% (5062/11036)
単純に float:left;でfloatさせられますが、そのとき自動的にブロック(display:block;)にもなっています。 display:inline;とすることで、ブロックは解除されて行内要素に再指定されます。 display:inline;はCSS2から導入されたプロパティで、古いブラウザには認識されません。その場合、この設定は無視されますから、古いブラウザはfloatで並びます。サイズによって少し左による。 なお、参考にされているサイトは、idを使用すべきでないところに、idを使用しています。 id="header",if="footer" また、文書構造ではなくデザインのためのid名になっています。 id="submenue",id="menu01",id="submenu_header",id="submenu_body",id="content"のように 仕様書には、明確に『DIV要素とSPAN要素は、id属性及び class属性と併用することで、文書に構造を付加するための一般機構を提供する。( http://www.asahi-net.or.jp/%7Esd5a-ucd/rec-html401j/struct/global.html#h-7.5.4 )』と書かれています。これは、明らかに誤用です。HTML5では、この誤用の反省から、『文書をよりよく構造化するために、(header,section,footer,aside,figure,navなど)の要素が新しく追加されました。( http://standards.mitsue.co.jp/resources/w3c/TR/html5-diff/#new-elements )』 headerはsectionなどと組み合わせて一塊の記事集合のheaderを示しますから、文書内に何度も登場する可能性がありますから、くかもり4.01でしたら<div class="header">とclass名でしょう。 id="submenu_body" id="content" これらは<div class="section">でしょうね。