使用 BEM 和 Sass 悬停时的 CSS 过渡

标签 css sass bem

我正在尝试执行 CSS 转换(opacity:0opacity:1 并进行愉快的转换)- 我正在编写 Sass 并使用 BEM。

我希望利用兄弟运算符 + 以便我可以维护我的 Sass 嵌套 BEM 结构。

当用户将鼠标悬停在 .price__text 上时,我想将其兄弟元素 .price__tooltip 的不透明度设置为 1

这里以我的SCSS为例

.price {
    &__text {
        [...]
    }
    &__tooltip {
        transition: all 0.2s ease-in;
        opacity: 0;
        [...]
        &+ .price__text:hover {
            opacity: 1;
        }
    }
}

我认为 SCSS 中的最后一个选择器 &+ .price__text:hover 会检测到当兄弟 .price__text 具有 :hover psuedo class 它将使当前选定的元素 .price__tooltip 具有 opacity:1 - 但这似乎不正确。

最佳答案

尝试这样的事情:

.price__tooltip {
    transition: all 0.2s ease-in;
    opacity: 0;
    [...]
}
.price__text:hover {
      &+.price__tooltip{
        opacity: 1;
      }
}

有了这个,当 .price__text 处于悬停状态时,兄弟 .price__tooltip 应该将他的不透明度设置为 1。

关于使用 BEM 和 Sass 悬停时的 CSS 过渡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40655425/

相关文章:

php - 使用 Laravel 5.5 从 Bootstrap 3.3.7 迁移到 4.0

css - BEM 中附加了 CSS 的所有东西都需要一个类名吗?

移动网站上的 CSS 问题

javascript - 在我的 React 应用程序中出现解析错误

html - 标签高度问题

css - Angular Material 主题覆盖

haml - 可能在Sass中定义一个数组?

css - 如何从父级扩展 scss(在 BEVM 的情况下)

css - 使用 BEM 时,将 block 嵌套在其元素内是否不合逻辑?

javascript - 无法在 iOS 中定位点击的元素