我是css的新手。我正在阅读有关块级元素的内容。 “div”是块级元素。 “p”也是块级元素。
“浏览器通常在元素之前和之后显示带有换行符的块级元素。您可以将它们可视化为一堆框” 来自https://developer.mozilla.org/en-US/docs/Web/HTML/Block-level_elements
但是当使用“div”时,我可以看到它不会像其他块级元素(如“p”或“h1”)那样添加新行。
我的意思是我可以看到以下代码片段的差异
<p> Text1</p>
<p> Text2 </p>
<div> Text1</div>
<div> Text2 </div>
那么为什么“div”没有添加新行呢?任何人都可以帮助理解这个吗?
答案 0 :(得分:2)
没有“new line”这样的东西只能应用于H1和P等元素的默认边距。
想要将它们归零?
body, p, h1, h2 /* etc*/ { margin: 0; }
完全。 DIV没有默认的用户代理边距。
答案 1 :(得分:1)
&#34;我可以看到它不会像其他块级元素那样添加新行&#34;
没有换行。只是p
和h1
可能有默认padding
/ margin
,这使得它与其他内容分开;
以下代码段显示两个p
和两个div
元素,默认为padding
和margin
p { background-color: #8ABB55; }
div { background-color: #8BFB55; }
&#13;
<p>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</p>
<p>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</p>
<div>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</div>
<div>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</div>
&#13;
现在,对于相同的html,以下代码段会显示p
的两个divs
和两个padding
,margin
和p
p {
background-color: #8ABB55;
padding: 0;
margin: 0;
}
div {
background-color: #8BFB55;
}
&#13;
<p>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</p>
<p>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</p>
<div>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</div>
<div>This paragraph is a block-level element; its background has been colored to display the paragraph's parent element.</div>
&#13;
您现在可以看到p
与默认div
答案 2 :(得分:1)
换行意味着块级元素在文档正常流程之后的下一行开始,这是例如div
和span
之间的差异之一:
通常,块级元素从新行开始,内联元素开始 不
来自https://www.w3.org/TR/html401/struct/global.html#h-7.5.3
正如其他用户所解释的那样,它与块和其他元素之间没有差距,空间由边距或填充给出。但是像div这样的块级元素,除非被设置为显示为内联块或者不在具有位置或浮动的文档的正常流程中,而是以新行开始。