css - 手写笔选择器内部的过滤

标签 css css-selectors stylus

我有几个 .list 元素,它们都需要红色。在这些 .list 元素中,类 .foo 的元素需要更大的字体,而 .bar 则需要更小的字体。

在CSS中,它会是这样的:

.list {
  color: red;
}

.list.foo {
  font-size: 150%;
}

.list.bar {
  font-size: 75%;
}

Stylus 有没有办法在不使用 .list 三次的情况下获得这个?我知道这有效:

.list
  color red

.list.foo
  font-size 150%

.list.bar
  font-size 75%

我想要类似下面的内容,以便更清楚地表明所有属于 .list 元素的内容,并具有某些约束(.foo. bar) 为特定属性添加。但是,以下代码会选择后代:

.list
  color red

  .foo
    font-size 150%

  .bar
    font-size 75%

Stylus 中是否有语法允许这种结构,即过滤 .list 内的元素,并将某些属性应用于每个“分支”(.list.foo, .list.bar)?

最佳答案

Stylus 使用 & 来引用上一个嵌套级别中的选择器(“父选择器”),类似于 Sass/SCSSLESS 。这显示在 Selectors 中手写笔的引用。

我以前没有使用过 Stylus,但看看以下方法是否适合您:

.list
  color red

  &.foo
    font-size 150%

  &.bar
    font-size 75%

关于css - 手写笔选择器内部的过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8961317/

相关文章:

html - 固定 div 上的宽度继承不起作用

css - 具有许多后代的复杂 CSS 选择器

shell - 将手写笔表编译为单个文件

html - Bootstrap,如何使两个表相同 "width"

jQuery UI(切换)下拉菜单与其他菜单重叠

css - 导入内部 CSS 规则以在同一节点级别附加类

手写笔/笔远离屏幕时的 WPF 手写笔事件

webpack - 将手写笔添加到具有 css 模块的 webpack 2 应用程序

css - 从任何元素中移除顶部边距,首先是在 div 中

html - 如果没有指定宽度,填充从哪里继承长度