<p>和<div>之间有什么区别?
它们可以互换使用吗?应用是什么?
<p>和<div>之间有什么区别?
它们可以互换使用吗?应用是什么?
当前回答
之前的代码是
<p class='item'><span class='name'>*Scrambled eggs on crusty Italian ciabatta and bruschetta tomato</span><span class='price'>$12.50</span></p>
所以我要把它改成
<div class='item'><span class='name'>*Scrambled eggs on crusty Italian ciabatta and bruschetta tomato</span><span class='price'>$12.50</span></div>
这很容易解决。上面代码的CSS是
.item {
position: relative;
border: 1px solid green;
height: 30px;
}
.item .name {
position: absolute;
top: 0px;
left: 0px;
}
.item .price {
position: absolute;
right: 0px;
bottom: 0px;
}
所以div标签可以包含其他元素。P不应该被强迫这么做。
其他回答
这些都是很好的答案,但有一个区别我还没有看到提到,那就是浏览器默认呈现它们的方式。主要的web浏览器会在段落的上方和下方显示一个<p>标签。<div>标记将被呈现,完全没有任何边距。
<p>代表一个段落,<div>代表一个“分割”,我认为主要的区别是div在语义上是“无意义的”,其中<p>应该代表与文本本身有关的东西。
例如,你不会想要有嵌套的<p>s,因为这不会有太多的语义意义(除了在引用的意义上),而人们使用嵌套的<div>s进行页面布局。
根据维基百科
在HTML中,span和div元素是 用于文档的某些部分不能使用的地方 被他人从语义上描述 HTML元素。
这两个元素之间唯一的区别是语义。默认情况下,这两个元素都应用了CSS规则display: block(因此是块级);没有更多的(除了在某些情况下有一些额外的边际)。然而,如前所述,它们在语义上都有很大的不同。
<p>元素,顾名思义,是用于段落的。因此,当您想要创建段落文本块时,应该使用<p>。
然而,<div>元素在语义上几乎没有任何意义,因此可以用作一般的块级元素——最常见的情况是,人们在布局中使用它,因为它在语义上没有意义,可以用于您可能需要块级元素的任何地方。
链接获取更多详细信息
p标记用于段落,通常用于文本。div标签用于划分,通常用于创建文本的部分。
<p>表示段落,具有语义意义。
<div>只是一个用于其他内容的块容器。
任何可以在<p>中出现的东西都可以在<div>中出现,但反过来就不对了。<div>标签可以有块级元素作为子元素。<p>元素不能。
让我们看一下HTML DTD。
<!实体% inline "#PCDATA | %fontstyle;| %短语;| %特殊;| % formctrl;" > <!实体%块 "P | %标题;| %列表;| %格式化;| dl | div | noscript | Blockquote | form | hr | table | fieldset | address“> . <!实体%流量"%块;| %内联;" > <!元素DIV -- (%flow;)*——通用语言/样式容器——> <!ELEMENT P - O (%inline;)*——段落——>