本文介绍了为什么填充到封装div看起来不同的边缘到内部div?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有2个div

<div id=number1><div id=number2></div></div>

为什么

#number1 {
    background:red;
}

#number2 {
   background:blue;
   height: 200px;
   margin: 10px;
}

#number1 {
    background:red;
    padding:10px;
}

#number2 {
   background:blue;
   height: 200px;
}

在第一种情况下,我得到白线,底部,其中假设是div 1的红色?

And in the first case I get white lines at the top & bottom, where it is suppose to be the red color of div 1?http://jsfiddle.net/ZbCNq/

推荐答案

在中,意外

规格:




  • http://www.w3.org/TR/CSS2/box.html#collapsing-margins
  • http://www.w3.org/TR/css3-box/#collapsing-margins

一些简单的例子:





  • http://complexspiral.com/publications/uncollapsing-margins/
  • http://reference.sitepoint.com/css/collapsingmargins
  • http://www.howtocreate.co.uk/tutorials/css/margincollapsing

您可以通过以下方式解决:

You could fix it by:


  • 使用 padding #number2 上的#number1

  • 添加 overflow:hidden 到#number1 : li>
  • 向#number1 添加一些填充:

  • 添加 float:left; width:100%到#number1 :

  • 添加 display:inline-block; width:100%; 到#number1 :

  • 添加边框到#number1 : li>
  • 我确定还有更多方法。

  • Using padding on #number1 instead of margin on #number2, as you've done in your question.
  • Adding overflow: hidden to #number1: http://jsfiddle.net/thirtydot/EWeDE/1/
  • Adding some padding to #number1: http://jsfiddle.net/thirtydot/EWeDE/2/
  • Adding float: left; width: 100% to #number1: http://jsfiddle.net/thirtydot/EWeDE/3/
  • Adding display: inline-block; width: 100%; to #number1: http://jsfiddle.net/thirtydot/EWeDE/4/
  • Adding a border to #number1: http://jsfiddle.net/thirtydot/EWeDE/5/
  • I'm sure there are more ways.

这篇关于为什么填充到封装div看起来不同的边缘到内部div?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-01 02:51