ホームページ > 記事 > ウェブフロントエンド > Mozilla が推奨する CSS 属性の記述順序と命名規則_html/css_WEB-ITnose
传说中の Mozilla 推荐
Java代码
来源:
Java代码
http://www.mozilla.org/css/base/content.css
在怿飞のブログのこの篇文章里、又将上の属性表示プロパティ、自己プロパティ、およびテキスト プロパティの 3 つのグループに分かれています。 戻って、これとブラウザの解析手順が関係します。 ブラウザは、まず DOM 位置を確認し、次に自身のプロパティを解析し、次に内部オブジェクトを再解析します。
Mozilla オフィシャルで、いかなる CSS 記述シーケンスも推奨していません。
字母序列
NETTUTS 上に時折良い文章がありません、前不休、Trevor Davis が共有一篇:より良い文章を即座に書くための 5 つの方法CSS。
利点は次のとおりです: 絶対的、誰でも遵守する、一視明白。アンディ フォード推奨の順序
アンディ フォードは HTML と CSS の分野の専門家であり、最近一篇の文章を書きました: Order of the Day: CSS プロパティ。 文章推荐的CSS书写顺序:
Java代码
アンディの順序は、fantasai が推奨する順序とほぼ一致していますが、細部はより操作しやすくなっています。
SitePoint には非常に活発なディスカッション スレッドもあります: 宣言ブロック内でプロパティをどのように並べますか?
ファンタジーとアンディの書き込み順序は気に入っていますが、ファンタジーの順序では "self" 属性が少し異なります。あいまいで、アンディは詳細すぎて思い出すのが困難です。 CSS 2.1 仕様の CSS プロパティの分類から学んで、Andy の順序を少し調整できると思います。
1. ドキュメント フローに影響を与えるプロパティ (表示、位置、フロート、クリア、可視性、テーブル レイアウトなど) .)
2. 独自のボックス モデルのプロパティ (幅、高さ、マージン、パディング、境界線など)
3. 植字関連のプロパティ (フォント、行の高さ、テキスト整列、テキストなど) -インデント、垂直揃えなど)
4. 装飾属性 (色、背景、不透明度、カーソルなど)
5. コンテンツ生成属性 (コンテンツ、リスト スタイル、引用符など)
次の問題のように、物事は決して単純ではありません:
1. 速記にどう対処するか?たとえば、 border: 1px sold red; ここで、border-width はボックス モデルに関連しますが、border-color は装飾的なものです。どのように整理すればよいでしょうか?
2. 肌の変更機能を考慮すると、色、背景、境界線の色などの色に関連するアイテムはまとめられるべきですか?将来の変更を容易にするため。
3. ハッキングにどう対処するか? CSS ファイルの最後に単独で置くのが良いでしょうか、それともハック属性の隣に置くのが良いでしょうか?
4. 同僚の CSS ファイルを管理する場合、新しく追加または変更された属性についてどのようにコメントすればよいですか?書き方?
5. また、CSS Sprite を考慮して、背景画像セレクターはすべてまとめて配置されますか?ただし、CSS セレクター内のプロパティの順序と構成については、この記事の範囲を超えています。
6. さらに議論するのは、CSS ファイル内の構造的な構成と、複数の CSS ファイルの構成です。
CSS 命名規則:
CSS には、他のプログラムと同様に、グローバル効果とクラスローカル効果を持つスコープの概念があります。
例:
p{background:#f00;}/* Scope: global*/
.div p{color:#000;}/* Scope: inside div class*/
はじめに いくつかの書き方の比較CSSのメソッドと重み
1) ラベル: 重み値が0,0,0,1
2) クラス: 重み値が0,0,1,0
3) 属性選択: 重み値が0,0 ,1,1
4) ID:重みの値は0,1,0,0
5)重要な重みの値は1,0,0,0まで
CSSを書いているときはそう思う, プロジェクトが比較的大きく、多くのコンテンツが含まれている場合、名前付けは頭の痛い問題であり、ブロックでさまざまな状態のスタイルを表現する必要があるため、名前付けルールをマスターすることは、少ない労力でより効率的に作業できる強力なツールです。おおよそ次のとおりです: (転載元: http://www.cssforest.org/blog /index.php?id=143, you can go here to read more Technical Articles)
次のようなときに名前の意味が失われないようにするためです。状態が変化する場合、最も一般的なのは、「left」や「right」など、レイアウトに使用されるクラス名です。左の列が左の列でなくなると、「left」という名前は実質的な意味を持ちません。これは「意味のある名前を付ける」という私たちの推奨に反しており、シリアル番号を使用することにはさらに問題があります。それは本当のようですが、長い間私を悩ませてきた問題がありました。同じモジュールがページ内に複数回表示され、詳細が異なる場合、後続のモジュールの名前は何と呼ぶべきですか? 「1」と「2」って連番じゃないの?実際、状態 (パフォーマンス) が変化しても、対応する定義済みのクラス名の意味が失われることは避けたい状況です。
いわゆるステータス (パフォーマンス) が変化する状況はいくつかあります。
1. HTML は変更されず、スタイル定義が変更されます。 「red」や「font14」など、ある状態を表す名前を使用すると、必然的に定義とネーミングに齟齬が生じ、その後の影響が比較的大きくなります。
2. スタイル定義は変更されませんが、HTML は変更されます。 HTML の変更は、クラス名を置き換えることができることを意味します。つまり、クラス名に特定の状態を表す名前が使用されている場合、変更がより容易になります。
3. スタイル定義と HTML の両方が変更されました。最初のシナリオのような結果にならないように考慮してください。
実際の状況は、単に特定の状況ではなく、状況が混在していることが多い。
ルール
[モジュールプレフィックス] _ タイプ _ (関数 | ステータス) n _ [位置 n]
凡例の説明:
* (必須): 存在する必要があります。
* [オプション]: ニーズに応じて選択できます。
* |: 複数の中から 1 つを選択します。
* n: 複数存在する可能性があります。
名詞の説明:
モジュール接頭辞
モジュールを定義するときに使用される接頭辞。
Type
クラスのコンテンツタイプを定義します。入力ボックス、テキスト、段落など。
関数
型を補完するために使用されるクラスの関数を定義します。
ステータス
クラスのステータスを定義し、型を補足するために使用されます。
位置
ホームページ、ナビゲーションなど、クラスで使用される場所を定義します。 left や right などの単語の使用は除外されませんが、可能な限り避けるべきです。
* 各項目は独自の略語リストを持つことができ、同じ名前の略語は可能な限り統一する必要があります。
※状態が変化したときに名前の意味が失われないように、特定の状態(色、大きさなど)を詳細に表現しない言葉を選択してください。
* 数字で始まらない小文字 (a ~ z) と数字 (0 ~ 9) で構成されます。
* クラス (.class) の再利用性とオブジェクト (#id) の一意性を確保するため、id に予約語を使用しないでください。
例:
Java コード
中国語説明ネーミング
文字入力box.input_tx 段落文字色.c_tx_p
パスワード入力box.input_pw アルバムポップアップ設定layer.pop_set_photo
ログインパスワード入力box.input_pw_login ログ設定成功プロンプト.hint_ suc_blogset
文字色。 publichint.hint_gb
いくつかの簡単な質問をすると、名前を付けることができます:
1. 「どのような種類の定義ですか?」?? それは入力ボックスです。
2.「型の補足説明」?? 単語の説明がわかりにくい場合は、型、テキスト入力ボックス、input_txの補足説明をします。
3.「どこで使用しますか?」?? 使用する場所はどこですか?ホームページ上の検索テキスト入力ボックス、input_search_index。
「モジュール化」関連の定義方法と組み合わせると、実際には、定義する必要がある名前はそれほど多くありません。 例: 「hint_tx」はプロンプト モジュールのテキスト定義を表し、「hit_tx_hint」はプロンプト内のテキストの強調の定義を表します。色を変更するか太字にするかは、さまざまなプロンプト モジュールのニーズによって異なります。 。