html - css BEM 概念
问题描述
我试图绕过 CSS 的 Block-Element-Modifier 概念,我有点困惑。这是一个示例代码
<div class="block">
<div class="block-header">
<h3>Block Title</h3>
</div>
<div class="block-content">
<p>Lorem Ipsum</p>
</div>
<div class="block-footer">
<p>Footer</p>
</div>
</div>
我的理解是 .block、.block-header、.block-content 和 .block-footer 类是 BEM 概念的块(如果不是,请纠正我)但是什么是<h3> and <p>
块或元素?
它只是打动了我,所以编辑了这个问题,
如果两者<h3> and <p>
都是块(如果是的话)这两个标签的元素可能是什么?
再次编辑
这是html中的代码块
<div class="block">
<div class="block-content">
<div class="user-image"> <img class="user-image__image" src="image/1.jpg" alt=""> </div>
<div class="user-meta">
<h3 class="user-meta__username user-meta__username-red"> Trump </h3>
</div>
<ul class="nav">
<li class="nav__item nav__item_active"><a class="nav__link">One</a></li>
<li class="nav__item"><a class="nav__link">Two</a></li>
<li class="nav__item"><a class="nav__link">Three</a></li>
</ul>
</div>
</div>
你能否通过上面的代码,让我知道这是否正确,
.block, .block-content, .block-image, .user-meta and .nav
是 BEM 的块user-meta__username and nav__item
是 BEM 的元素。user-meta__username-red
是 BEM 的修饰符。
解决方案
BEM 遵循block__element--modifier
给出示例的命名约定
<ul class="menu">
<li class="menu__item menu__item--active"></li>
<li class="menu__item"></li>
<li class="menu__item"></li>
<li class="menu__item"></li>
</ul>
方块 - menu
, 元素 - menu__item
, 修饰符 -menu__item--active
推荐阅读
- javascript - 有没有办法从“mysql”数据库中获取数据并在我的 javascript 文件中使用它?
- html - 如何在角度中使用formGroup在选择中设置选项?
- opencv - 如何在 JavaCV 中进行人脸对齐?
- xamarin - 在 Xamarin.Forms 上检索列表视图数据问题
- c# - 在iis中发布时遇到问题,会话变量正在消失(c#)
- php - 如何在会话中正确存储数据
- php - SMTP PHP不发送邮件
- c# - 在 Rx 中观察缓冲和分组输入
- c++ - 是否有一个函数可以迭代一个向量而不考虑它的类型?
- javascript - 在 Tampermonkey 中模拟 Enter 和发送输入