Html 如果子选择器失败,如何防止CSS继承?
我读过许多其他类似的问题,但没有发现任何东西涵盖了似乎是一个特殊的问题;尽管如此,我还是忍不住要思考更多的问题 考虑到,例如 我发现Html 如果子选择器失败,如何防止CSS继承?,html,css,inheritance,Html,Css,Inheritance,我读过许多其他类似的问题,但没有发现任何东西涵盖了似乎是一个特殊的问题;尽管如此,我还是忍不住要思考更多的问题 考虑到,例如 我发现文本缩进被继承,导致显示问题。所以我把CSS改为 div.magic dl > dd.whatever { ... 继承有增无减>是的,这就是级联样式表的概念。子节点从其父节点继承样式,除非它们被更具体的规则覆盖。这些规则可以由您或浏览器的默认样式表定义 举个例子: Baz将位于字体大小:20px中,但将保留填充:0,因为填充被浏览器覆盖,但字体大小没有 回
文本缩进
被
继承,导致显示问题。所以我把CSS改为
div.magic dl > dd.whatever { ...
继承有增无减>是的,这就是级联样式表的概念。子节点从其父节点继承样式,除非它们被更具体的规则覆盖。这些规则可以由您或浏览器的默认样式表定义 举个例子:
Baz
将位于字体大小:20px
中,但将保留填充:0
,因为填充被浏览器覆盖,但字体大小没有
回答您的问题:是的,您必须覆盖浏览器默认未定义的所有元素的
文本缩进
属性。查看此文件了解更多信息。@ralph.m在谷歌Chrome(至少)中,UL确实继承了文本缩进(根据inspector),尽管您所说的默认填充值得一看。我不想在dd的孩子身上设置任何特定的风格。其目的是只针对这些元素,并且不允许或任何继承。因为浏览器(用户代理)默认为顽皮的子级指定了文本缩进
,所以允许它通过?任何不寻常的规则都是这样吗?发牢骚发牢骚……这太令人沮丧了。谢谢你。至少这已经解决了。一个人每天都会学到新的东西:-)如果在接下来的几天里没有任何东西覆盖它,我会接受这个答案。我还想听听其他的建议,如果它显示为“已回答”,他们可能不会那么主动。我希望你能理解霍伦。谢谢你的迅速回复。
div.magic dd.whatever {
text-indent: -2em;
}
div.magic dl > dd.whatever { ...
div.magic dl > dd.whatever * {
text-indent: 0;
}
div.magic dl > dd.whatever {
padding-left: 20px;
font-size: 20px;
}