【问题标题】:How to make CSS NOT do something [duplicate]如何使CSS不做某事[重复]
【发布时间】:2014-12-15 11:21:27
【问题描述】:

是否有可能让 css 不做某事?

示例:

ol {
    counter-reset: item;
}

ol.someClassname {
    NOT counter-reset: item;
}

我知道您应该切换类以使其正常工作。这不是一个真正的问题,我只是想知道它是否可以工作,谢谢

【问题讨论】:

  • 如果你只是告诉他们“不要做某事”,浏览器怎么知道该怎么做?您可以将其重置为标准行为
  • 您要问的是不应该做的事情,或者在大多数情况下通过使用最佳实践来避免。在少数需要执行此类操作的情况下,您只需通过将属性设置为其默认值来执行“重置”。例如从边框设置边框:1px solid #000;到边界:无;大多数属性的共同值是无、初始或继承。
  • 根据您的 cmets,我已将其作为副本关闭。我最初认为这是一个“如何禁用counter-reset 属性”,但似乎这更像是一个“是否有CSS 不等于选择器” .

标签: css css-content


【解决方案1】:

你可以设置成none:

ol.someClassname {
    counter-reset: none;
}

这将使counter-reset 在匹配的选择器上不做任何事情。

【讨论】:

  • 嗯,这回答了我的例子,但不完全是我的问题,除非......是否每个 CSS 选项也都有“无”功能?
  • @user3712713 我不知道这怎么没有回答你的问题?并非每个 CSS 声明都有 none 值,但几乎所有 CSS 声明都可以使用 initialunsetnone重置
【解决方案2】:

根据 CSS 规范

:not 伪类表示一个不由其参数表示的元素。

所以在你的例子中,这个:

ol {
  counter-reset: item;
}

ol.someClassname {
  NOT counter-reset: item;
}

变成这样:

ol:not(.someClassName) {
  counter-reset: item;
}

【讨论】:

  • 啊,是的,所以这表示除了带有 (.someClassName) 的所有 ol 将被反重置,对吗?
  • @user3712713 是的,没错。但这是正确的方法:)
  • @RandomUser 正确的方法?为什么这比我的回答更正确?
  • @JamesDonnelly 这是css规范的一部分,这就是原因。否则他们做同样的事情,你的版本也更常见
  • 女士们,拜托,你们都很漂亮。你们都说得对,现在安定下来。
猜你喜欢
  • 2016-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-13
  • 2019-03-10
  • 1970-01-01
  • 2012-03-13
相关资源
最近更新 更多