关于bem写法问题

关于bem写法问题

    <!-- .nav>.-item|bem写出来的是 -->
    <div class="nav">
        <div class="nav__item"></div>
    </div>

    <!-- 如果我想写成下面的样子,bem该怎么写? -->
    <div class="nav">
        <div class="nav__item">
            <div class="nav__item__aaa"></div>
        </div>
    </div>
请查看注释中的提问,我试过了,如果写成.nav>.-item>.-aaa|bem,那最里面的div是nav__aaa,没办法变成nav__item__aaa,老师帮忙指导下

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学你好,

nav__item__aaa是不能这样定义的。

nav是一个模块,item是模块中的元素,元素的名字与模块的名字使用双下划线分隔(__),所以nav__item这样写是可以的。

而aaa是item中的内容,item是一个元素,不是一个模块,所以不能使用__。

有两种方式,第一种可以写成同学这样:

.nav>.-item>.-aaa|bem

第二种写为:

.nav>.-item>.-item-aaa|bem

效果:

http://img1.sycdn.imooc.com//climg/5d8f333b096bf0b504730126.jpg

自己可以测试理解下,祝学习愉快!

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
响应式开发与常用框架 2018
  • 参与学习           人
  • 提交作业       2198    份
  • 解答问题       5012    个

如果你有web端基础,既想进阶,又想进军移动端开发,那就来吧,我们专题为你带来的课程有HTML5、CSS3、移动基础、响应式、bootstrap、less等,让你在前端道路上畅通无阻!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师