(✘)我认为这是错误的:
<ul>
<li>Hello!</li>
</ul>
(✔)这是正确的:
<ul>
<li><p>Hello!</p></li>
</ul>
但我不知道是否:
<ul>
<li><p><a href="#">Hello!</a></p></li>
</ul>
比这更正确:
<ul>
<li><a href="#">Hello!</a></li>
</ul>
在处理<p>
或<h1|h2|h3|h4|h5|h6>
之外的文字时,我感觉不一致。我认为HTML是三种文本的父亲:标题,段落&amp;的提示即可。对我来说,这种模式之外的每一个文本都是错误的。
我在这里,现在要知道它是真的错误。是吗?
抱歉 - 我不知道另一个比SO更好的地方提出这样的问题。
是的,我知道从技术上讲,无论哪种方式都可行。
答案 0 :(得分:2)
(✘)我认为这是错误的:
<ul>
<li>Hello!</li>
</ul>
不,这是完全正确的。
(✔)这是正确的:
<ul>
<li><p>Hello!</p></li>
</ul>
是的,这是,也是,正确。
唯一的区别是,在第一个示例中,您不表示文本是段落,而只是列表项;而在第二个中,您显示它是列表项内的一段文本。而且,在这种情况下,我倾向于选择前者(但这纯粹是品味和语义的问题),因为我不相信任何单个单词本身都不能构成整个段落。
但我不知道是否:
<ul>
<li><p><a href="#">Hello!</a></p></li>
</ul>
比这更正确:
<ul>
<li><a href="#">Hello!</a></li>
</ul>
它没有任何区别。
您似乎感到有责任将每个文本字符串包装在HTML元素中以表示其 textiness ,这是不必要的;只有在文本实际上是一个段落时才需要将文本包装在p
内。
答案 1 :(得分:1)
如果你想问它是否合法,那么是的,这是合法的。
然而,如果您在段落中有链接,那么在段落中包含超链接是更好的做法,没有问题!
(不包括 html5 )但是你不能在超链接中启动整个段落,你可以使用div!
<ul>
<li>Hello!</li>
</ul>
以上是正确的,所以是:
<ul>
<li><p>Hello!</p></li>
</ul>
您可以在li
中包含任何内容,将其包含在列表中。它无需仅a
或仅p
。
但是这个:
<ul>
<li><p><a href="#">Hello!</a></p></li>
</ul>
与
不同<ul>
<li><a href="#">Hello!</a></li>
</ul>
如何?因为p
会为内容添加边距和填充。 p
也有一些默认属性。
答案 2 :(得分:0)
不,您无法在p
标记内启动a
标记,并在a
之外将其关闭。
答案 3 :(得分:0)
您无法将<a>
置于另一个<a>
内。
不允许<p>
加入<a>
。