html - 使用 BEM 和 Less 时,如何在子元素上应用悬停选择器?
问题描述
这是我第一次在同一个项目中使用 BEM 和更少。
我目前遇到了一个问题,&:hover
并试图定位一个子选择器。
我了解了 less 工作方式的要点,并且我知道为什么这不起作用,但我不明白我将如何修复它。
目前我有以下
.sidebar {
&__item {
&:hover {
background: rgba(0,0,0,.06);
&-name {
color: @primary;
}
}
}
}
如您所见,问题出在&-name
选择器上。
DOM 的当前结构是这样的......
ul.sidebar
li.sidebar__item
a
span.sidebar__item-name
当我将鼠标悬停在sidebar__item
我想在项目和孩子上触发悬停效果时。
解决方案
加上&_item-name
,&__item
所以你会得到预期的结果!
.sidebar {
&__item {
&-name {
&:hover {
background: rgba(0,0,0,.06);
}
}
}
}
快乐编码!
推荐阅读
- ssl - 如何重现成功的 openssl_verify
- javascript - javascript生成的CSS类不应用样式
- node.js - 使用 mongodb atlas 的跨域请求阻止了 Node Js
- excel - 尝试将列中的单元格与数组进行比较,如果不匹配则隐藏单元格的行
- garrys-mod - Sending object through http.Post() not working
- javascript - 域感知反应路由器
- html - HTML解析器到csv,输出文件夹中没有结果
- html - Bootstrap 4如何使用css通过清除按钮颜色更改来更改输入搜索
- selenium - Selenium, Robot framework 使用这个我们必须点击下面描述的按钮
- python - 用于在 .txt 文件中添加逗号并将 ASCII 值组织成行的自动化脚本?