首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >减去css选择器问题

减去css选择器问题
EN

Stack Overflow用户
提问于 2016-09-28 09:49:22
回答 2查看 57关注 0票数 1

我正在使用较少的css,并尝试使用&用于组合多个选择器。我创造了一个虚拟的环境来阐述这个问题。

代码语言:javascript
运行
复制
<div class="ampuse">
    <p>This is first</p>
    <p>This is second</p>
    <div>This is div 1</div>
    <p>This is Third</p>
    <em>This is em</em>
    <div>This is div 2</div>
    <div>This is div 3</div>
</div>

代码语言:javascript
运行
复制
.ampuse{
    p,div{
        color: red;
        &+&{
            background: yellow;
            color: blue;
        }
    }
}

现在,根据较少的规则,这将创建这样的css

代码语言:javascript
运行
复制
.ampuse p,
.ampuse div {
  color: red;
}

.ampuse p + .ampuse p,
.ampuse p + .ampuse div,
.ampuse div + .ampuse p,
.ampuse div + .ampuse div {
  background: yellow;
  color: blue;
}

但是我只想渲染父元素一次,然后选择器应该在子元素下工作。这是我想要的css

代码语言:javascript
运行
复制
.ampuse p,
.ampuse div {
  color: red;
}

.ampuse p + p,
.ampuse p + div,
.ampuse div + p,
.ampuse div + div {
  background: yellow;
  color: blue;
}

有人能帮我用更少的钱来实现它吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-28 10:32:04

如我在评论中所述,请使用& + p, & + div回答接受

代码语言:javascript
运行
复制
.ampuse{
    p,div{
        color: red;

        + p,
        + div {
            background: yellow;
            color: blue;
        }
    }
}
票数 0
EN

Stack Overflow用户

发布于 2016-09-28 10:10:40

代码语言:javascript
运行
复制
.ampuse {
    p,
    div {color: red;
        + p,
        + div {
          background: yellow;
          color: blue;
        }
    }
}

使

代码语言:javascript
运行
复制
.ampuse p,
.ampuse div {
  color: red;
}
.ampuse p + p,
.ampuse div + p,
.ampuse p + div,
.ampuse div + div {
  background: yellow;
  color: blue;
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39743859

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档