答案 0 :(得分:6)
The HTML4 spec defines an empty element as one that has no content.自动关闭代码肯定会定义空元素,例如<br/>
和<img/>
。我认为期望紧跟一个结束标记的开始标记(例如<p></p>
)也定义一个空元素是非常合理的。 <p> </p>
是否符合“空”的要求可能取决于用户代理,但让我们看一下the inline content model definition from the spec:
<!-- %inline; covers inline or "text-level" elements -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
“空”内容是包含以下 none 的内容:
#PCDATA
%fontstyle;
%phrase;
%special;
%formctrl;
上面的空格字符是什么? Yes, it's #PCDATA
,因此我推断<p> </p>
不是一个空的P
元素。而且无论HTML4规范的劝阻如何,<p></p>
, <p> </p>
, and <p/>
are all a perfectly valid HTML fragments。
Such elements are now called "void" by the HTML5 spec.
The term "void elements" in HTML5指的是那些实例永远不会有像br和img这样的内容的元素类型,而不是那些碰巧没有内容的实例。所以P元素的实例永远不会构成“空元素”。
HTML5规范没有对避免“空”或“无效”P
元素做出此类评论:
......我真的不会太担心它。
答案 1 :(得分:1)
从技术角度来看,空白是一件事。它占用内存并拥有自己的字符代码。它是一个只包含空格的字符。
也就是说,空格和换行符对大多数浏览器都是一样的。从这个角度来看,任何一个“p”标签都会被视为“某事”。
但是,w3c对此以及特定浏览器供应商所说的内容往往是一个非常不同的东西。根据我的知识,大多数浏览器都会尊重这一点,但有些人仍然可以将“p”标签视为内容,而不是内容。
最佳做法,使用CSS提供间距和休息时间。如果只需要换行符,请在段落上使用“br”标记。 “p”标签是用于语言结构“段落”的语义标签,因此不鼓励使用它作为布局元素。
答案 2 :(得分:1)
据我所知,空<p>
代码包含<p></p>
,<p/>
,<p />
和<p> </p>
。
<p><br /></p>
和<p> </p>
(如果你想获得真正的技术,<p> </p>
,因为所有Unicode html空格技术上都使用1-4个字节)技术上不会是空的,但肯定是不鼓励他们这样使用它,如果你是,你应该看看为什么,因为它可能不是最好的选择。
<p>
标记用于包含一段文字。