この記事では、BEM (ブロック、要素、修飾子) 方法論について詳しく説明します。これは、大規模なプロジェクト向けにクリーンで構造化された保守可能な CSS を作成するのに役立つ、一般的な CSS 命名規則です。 BEM は、プロジェクトが成長してもコードのスケーラビリティを維持し、スタイルの競合の可能性を減らします。
BEM の略:
BEM 手法では、再利用可能、予測可能、保守可能な CSS コードの作成に重点が置かれています。
.block {} .block__element {} .block--modifier {}
例を挙げて BEM の構造を詳しく見てみましょう。
この例では:
ブロックは、独立した再利用可能なコンポーネントです。これは、スタイルが他の要素に影響されることを気にせずに、コード内のどこにでも配置できる自己完結型エンティティと考えてください。
.button { padding: 10px 20px; background-color: #3498db; color: white; border: none; }
ここで、.button はボタン コンポーネントのスタイルを定義するブロックです。このブロックはウェブサイトの複数の部分で再利用できます。
要素は、独立した意味を持たないブロックの一部です。ブロックに関連付けられており、ブロックに関連する機能を実行するために存在します。
.button__icon { margin-right: 10px; } .button__label { font-size: 14px; }
ここ:
修飾子は、ブロックまたは要素のバリエーションを表します。モディファイアは、ボタンの色の変更や要素の拡大など、コンポーネントの外観や動作を変更するために使用されます。
.button--primary { background-color: #2ecc71; } .button--large { padding: 15px 30px; }
ここ:
修飾子は要素にも適用できます:
.button__icon--small { width: 10px; height: 10px; }
ブロック、要素、修飾子を含むより完全な例を見てみましょう:
Card Title
This is a simple card component.
/* Block */ .card { border: 1px solid #ddd; padding: 20px; border-radius: 5px; } /* Elements */ .card__header { margin-bottom: 15px; } .card__title { font-size: 18px; color: #333; } .card__body { margin-bottom: 15px; } .card__text { color: #666; } .card__footer { text-align: right; } /* Modifier */ .card__button--primary { background-color: #3498db; color: white; }
この例では:
BEM 手法は、CSS を整理し、予測可能でスケーラブルに保つための強力な方法です。コンポーネントを ブロック、要素、修飾子に分割することで、よりクリーンなコードを維持し、スタイルの競合を回避し、プロジェクトの開発をより迅速かつ効率的に行うことができます。成長します。
リドイ・ハサン
免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。
Copyright© 2022 湘ICP备2022001581号-3