gpt4 book ai didi

css - 带有 SASS 和 :hover 的 BEM

转载 作者:技术小花猫 更新时间:2023-10-29 11:05:04 24 4
gpt4 key购买 nike

使用带 SASS 的 BEM 声明事件/焦点/悬停状态的正确方法是什么?例如,我有这样的结构:

<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 {
}
}

我想在悬停在 block 上时修改元素。这不起作用:

.card {
&__overlay {
display: none;
}

&:hover {
&__overlay {
display: block;
}
}
}

并且只为这个实例编写整个 .project__image 似乎是错误的。

还有其他方法可以实现吗?

最佳答案

您可以使用 Sass ampersand selector 获得所需的结果, 不使用变量或插值。

Referencing parent selectors by using the ampersand (&) can be a powerful tool, if used right. There are simple uses of this feature as well as some very complex uses of this feature.

例如:

.card { 

&__overlay {
display:none;
}

&:hover & {
&__overlay {
display: block;
}
}
}

结果:

.card__overlay {
display: none;
}

.card:hover .card__overlay {
display: block;
}

此代码使用较少的语言结构(例如,不使用变量或插值),因此可以说是一个更清晰的实现。

关于css - 带有 SASS 和 :hover 的 BEM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34021910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com