看看这个简单的例子:
<style> h1 { color: red; } </style> <h1>this is the 'h1'.<h2>this is the 'h2'</h2></h1>
我预计’h2’内的字符串颜色为红色,但仍然是黑色.
这让我困惑了一段时间.为什么会这样?
解决方法
不允许
<h1>
元素包含< h2>元素(除其他之外;仅允许
phrasing elements和文本),因此根据HTML无效的规范.
浏览器通过考虑< h2>来尝试补偿无效的HTML.实际上在< h1>之外,这导致观察到的结果.