CSS "#id1 #id2" 选择器,为什么它和 "#id2" 不一样?
CSS "#id1 #id2" selector, why it is not same as only "#id2"?
请参阅 this jsfiddle、
中的示例
#rightDiv a#id1match { left:60px;top:10px }
对 #id1match
或 a#id1match
的更改破坏了布局。
我的 "invalid logic" 是:#id 选择器指向文档中的唯一 ID,因此,"id inside other thing" 必须与 "id" 相同...并且在此如果 HTML 始终具有两个 ID,而不是更改...当两者都存在时, 内部选择器 不应对 ID 产生任何影响。
您应该阅读 CSS Specificity。
#id1match
确实与您的元素正确匹配。然而,该元素也有 class .region
,它有一个更具体的选择器 #rightDiv .region
所以基本上你的样式被覆盖了,因为当你删除 #rightDiv
规则变得不那么重要了。在任何开发人员工具中查看您的元素,您可以看到发生了什么。
请参阅 this jsfiddle、
中的示例 #rightDiv a#id1match { left:60px;top:10px }
对 #id1match
或 a#id1match
的更改破坏了布局。
我的 "invalid logic" 是:#id 选择器指向文档中的唯一 ID,因此,"id inside other thing" 必须与 "id" 相同...并且在此如果 HTML 始终具有两个 ID,而不是更改...当两者都存在时, 内部选择器 不应对 ID 产生任何影响。
您应该阅读 CSS Specificity。
#id1match
确实与您的元素正确匹配。然而,该元素也有 class .region
,它有一个更具体的选择器 #rightDiv .region
所以基本上你的样式被覆盖了,因为当你删除 #rightDiv
规则变得不那么重要了。在任何开发人员工具中查看您的元素,您可以看到发生了什么。