问题标签 [css-specificity]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
html - 为什么悬停伪类会覆盖活动伪类
标题基本上说明了一切。
假设我有一个想要更改颜色的元素:hover
,但是在单击时,我希望它切换回原来的颜色。所以,我试过这个:
事实证明,这是行不通的。经过一番摸索后,我意识到:hover
国家正在压倒:active
国家。这很容易解决:
(我可以将第一条规则与第三条规则结合起来)。
这是小提琴:http: //jsfiddle.net/V5FUy/
我的问题:这是预期的行为吗?据我了解,:active
国家应该总是凌驾于:hover
国家之上,因为:active
国家几乎总是伴随着:hover
国家。
css - 由于多个样式表导致的 css 选择器特异性冲突
好的,我一直在阅读 stackoverflow css 选择器。在这里的线程上,这种语法有什么区别?^= 是什么意思?它在选择什么?全部?
和
此外,这里有一条声明:注意 :允许重复出现相同的简单选择器,并且确实增加了特异性。
这意味着什么?
我问是因为我必须清理网站上的大量 CSS 代码。有十多个样式表,每个都包含 200 多行代码,并且在样式表中存在相互覆盖的样式,如果重复出现增加了特异性,甚至可能在其中覆盖。逐行浏览样式表以找出特定的类、div 等覆盖另一个类、div 等是非常辛苦的,其中一些特殊性是七个选择器的深度!这对我来说几乎是不可能的,而且压力很大。
是否有一种工具可以使用以覆盖其他样式的样式为目标?它是否易于使用,它究竟做了什么?如果没有,我怎样才能编写具有足够特异性的 CSS 而没有非常长的选择器以希望确保唯一性,以便它们不会被另一个样式表规则覆盖?
谢谢,我希望这有点道理,有人有过这种经历。
css - 为什么 'foo bar' 和 'foo > bar' 在 CSS 中具有相同的特性?
我很好奇为什么使用>
或其他组合器不会影响 CSS 选择器的特异性,即为什么div span
(匹配div 内某处的跨度)和div > span
(匹配作为 div 的直接子级的跨度)在特异性方面被认为是相等的。
我确实意识到组合器的使用与特异性完全无关,但我想知道是否有某种原因。
css - 我不明白为什么 ID 不比类更具体
我有:
这是我的CSS。
问题是我无法获得更具体的 ID 来覆盖类。我尝试了很多不同的方法,但没有运气。如果这很重要,我正在使用 Chrome。谢谢。
css - 在一个元素和特异性中使用多个类
只是想知道您何时在一个元素上使用多个类,例如class="foo bar"
,这些类的设置如下:
哪个类将具有特异性?边距是 10px 还是 0px?
css - 用于查看 CSS 特异性的工具
有谁知道是否有某种工具可以查看/选择基于 CSS 特异性的最佳 CSS 选择器来定位特定的 div?
我知道什么具有更高的特异性,但有时在其他人的项目中,他们在 CSS 中有深度嵌套的选择器时,很难找到一种方法来覆盖那里的东西。
我知道在 Google chromes dev tool/firebug 中,它在查看页面源时在底部显示了很多信息,这是应该用于此目的还是有其他方法?
css - 命名元素内的超链接css特异性
HTML
CSS
看起来像这样
我不完全清楚为什么第二个超链接是红色而不是绿色。特异性#inner
不是高于a
吗?此外,字体大小是继承的,#inner a
因此更加混乱。
html - 更具体的 CSS 规则不起作用
在我的以下代码中,我为 h1 定义了更具体的规则为#inner h1,并且还定义了不太具体的规则为 #container h1。但是,如果将#container h1 放在#inner h1 之后,那么它就会生效并且#inner h1 会被忽略,但它不应该是因为它更具体。
请帮助我理解这个问题。
CSS:
HTML:
css - 如何覆盖一个没有应用的 CSS 类?
如果标题很奇怪,我实际上想说的是我有一个应用它自己的风格的框架(Richfaces)。我有一家公司 CSS,但我不是 CSS 专家,我所需要的只是覆盖来自 Richfaces 的 CSS,这样就不会对公司 CSS 中的内容应用任何内容。
这是来自我不想应用的richfaces的CSS:
css - CSS 特性如何决定应用哪些样式?
CSS 如何确定何时将一种样式应用于另一种样式?
我已经阅读了W3 CSS3 选择器文档几次,这有助于我理解如何在 jQuery 中更好地使用 CSS 选择器,但它并没有真正帮助我理解何时将一个 CSS 规则应用于另一个。
我有以下 HTML:
我有以下CSS:
鉴于上述情况,Link 1 和 Link 2 的样式将由.item a
CSS 确定。为什么与.special
Link 2 关联的样式不优先?
显然,我可以像这样绕过它:
但是,我觉得这是一个由于我缺乏理解而不得不加入的黑客行为。