【发布时间】:2010-10-08 18:54:29
【问题描述】:
CSS 'margin' 和 'padding' 应该如何用于垂直段落间距:
- 能否使用填充和/或使用边距来定义段落之间的垂直间距?
- 如果两者都可以,那么哪个更好或更正常?
- 您是否倾向于定义非零填充和非零边距,如果是,那么分别定义多少?
Example of margins, padding, and borders 解释了理论上边距和内边距之间的区别:我在质疑每个在实践中使用多少,以呈现正常,好看的页面。
其次,给定如下标记...
<p>Paragraph.</p>
<ul>
<li>List item.</li>
<li>Another list item.
<p>List paragraph.</p>
</li>
</ul>
如果您希望每个段落和/或列表项之间的垂直间距相等,那么:
- 您是否倾向于将
<ul>定义为自己的边距+填充为零? - 或者
<ul>通常具有非零边距,这将不起作用,因为该边距将与其中的<li>的边距和之前的<p>的边距一起折叠?李>
第三(我不确定我是否应该问第三个问题),specification for collapsing margins 说:“如果框的顶部和底部边距相邻,则边距可能会通过它折叠。”如果我中间有一个像下面这样的空段落......
<p>Hello</p>
<p></p>
<p>World</p>
...那么我希望将其视为一个空段落,即在 Hello 和 World 之间有额外的垂直空间:
- 什么可以防止该空段落的边距折叠,从而使该空段落不可见:这是非零填充吗?
- 在什么情况下让盒子有相邻的顶部和底部边距折叠起来很有用?
欢迎回答这三个问题中的任何一个或所有问题。
目前我对特定于 IE 的框模型问题并不特别感兴趣:相反,我想知道如何使用该标准。
【问题讨论】: