我想知道当margin
中有内容(段落等)时,为什么<div>
似乎存在?
.container {
width: 300px;
height: 150px;
background-color: #ccc;
}
.container2 {
width: 300px;
height: 150px;
background-color: #000;
}
<div class="container">
<p>Text</p>
</div>
<div class="container2">
<p>Text</p>
</div>
在上面的示例中,两个<div>
之间存在差距,但如果我取出该段落,margin
就会消失。
为什么会这样?
答案 0 :(得分:1)
由于某些HTML标记具有默认边距,因此包含<p>
,并且它会折叠。通常的方法是使用CSS reset来设置网站完全,以便他们看起来。
答案 1 :(得分:-1)
您可以通过在CSS中执行类似的操作来删除所有元素的所有边距,并使用*定位所有元素:
*{margin:0px;}
这可能有点极端,你最好找到一个经过验证的CSS重置模板。我很幸运使用了几年前在网上找到的那个。他们做了这样的基本重置(有选择地删除他们想要的任何元素:
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
margin: 0;
padding: 0;
border: 0;
font-size: 100%;
font-family:Verdana, Arial, Helvetica, sans-serif;
vertical-align: baseline;
}
请记住,如果您使用这些方法中的任何一种方法,您将不得不放回您想要的大量边距,但它会删除您想要定位的边距。
希望它有所帮助!