css - 如何使用:has in sass

标签 css sass

如果 body 有一些带有 .rtl 类的元素,我需要添加一些样式。 怎么可能做到?

body:has(.app.rtl) {
   .blah {
       some: blah;
   }
}

这是我需要的东西

最佳答案

使用 CSS 无法完成您想要的操作,因为 CSS 没有父选择器,目前也没有 :has 选择器。

SASS 也帮不了你,因为 SASS 能为你做的就是让编写 CSS 更容易——最终任何预处理器都会将你的代码编译成 CSS,这是浏览器唯一能理解的。 这里(仍然)唯一的跨浏览器解决方案是 Javascript。

编辑 2022 年夏季:截至目前,Safari supports :has(), and Chrome has support behind an experimental web platform features flag . Firefox 正在为此努力。

您的样式将如下所示:

body:has(.app.rtl) .blah {
    some: blah;
}

关于css - 如何使用:has in sass,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54793922/

相关文章:

css - 如何掩盖椭圆形 div 静态内容的 Angular 落?

javascript - 随着内容的增长向下推页脚

css - 使用转换隐藏内容时让以下内容折叠

css - 在 Mozilla 而不是 Chrome/Edge 上可见边框半径为 50% 的 div 上的框阴影

jQuery toggle next ul li 基于图标点击

html - Fontawesome 将关闭的文件夹更改为打开的文件夹

html - 填充边距组合如何在 Bootstrap 中的 navbar-header 类上工作?

css - webpack 的 sass-loader 找不到没有下划线前缀的基础 scss 文件

sass - 在 svelte 上运行 Storybook 时出现 scss 解析错误

html - CSS 动画 slider