
在本文中,我们将深入探讨 bem(块、元素、修饰符) 方法,这是一种流行的 css 命名约定,可帮助您为大型项目编写干净、结构化且可维护的 css。 bem 确保您的代码随着项目的增长保持可扩展性,并减少风格冲突的可能性。
bem 代表:
bem 方法强调创建可重用、可预测和可维护的 css 代码。
.block {}
.block__element {}
.block--modifier {}
让我们用一个例子来分解bem的结构。
立即学习“前端免费学习笔记(深入)”;
<div class="menu">
<ul class="menu__list">
<li class="menu__item menu__item--active">home</li>
<li class="menu__item">about</li>
<li class="menu__item">contact</li>
</ul>
</div>
在此示例中:
块是一个独立的、可重用的组件。将其视为一个独立的实体,可以放置在代码中的任何位置,而不必担心其样式受到其他元素的影响。
.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;
}
让我们看一个更完整的示例,其中包括块、元素和修饰符:
<div class="card">
<div class="card__header">
<h2 class="card__title">card title</h2>
</div>
<div class="card__body">
<p class="card__text">this is a simple card component.</p>
</div>
<div class="card__footer">
<button class="button card__button card__button--primary">read more</button>
</div>
</div>
/* 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 有序、可预测和可扩展的强大方法。通过将组件分解为块、元素和修饰符,您可以维护更清晰的代码并避免样式冲突,从而使您的项目开发更快、更高效成长。
里多伊·哈桑
以上就是CSS BEM 模型 – 编写可扩展和可维护的 CSS 指南的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号