从这个DOM开始:
<h1><span>Lorem</span><span>Ipsum</span></h1>
出于可访问性原因,我们必须添加一个空格,使两个单词不相邻(读作“Lorem Ipsum”而不是“LoremIpsum”)。由于CSS(显示:块),常规显示是相同的。所以我们有:
<h1><span>Lorem</span> <span>Ipsum</span></h1>
但是,由于某些JavaScript,使用它会更方便:
<h1><span>Lorem</span><span> Ipsum</span></h1>
这完全等同吗?空间会被这种方式破坏吗?
答案 0 :(得分:4)
答案取决于它
如果span
没有以非常明显的方式设置样式,则不会有任何区别。
但是,如果span
确实具有与其可能显示的h1
不同的特定样式,因为该空格将由第一个样本中的h1
设置样式,并且第二个span
。
请参阅下面的示例,其中差异由不同的样式提出:
h1 {
font-size: 3em;
}
h1 span {
font-size: 0.5em;
}
&#13;
<h1><span>Lorem</span> <span>Ipsum</span></h1>
<h1><span>Lorem</span><span> Ipsum</span></h1>
&#13;
答案 1 :(得分:1)
这两个应该是等价的。在inline
显示的对象内部时,空格会折叠为单个空格。无论是直接在<h1>
下,还是在<span>
内,它都应该或多或少相同。主要区别在于第二种情况下的空白将根据span
样式进行样式设置。
例如,请参阅section 9.1了解HTML 4规范。
答案 2 :(得分:0)
你的两个例子大部分都是等同的。我会看到唯一明显的区别是你是否有某种类型的样式完成了跨度(我假设你这样做)。如果有样式,那么如果空间在跨度内,则样式将应用于空间。我个人喜欢跨距之间的空间,因为它看起来更好,但如果更容易编写一些javascript,我会使用第二个。
答案 3 :(得分:-1)
如果您计划动态更改跨度,则在两者之间留出空间会更方便。 除此之外,它完全相同。