Pac*_*ier 4 html w3c cross-browser
我们不鼓励作者使用空P元素.
用户代理应忽略空P元素.
我们如何定义空?
<p> </p>标签之间的空格字符是否重要?
新线之间<p> </p>怎么样?
HTML4规范将空元素定义为没有内容的元素.自闭标签肯定定义空元素,如<br/>和<img/>.我认为期望开始标记紧跟一个结束标记是非常合理的,例如<p></p>也定义一个空元素.是否<p> </p>合格为"空"可能取决于用户代理,但让我们看看规范中的内联内容模型定义:
<!-- %inline; covers inline or "text-level" elements -->
<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">
Run Code Online (Sandbox Code Playgroud)
"空"的内容是一个包含没有如下:
#PCDATA%fontstyle;%phrase;%special;%formctrl;上面的任何一个空格字符都是?是的,这 #PCDATA,所以我推断<p> </p>是不是空的P元素.且不论HTML4规范的沮丧,<p></p>,<p> </p>,和<p/>都是一个完全有效的HTML片段.
HTML5中的术语"void elements"指的是那些实例永远不会有像br和img这样的内容的元素类型,而不是那些碰巧没有内容的实例.所以P元素的实例永远不会构成"空元素".
HTML5规范没有做出关于避免"空"或"无效" P元素的评论:
......我真的不会太担心它.