【问题标题】:not selector not assigning to img inside child div不是选择器未分配给子 div 内的 img
【发布时间】:2015-02-12 13:13:18
【问题描述】:

我对我网站上的图片应用了一些通用样式规则,例如:

border: 5px solid red;

然后我想对一些 <img> 标记进行不同的样式设置,

但是在页面的 div 中,我不希望 <img> 标记采用这种额外的样式,我正在尝试像这样使用 not 选择器:

HTML

<div class="no-overflow">
    <img src="https://s3.amazonaws.com/uifaces/faces/twitter/rem/128.jpg">

  <div class="comment-ctrl">
    <img src="https://s3.amazonaws.com/uifaces/faces/twitter/rem/128.jpg">
  </div>
</div>

.no-overflow:not(.comment-ctrl) {
 img { border: 5px solid green; }
}

这种样式最终会应用于所有&lt;img&gt; 标签,not 选择器似乎被忽略了。我一直在这个 codepen 中进行测试:

http://codepen.io/JoeHastings/pen/MYrVWK

是否有一些 CSS 语法可以在不改变 DOM 本身的情况下使其工作?

【问题讨论】:

  • 选择器中是否缺少空格?不应该是.no-overflow :not(.comment-ctrl)吗?

标签: css css-selectors less


【解决方案1】:

使用它可能会更容易

.no-overflow > img {
    border: 5px solid green;
}

这样它只会选择类名的直接后代图像,而不会选择其他元素内的图像。

【讨论】:

    猜你喜欢
    • 2011-02-07
    • 2017-12-23
    • 2020-11-03
    • 2020-02-04
    • 1970-01-01
    • 2022-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多