コーディングルールについて。
グーグル、モジラなど色々ありますが。現場では、独自のルールを使っていますか?
色々見てみたのですが、結構疑問点もありどれが現場では正しいか迷っています?
・Media queryの記述場所は、ベースのソースの後ろが一般的だと思いますが、下記のようなやり方を推奨しているところがありました。
コーディングガイド by @mdoより
Media queryの記述場所可能な限り、media queryはそれが関係する要素の近くに記述すること。別のファイルにまとめたり、ファイルの最後にまとめたりしないこと。そうすると将来的に誰かが見落とす可能性が高くなるだけだ。
.element { ... }
.element-avatar { ... }
.element-selected { ... }
@media (min-width: 480px) {
.element { ...}
.element-avatar { ... }
.element-selected { ... }
}
・クラス名は、BEMなどを使っていますか?
それとも、下記のサイトのように、一般的に使われているクラス名を使うのが一番でしょうか?
http://www.css-lecture.com/log/convenience/001.html
・HTMLの属性を書く順序は下記ので問題ないでしょうか?
CSSの定義をアルファベット順にした後、HTMLの属性を書く順序についてずっと考えていた。アルファベット順だとわかりやすいが、非常に読み解きづらくなる。そういった点での読みやすさだけでなく、必須属性を書き忘れないようにもできたら良いのかなと色々考えている。
今のところ以下のような順序が良さそうだと感じている。
1. id属性 2. class属性 3. style属性 4. 他属性をアルファベット順で 5. WAI-ARIA (role属性とaria-*属性) 6. data-*属性 7. Microdata (item*属性)
id属性とclass属性を先頭にするのはCSSとの兼ね合いで、これらだけ知りたいというケースが多いからだ。使われることが多いclassが前の方が効率的だろうと思われるが、一意に確定されるidの強さを先頭にすることで表現したい。style属性を使うならclassと離して書くのは良くなさそうなのでこれらに続けて書く。できる限り使わない方が良いのは言うまでもない。
続けて普通の属性をアルファベット順で書くようにする。必須属性の位置が安定しないため、書き忘れを防げないようだが、必須かどうか自体が安定して いない。そこで全体的な順序をアルファベット順に固定することで、必須属性が欠けている時に違和感が生じるように、という考えでこうした。
さらにHTML要素の振る舞いを変更または最適化することになるWAI-ARIAの属性を書いていき、最後に補完的な意味合いの強いdata-*属性とMicrodataを追加する。
条件が多すぎるので他の人が受け入れられるようなものではなさそうだ。アルファベット順、ただしclass属性だけ先頭にするという辺りが落とし所として無難に思える。
・CSSのプロパディの順番は、abcd順それとも、モジラのルールである、同じ意味合いのプロパティをまとめる形でしょうか?
プロパティの並び順
01/* Suggested order:
02 *
03 * display
04 * list-style
05 * position
06 * float
07 * clear
08 * width
09 * height
10 * margin
11 * padding
12 * border
13 * background
14 * color
15 * font
16 * text-decoration
17 * text-align
18 * vertical-align
19 * white-space
20 * other text
21 * content
22 * CSS 3
23 */
基本的にmozilla.org Base Stylesに準拠して書いています。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2015/07/22 05:30
退会済みユーザー
2015/07/22 05:49