ガイドラインの類をいったん下げました。CSSについては色々と専門サイトをあたって検証してみましたが、俺の書いたことめちゃくちゃ。orz もうちょっと学びなおします。XHTMLは、CSSやPHPをまとめて一つのページを作るというようにしたほうが分かりやすいのではないかと思って下げ。このページでXHTMLとCSSとPHPは切っても切れない関係なので、個々に説明していると余計分かりにくいかなと。
あと、CSSについて。セレクタや擬似要素・擬似クラスなどの要素を改めて見直してみると、CSSの表現力の豊富さに今更ながら驚きました。俺が悩んでいる上部インデックスのレイアウトとか、display:table;とdisplay:table-cell;で済んでしまうしな。言うまでもなく、その要素をテーブル(セル)として扱うプロパティですが、フロートより全然いい。以前悩んでいた子要素を全てフロートすると親のサイズが狂うという問題、どうもあれ、仕様みたいです。フロートした子要素は親のサイズ算出に影響を与えない、ってCSSの仕様にあるそうです。なので、フロートプロパティを使った擬似テーブル化は何かと問題が出てくるんですが、これを上記のdisplay:table;などのプロパティで指定すればいいんですよ。そうすればテーブルタグを使わずに既存のタグのままテーブルのレイアウトがでk
IEのヘボCSS実装がまた邪魔じゃぁぁぁぁぁぁぁ(ノ゚Д゚)ノ ┫:・’.::・┻┻)`ν゚)・;'.、:・’.
display:table;をIE6は解釈できません。終わってます。本気でIEを見限ってやろうかと思うのですが、中途半端にCSSを解釈しやがってくれるのでインデックスが灰色背景に白文字という有様。さすがにこれはアクセシビリティに問題を感じるし。いっそIEはCSSを読み込まないようにしてやろうかと思う。HTMLだけ読んでおけと。けど、来てくれた人がドン引きしそうなのでやっぱり完全にカットアウトってできないんだよね……。
まぁdisplay:table;などはCSS2で実装された新しいプロパティでもあるし、現状ではこのCSS2を完全に仕様どおりに動かせるブラウザはないわけで。OperaでもFirefoxでも少しおかしいしね。今はfloatとwidthとheightを組み合わせたレイアウトをするしかないようです。CSS2の実装がまともになり始めたら、displayプロパティをふんだんに使ってやりたい。
Comment