我正在研究浏览器及其对 css 和 html 代码的处理方式,对此进行测试并看到奇怪的结果并且无法理解。这是一项研究。所以它不是真正的代码。
我在使用 CSS * 选择器时注意到一个问题。让我解释一下:
看下面的例子:
p * { color:red; }
这意味着 p 元素内的所有标签都必须是红色的。 一些例子:
<p>
<div>
text <!-- Must be red but not !-->
</div>
<p>
text <!-- Must be red but not !-->
</p>
<span>
text <!-- Must be red but not !-->
</span>
</p>
出现这些问题有什么原因吗?逻辑原因?
最佳答案
W3 XHTML 验证器会提示您使用嵌套的 p
标签。
想一想:“一段中的一段”。从语法上讲,p
中的 div
在所有 HTML 标准中都是无效的。此外,当使用符合标准的 HTML 解析器时,不可能将 div
元素放在 DOM 中的 p
中,因为开始的 div
标记将自动关闭 p
元素。可以查看更多详情here
但是,如果您想为段落中的元素设置样式,则可以使用内联标记,例如 span
。
关于html - CSS * Selector 奇怪的处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9750107/