css - 变量动态分配给第 nth-child

标签 css sass

我正在尝试使用 SASS 完成一项非常简单的任务: 我想要我所有的 h2strong奇数内的标签 <li>元素有一些颜色,否则如果它是偶数 <li>他们会得到另一种颜色。

我这样做了,但它不起作用,只有第一种颜色有效(cf5d18):

li{
    $color: #cf5d18;

    &:nth-child(odd){
        $color: #739337;
    }

    h2{
        font-size: 1.7em;
        color: $color;
    }

    strong{
       color: $color;
    }

}

你们知道我该如何处理吗?

最佳答案

变量不是那样工作的——奇数/偶数测试发生在浏览器中,在渲染时。不管那个变量有一个值还是另一个值。

我会选择更直接的路线:

$evencolor: #cf5d18;
$oddcolor: #739337;

li {
  h2 {
    font-size: 1.7em;
  }

  h2, strong {
    color: $evencolor;
  }

  &:nth-child(odd) {
    h2, strong {
      color: $oddcolor;
    }
  }
}

示例:http://codepen.io/paulroub/pen/ZYwdzE

关于css - 变量动态分配给第 nth-child,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29281052/

相关文章:

node.js - 命令行中的 Node-sass includePaths?

css - 带有 float 元素的背景色

php - 在 CSS 中缓存 Busting 图像

javascript - 我怎样才能使 jquery.css 不具有动画效果,而是立即进行更改?

css - SCSS Ampersand 已编译的完整根元素不仅是父元素

css - SCSS/Sass : How do i change a mixin to output specific CSS?

html - onclick 叠加效果

jquery - 在 css 或 jquery 中隐藏列表的其余部分

css - Webkit 动画仅将矩形 div 的右边缘向左移动

css - 一侧倾斜的div