当前位置: 首页 > 面试题库 >

何时在CSS中使用margin和padding

左丘嘉木
2023-03-14
问题内容

编写CSS时,在决定何时使用margin和何时使用时应使用特定的规则或准则padding吗?


问题答案:

TL; DR: 默认情况下,我在所有地方都使用空白,除非我有边框或背景并且想要增加该可见框内的空间。

对我而言,填充和边距之间的最大区别是垂直边距会自动折叠,而填充则不会。

考虑两个元素彼此重叠,填充为1em。该填充被视为元素的一部分,并始终保留。

因此,您将获得第一个元素的内容,然后是第一个元素的填充,然后是第二个元素的填充,然后是第二个元素的内容。

因此,这两个元素的内容最终将2em分开。

现在,以1em的边距替换该填充。边距被视为在元素的外部,并且相邻项目的边距将重叠。

因此,在此示例中,您将获得第一个元素的内容,然后1em是合并边距,然后是第二个元素的内容。因此,这两个元素的内容是1em分开的。

当您知道要说出1em元素周围的间距时,不管该元素旁边是什么元素,这都非常有用。

其他两个主要区别是单击区域和背景颜色/图像中包含填充,但空白处不包含填充。

div.box > div { height: 50px; width: 50px; border: 1px solid black; text-align: center; }

div.padding > div { padding-top: 20px; }

div.margin > div { margin-top: 20px; }


<h3>Default</h3>

<div class="box">

  <div>A</div>

  <div>B</div>

  <div>C</div>

</div>



<h3>padding-top: 20px</h3>

<div class="box padding">

  <div>A</div>

  <div>B</div>

  <div>C</div>

</div>



<h3>margin-top: 20px; </h3>

<div class="box margin">

  <div>A</div>

  <div>B</div>

  <div>C</div>

</div>


 类似资料:
  • 问题内容: 因此,当您没有为给定的div元素设置任何页边距,填充或边框时,页边距折叠是否会发生? 问题答案: 不能。当您有两个相邻的垂直边距时,将使用两个中较大的一个,而另一个将被忽略。 因此,例如,如果您有两个块显示元素,A,其后是B,并且A的下边距为3em,而B的上边距为2em,则它们之间的距离将为3em 。 如果设置边框或内边距,则可以防止崩溃。在上面的示例中,两个元素之间的距离将为5em。

  • CSS margin(外边距)属性定义元素周围的空间。 margin margin 清除周围的(外边框)元素区域。margin 没有背景颜色,是完全透明的。 margin 可以单独改变元素的上,下,左,右边距,也可以一次改变所有的属性。 Margin可以使用负值,重叠的内容。 Margin - 单边外边距属性 在CSS中,它可以指定不同的侧面不同的边距:margin-top:100px; marg

  • 问题内容: 假设您将以下CSS应用于div标签 左边距和右边距无效 但是,如果您有亲戚,它可以正常工作,即 这是为什么?我只想将元素居中 有人可以解释为什么将页边距设置为绝对位置无效吗? 问题答案: 编辑:这个答案曾经声称不可能用来使绝对定位的元素居中,但这根本不是事实。因为这是最受好评和接受的答案,所以我想我只是将其更改为正确。 当您将以下CSS应用于元素时 然后为元素提供固定的宽度和高度,例如

  • 问题内容: 考虑: 我了解运作方式。在这种情况下,div将呈现红色,因为现在它具有优先级()。但是我仍然找不到适合的情况来使用它。是否有节省时间的示例? 问题答案: 这是现实生活中的场景 想象一下这种情况 您有一个全局CSS文件,该文件可以全局设置网站的外观。 您(或其他人)对元素本身使用内联样式,这 通常是 非常不好的做法。 在这种情况下,您可以将全局CSS文件中的某些样式设置为重要样式,从而覆

  • padding用来在元素内容和自身边界之间添加空白,margin则用来在元素和元素之间添加空白。两者的语法类似。 <p style="margin:0; margin-left: 40px;">What is wenjiangs for?</p> <p style="margin: 40px;">A dedicated search engine on web programming resou

  • 问题内容: 我是pthread的新手,我正试图了解它。我看到了一些类似以下的示例。 我可以看到API阻止了它,并且我看到了一些示例,其中主要功能都被API阻止了。我不明白什么时候使用什么? 我指的是以下站点-https://computing.llnl.gov/tutorials/pthreads/。我无法获得何时使用和何时使用的概念。 有人可以解释一下吗?此外,将感谢一个很好的pthread教程