今日、Web製作を生業としている方とお話したときに
* {
margin:0;
padding:0;
}
は、「ハック」だよ。と指摘されました。
私としてはハックとは、ブラウザ毎の表示の違いを逆手にとってレイアウトすることと思ってましたが、*htmlならともかく、* {}はハックでは無いと思ってましたが実際どうなんでしょうか?
私は上記の通り、意見を伝えては見たものの、自信を持って * { }はハックと改めて言われたので、混乱してます。
ハックということは* { } の仕様はCSS2の仕様書でも推奨されて無いのでしょうか?
どなたか教えてください。宜しくお願い致します。
個人的な感覚に過ぎないのですが、
CSSハックは仰ります通り、各ブラウザの表示のズレを補正するためのコードのこと。
ハックは、あるゴールに対して独創的な解決方法をもって完結すること。
と考えた上で、今回の場合はCSSハックを指すのだと思います。
そしてユニバーサルセレクタ(*)は仕様書に通り
http://www.y-adagio.com/public/standards/tr_css2/selector.html#u...
はん(汎)用選択子というちゃんとしたセレクタです。
今回のブロック( margin:0; padding:0;)では公式文書で推奨も非推奨されていませんし、良し悪しを判断できません。
ただ、レンダリング速度の問題で嫌煙されている一面はあるのだと思います。
ハックは特別なことである必要はなく、上手くやるとか、解決するとか、そういう意味が込められた言葉です。
なので * {margin:0;padding:*;} はある目的をシンプルに解決する方法のひとつなので立派にハックと言えると思います。
言葉の応用?としてライフハックという言葉もあり、これは生活を向上する為の知恵などを指します。
http://b.hatena.ne.jp/t/lifehack?sort=hot
http://d.hatena.ne.jp/keyword/%A5%E9%A5%A4%A5%D5%A5%CF%A5%C3%A5%...
* {} はハックでもなんでもありませんよ。
ブラウザの違いを逆手にとるかどうかは、使用者の使い方というだけであって、
*は正式なCSS2のセレクタの仕様です。
仕様書で言うと、
日本語訳
http://www.y-adagio.com/public/standards/tr_css2/selector.html
のあたりになりますね。
最近は全称セレクタやユニバーサルセレクタと呼ばれることが多いと思います。
個人的な感覚に過ぎないのですが、
CSSハックは仰ります通り、各ブラウザの表示のズレを補正するためのコードのこと。
ハックは、あるゴールに対して独創的な解決方法をもって完結すること。
と考えた上で、今回の場合はCSSハックを指すのだと思います。
そしてユニバーサルセレクタ(*)は仕様書に通り
http://www.y-adagio.com/public/standards/tr_css2/selector.html#u...
はん(汎)用選択子というちゃんとしたセレクタです。
今回のブロック( margin:0; padding:0;)では公式文書で推奨も非推奨されていませんし、良し悪しを判断できません。
ただ、レンダリング速度の問題で嫌煙されている一面はあるのだと思います。
ありがとうございます。
なるほど、ハックという言葉に色々意味があるって考えれば「解釈の違い」ということで片付けられそうですかね。
なんか頭がすっきりししました。
ありがとうございます。
なるほど、ハックという言葉に色々意味があるって考えれば「解釈の違い」ということで片付けられそうですかね。
なんか頭がすっきりししました。