如何将div放入段落?我将显示更改为内联,但浏览器将基本段落分为两个元素,而div不是段落的成员。
答案 0 :(得分:23)
组成w3网站:
P元素代表一个段落。它不能包含 block-level元素(包括P本身)。
答案 1 :(得分:18)
如果您希望代码validate
,请勿在{{1}}中嵌套除内联元素之外的任何内容 来自property def: 的
<p>
我知道有时很难理解这些记录,但括号中的位表示<!ELEMENT P - O (%inline;)* -- paragraph -->
只能包含<p>
个元素
您可以(并且应该)在inline
内使用<span>
,如果需要,您可以将其CSS显示属性更改为<p>
或block
,这将是完美的有效,因为CSS属性不会更改元素的实际定义..在您的情况下,听起来您需要一个内联元素,所以只需使用inline-block
答案 2 :(得分:3)
制作一个跨度,将其样式设置为一个块。
<p>
paragraph text
<span style="display: block;">Span stuff</span>
</p>
答案 3 :(得分:2)
根据HTML标准,您无法在<div>
元素中嵌套<p>
元素。想想为什么你甚至想要这样做;它应该从不是必要的。 <p>
元素只能,逻辑上应该只包含内联元素和文本。
答案 4 :(得分:1)
对于那些认为验证具有决定性的人,实际上有两种方法可以在div
内获得p
。
一种方法是在脚本中使用dom操作。例如
var theDiv = document.createElement("div");
theDiv.appendChild(document.createTextNode("inserted"));
var theP = document.getElementsByTagName("p")[0];
theP.insertBefore(theDiv, theP.firstChild);
在此处查看此行动:http://www.alohci.net/text/html/div-in-p-by-script.htm.ashx
另一种方法是使用XHTML并使用XML内容类型提供服务。 (在IE9之前的IE中没有支持)
在此处查看:http://www.alohci.net/application/xhtml+xml/div-in-p-by-mime.htm.ashx
(请注意,虽然可能这种方式 - 它仍然不是有效。)
但You提出了重点。从语义上讲,这是无稽之谈。如果您正在将文本写入纸上,则不会在段落中间放置一些内容,因此也不需要在HTML中执行此操作。
答案 5 :(得分:0)
Div是一个区块。跨度是内联的。它们都是容器。 您必须使用css为div设置display:inline。 当然它不会通过验证,所以最好使用span(内联)来实现同样的目的。