Webはブロック、要素、およびバリエーションから構成されます.
本文は「堅牢なUIデザインの寸法ガイドby鄭燦明|クイックキャンパス」課の総括である.
Naming things
https://www.w3.org/TR/selectors/ https://specificity.keegan.st/
https://cssstats.com/はCSSコレクターの使用状況を評価するサイトです.
BEM State 2020(満足度:81.84%)
ブロック再利用可能な独立ブロック Elementブロックを構成する従属子要素 Modifierブロックまたは要素の変形(形状、状態、動作)
参考資料:https://en.bem.info/ セマンティッククラスセレクタ命名規則. その他のフォーマットの選択プログラム制限. 戦区唯一の名前をお勧めします. は低選択者特異性を維持する. HTML/CSS接続がばらばらです.パラレル開発可能
参考資料:https://naradesign.github.io/bem-by-example.html の2つの下の欄()はサブ要素 を表す.ハイフン(-)は、ステータス遷移 を表すという名前の要素で、 は1回に1回しか変換できません.
オプション:キーワードの接続方法 PascalCase:大文字順 camelCase:2番目の単語から大文字で始まる(推奨) kebak-case:単語ハイフネーション(-)でタグ を区切ります. Snakecase:単語ベースライン()で区切られたタグ
名前空間接頭辞の使用を推奨し、camelCaseの例を使用します.
[ブロック](Block)には、必ずしも要素や変形が必要ではありません.意味論起名法で読むと分かりやすいです. の辺鄙な名前は略語を使わない. の特異性は「020」よりも小さく維持される. 選択者の名前は、グローバル空間において一意である. HTML/CSSは並行して開発可能です. ライブラリタイプで、 を迅速に構築できます.は、 を他の方法とともに使用することができる.スタイルの観点の名前.無意味 スタイルの高さ HTMLコード にリンク HTML/CSSは並行して開発できません. スモールチームまたは単一エンジニアの開発に適しています
Naming things
「コンピュータ科学には2つの難題がある.
キャッシュを無効にし、Phil Karltonと名前を付けます.
ネーミング・ルールを誤って管理したケース
無名
.bx {...}
.cnt {...}
.mt {...}
グローバルスペースのプリエンプトに関する一般的な名前
.content {...}
.button {...}
.top {...}
選択ルールを誤って管理したケース
//reset.css
a { text-decoration: none; }
//local.css
.module a { text-decoration: underline; }
#special.module a { text-decoration: none; } // X
#another#special.module a { text-decoration: underline; } // X
CSSセレクタ固有(セレクタ優先度ルール)
idclass, [attr], :classtype,::element000
a0, 0, 1 -> 001.a0, 1, 0 -> 010#a1, 0, 0, -> 100#a a1, 0, 1, -> 101#a a a1, 1, 1, -> 111#a#b[href]::before2, 1, 1 -> 211
コメントリンク
.bx {...}
.cnt {...}
.mt {...}
.content {...}
.button {...}
.top {...}
//reset.css
a { text-decoration: none; }
//local.css
.module a { text-decoration: underline; }
#special.module a { text-decoration: none; } // X
#another#special.module a { text-decoration: underline; } // X
CSS selector specificity
https://cssstats.com/はCSSコレクターの使用状況を評価するサイトです.
BEM State 2020(満足度:81.84%)
BEMの命名規則
参考資料:https://en.bem.info/
BEM特性
参考資料:https://naradesign.github.io/bem-by-example.html
BEMの命名規則
.block {}
.block__element {}
.block__element--modifier {}
.block-modifier {}
区切り記号(、--)以外の1~3種類の記述子フォーマットは許可されません.BEMの選択
オプション:キーワードの接続方法
BEM適用例
名前空間接頭辞の使用を推奨し、camelCaseの例を使用します.
.lzModal{}
.lzModal__title{}
.lzBtn{}
.lzBtn--small{}
다른 라이브러리와 공존 가능
BEM例
[ブロック](Block)には、必ずしも要素や変形が必要ではありません.
// 단순 블록 O
<button class="btn">
[変形](Deformation)は、ブロックまたは要素のスタイルを拡張します.// 변형 추가 O
<button class="btn btn--submit">
<em class="info__label info_label--warning">
変形クラスは排他的に使用できません.常にブロックまたは要素とともに使用されます.// 변형 단독 X
<button class="btn--submit">
// 변형 추가 O
<button class="btn btn--submit">
<em class="info__label info_label--warning">
「選択者特異性」が向上したオーバーラップ構造であり、タイプ選択者はanti-patternである.// X
.photo {} /* 특이성 10 */
.photo img{} /* 특이성 11 */
.photo figcaption{} /* 특이성 11 */
制御するすべての要素にクラス名を付けます.管理特異性.// O
.photo {} /* 특이성 10 */
.photo__img{} /* 특이성 10*/
.photo__caption {} /*특이성 10 */
ブロック/要素名の省略を禁止します.要素/変形名の重複を禁止します.// X
.__elem {}
.--modi {}
.block__elem1_elem2{} //elem이름 두번 작성 x
.block--modi1-modi1{}
Summary
Atomic/Utility First CSSのメリット(2番目のメリット)
Reference
この問題について(Webはブロック、要素、およびバリエーションから構成されます.), 我々は、より多くの情報をここで見つけました https://velog.io/@dev_jihee/웹은-덩어리-요소-변형으로-구성되어있다テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol