CSS 初心者と上級者
CSSについて考えていたら、CSSには上級者や初心者といった扱う人のスキルって成り立つんだろうか?
という疑問がかすめた。
CSSが上手になるためには、どうすればいいのだろう?と考えたからなのですが、
以下のようなお手本のようなスタイル規則もあれば、
dl { border:1px solid #999; width:390px; } dt { float:left; width:100px; padding:5px 0 5px 10px; clear:both; font-weight:bold; } dd { width:260px; margin-left:100px; padding:5px 5px 5px 10px; border-left:1px solid #999; }
ミショニポーのdl element horizontal layoutのスタイル規則
似たようなことをやろうとしているのに、指定の仕方がぜんぜん違う。
最良の方法は? 等と、と思ってしまうわけです。
ddエレメントで、overflow:hidden;を使うか、margin-leftを使うかの違いなのですが、
どちらも、動作の違い(ddの連続)はあるけれど、使えるっていえば使える
思い通りの規則集合が作りさえ出来れば、それでいいし、間違っていれば、ブラウザは、無視してくれる。
これでいいのかな、
1000個間違えている初心者と、パーフェクトな上級者は、同じ結果になる。
1つの間違いにも気づくことが出来ない初心者は、上級者になれない。
もっと大きくクラスやidの使い方にしても、
局所的な(例えば、ID等の詳細度の高い)、規則集合は、汎用性は考慮しないから、そのような考え方で作成したCSSは、どんどん量が膨らんでいく。
oocssのように、idを使わないで、classを使いまわしていくような手法を見ると、今までのやり方に疑問も沸く、
(oocss)
ただ、1000箇所に適用したクラス指定を、変更したい場合 すべての表示が正常に行われているかどうかを調べるのは、大変そうで、「結果オーライ依存」でスタイル指定をしている人は、手ひどい目にあうかもしれない。
自分の作ったhtmlなら、1000行あっても読むだろうが、他人の作ったものならば、読む気にもならない
それより、普段からネガティブマージン系のレイアウトをしている人からすれば、overflow:hidden;
「なんじゃこりゃ」になるだろう。
横柄な態度で、「これ、俺流すか?」なんて、いわれた日には、私など顔真っ赤にして消え去る
また、ブラウザのバグ対応のhackもあるから、スクリプトなどと違って、理屈じゃ処理できない。
余談
ところで、日本語クラス名使っちゃおうかな。などと思い始めて、試作品作ってみましたので、公開してしまいます。
常用漢字に1945収録して、spanでクラス指定したものを、フォームから入力された文字を含むクラス名をjqueryからハイライトしています。
Starting Template
何で日本語なんて使うんだよ。という人もいると思いますので、具体例を挙げておきます。wordPressの一部のテーマファイルでは(「詳しくは、ブログミニマリズムのエントリを見てください。」)以下のような、classを吐き出します。
<body class="wordpress y2009 m09 d24 h11 home blog loggedin">
この部分は、自分でカスタマイズできますから、例えばタイトル等も簡単に入れることが出来ます。
クラスに日本語を使うことは、許されていますから、クラスを使うjavascriptやcssがうまく動作してくれれば、タイトルの記述に応じた表現を行うことが出来ます。
ワードプレスの場合には、これまでカテゴリごとにデザインを変えるとか、写真を入れ替えるとかというカスタマイズが行われており、より柔軟に、タイトルや内容に見合った表現が出来るかもしれないと思ったわけです。
解らないところ
日本語フォント入っていないパソコンでそのページ見るとどうなるんだろう??
※chromeだと、漢字の表示のところおかしいですけど、許してください。