CSS "#id1 #id2"选择器,为什么它与只有 "#id2"不同?

标签 css css-selectors

请参阅 this jsfiddle 中的示例,

  #rightDiv a#id1match { left:60px;top:10px }

#id1matcha#id1match 的更改破坏了布局。


我这里的“无效逻辑”是:#id 选择器指向文档中的唯一 ID,因此,“id inside other thing”必须与“id”相同......在这种情况下,HTML 总是有两个 ID,不改变...当两者​​都存在时,内部选择器不应该对 ID 有任何影响。

最佳答案

您应该继续阅读 CSS Specificity .

#id1match 与您的元素正确匹配。然而,该元素也有 .region 类,它有一个更具体的选择器 #rightDiv .region

所以基本上你的样式被覆盖了,因为当你删除 #rightDiv 规则变得不那么重要了。在任何开发人员工具中查看您的元素,您就可以看到发生了什么。

Styling

关于CSS "#id1 #id2"选择器,为什么它与只有 "#id2"不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28753848/

相关文章:

javascript - 使用 jQuery 隐藏带有 colspan 和 rowspan 的复杂列

css - 悬停输入时如何更改跨度的样式

javascript - 如何在 CSS 或 Javascript 中调整 <select> 元素的高度?

html - 具有特殊字符的 CSS 类

CSS 继承 : Overriding a parent selector that is a descendant selector

javascript - 使用 nth-child 选择器选择元素

css - 在不同的屏幕分辨率下隐藏菜单项 (li)

javascript - jQuery 选择器中的波浪号

css - p-列表框 : search filter textbox does not fit to width

javascript - 如何使底部工具提示与其元素的右端对齐?