为什么我这样做:
<div> aaaaaaaa <b></div>
<div> bbbbbbbb </div>
<div> </b> ccccccccc </div>
...内容“bbbbbbbb”以粗体显示?那么为什么我不能对另一个标签做同样的事情,比如&lt; span&gt;而不是&lt; b&gt;?大胆的情况只是浏览器试图修复它还是实际上有效?
我正在尝试隐藏一些可能跨越多个&lt; div&gt;的文本内容。标签,但只知道文本的开始和结束位置。我可以使用&lt; b&gt;等标签吗?这样做(用css stylin)?或者这是一个非常糟糕的主意?
你还有其他建议吗?
编辑:我无法轻易更改HTML,因此验证无用。 HTML是用户生成的。
答案 0 :(得分:7)
不允许。只是浏览器尝试执行错误恢复。
元素必须以树形结构排列。每个元素都有一个父元素(根节点除外)。
鉴于上述输入,Chrome会生成以下内容:
<div> aaaaaaaa <b></b></div><b>
<div> bbbbbbbb </div>
</b><div><b> </b> ccccccccc </div>
您不应该依赖此类错误恢复。永远记得validate。
答案 1 :(得分:2)
使用格式错误的HTML是一个坏主意,因为不同的浏览器会以不同方式处理此类“错误”。但是你总是可以在父div元素中嵌套内容,你可以隐藏/显示它。
像这样:
<div style="visibility:hidden">
<div>First hidden sentence</div>
<div>Second hidden sentence</div>
</div>