5

这是一个例子。

<span id="s1">Hello</span>
<span id="s2">world</span>
<span id="s3">this</span>
<span id="s4">is</span>
<span id="s5">a</span>
<span id="s6">sentence.</span>

基本上,我有一个脚本,可以将句子中的单词分成span. 有没有更好的方法来做到这一点?span也许是我不知道的替代方案?我想使用类似的东西,<u>因为它很短,然后删除默认下划线。也<p>不会工作,因为它是一个块元素。

有任何想法吗?

4

4 回答 4

6

出于语义原因,我建议不要使用其他元素,除非您确实需要更短的元素名称。<span>s 是语义中性的元素,因此它们非常适合这种情况。

于 2013-09-30T01:07:48.277 回答
3

如果您真的需要以不同的方式设置每个单词的样式,这可能正是您应该做的。这是一个无意义的标签,用于对内联元素(在本例中为单词)进行分组。

span 元素 .. 本身没有任何意义 ..

于 2013-09-30T01:08:05.683 回答
1

span元素是 HTML 中唯一被定义为没有任何意义的元素,因此当您希望将一个单词变成一个元素以便对其进行操作时,它就是要使用的元素,而无需为其赋予任何含义。

但是,没有属性的a元素在“语义上”也是空的,并且没有默认呈现规则。href也有人<a id=foo>...</a>用过<span id=foo>...</span>。然而,一些程序可能会a以某种特殊的方式处理这样的元素(就好像它无论如何都是类似链接的),并且人们可能会以期望所有a元素都是链接的方式编写样式表。所以这样的使用a是有风险的,除了短暂之外没有任何好处。它还使源代码的可读性降低,因为这种使用并不常见。

在实践中,在某种程度上,您可以使用自定义标记,例如zdocument.createElement('z')在 JavaScript 中使用以使旧版本的 IE 将其视为可样式化)。浏览器会将其视为未知元素,让您在脚本和 CSS 中(需要注意)处理它。但是想象一下,如果某个未来版本的 HTML 或某些浏览器识别的 HTML 包含一个具有您选择的名称的元素,具有一些奇特的含义和效果(如“不显示此元素”或“闪烁此文本” )。

于 2013-09-30T05:46:43.860 回答
0

我同意Nightfirecatimjared发布的答案。<span>可能是在这种情况下使用的最佳元素,因为它表示中性内联元素。

但是,如果您真的不得不扩展技巧,则可以尝试,<em>因为您以自己的方式强调每个单词。

于 2013-09-30T01:21:51.033 回答