class・idがある場合はCSSセレクタにはタグ名を入れない方が高速になるので、
タグ名を入れない方が良いとされているのだと思います。
CSSのセレクタは、右から左に判別していきます。ですので
これは、foo
というクラスを探すだけですが
タグ名をつけると、foo
というクラスを探した後で、その中でaタグであるものを探すします。
探す回数が多いのでその分遅くなります。
順番に探していくので子孫セレクタも当然遅いです。
css
1div#main ul.navList li {}
これは liタグを探して、その親がnavListクラスを持っている要素を探して、その上でulタグのものを... となりますので、いっそliタグにクラス名を付けて
とする方が断然高速になります。
と言っても。
セレクタでスタイルが当たる範囲を絞り込んで無い分、HTMLとCSSの設計には注意しなければならなくなります。作業効率やメンテナンス性・可読性などを考慮すると、高速なセレクタ至上主義が絶対的に正しいとは言い切れない部分も出てきますので、このプロジェクトではどう書くかというコーディングルールを選択・作成すれば良いのではないかと思います。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/09/07 07:50
2015/09/07 08:33