【发布时间】:2016-03-05 11:09:09
【问题描述】:
使用 BEM 和 SASS 声明活动/焦点/悬停状态的正确方法是什么?例如,我有这样的结构:
<div class="card">
<img class="card__image" src="..." alt="">
<div class="card__overlay">
<div class="card__title"></div>
</div>
</div>
还有 SCSS:
.card {
&__image {
}
&__overlay {
}
&__title {
}
}
我想在悬停在块上时修改元素。 这不起作用:
.card {
&__overlay {
display: none;
}
&:hover {
&__overlay {
display: block;
}
}
}
只为这一个实例写完整的.project__image 似乎是错误的。
有没有其他方法可以做到这一点?
【问题讨论】:
-
这里的问题究竟是什么?如果您查看编译结果,答案似乎很明显。如果您仍然不明白 CSS 出了什么问题,请尝试通过验证器运行结果。
-
它有效。检查this。
-
这是第二个代码部分不起作用,而不是第一个。具有悬停状态的那个。
-
“不起作用”并没有说明问题所在。 importblogkit.com/2015/07/does-not-work
-
对不起。它不起作用,因为它编译为
.card:hover__overlay而不是所需的.card:hover .card__overlay。