结算创建两个div

之间的空隙,我有我的html的以下部分结算创建两个div

<div class="header">    

<div class="header-bar">

<div class="pull-left">

<div class="title">Ci models database</div>

</div>

</div>

<div class="clear-both"></div>

<ol class=breadcrumb>

<li class="active"><a href="#">All models</a></li>

</ol>

</div>

的CSS(面包屑和活动类是自举)

.header-bar { 

border: None;

background-color: #66CCFF;

min-height:30px;

}

.title {

padding: 5px 5px 10px 5px;

color: white;

font-size: large;

}

.clear-both{

clear:both;

}

但之间的报头 - bar和breadcrumb html添加了一个空格(see bootply)。如何删除此空白区域,因为在div之间没有找到填充和边距。

回答:

阿波斯托,白色的空间与.title类的到来。
10px的底部填充。
零这个和白色空间会去。

.title { 

padding: 5px 5px 0px 5px;

回答:

您将不得不向两个父容器(.header-barbreadcrumb)添加float: left,否则清除不会影响任何内容。此外,你将不得不放弃这两个容器width: 100%

.header-bar { 

border: None;

background-color: #66CCFF;

min-height:30px;

width: 100%;

float: left;

}

.breadcrumb {

width: 100%;

float: left;

}

.title {

padding: 5px 5px 10px 5px;

color: white;

font-size: large;

}

.clear-both{

clear:both;

}

回答:

的问题是,内部.title div的计算的高度比容器.header-bar的计算出的高度越大。像高度,最小高度,边框,填充等属性可以直接影响高度,而像显示,框的大小和位置等属性都可以间接影响高度。

结果是内部.title div将流中下一个div压低10px。

CSS没有规定div必须包含它的高度的孩子,并阻止他们影响其他div,even when height is directly defined。我们需要确切地告诉它在呈现事物时应该如何表现。

有几种方法来解决这个问题:

  1. http://www.bootply.com/Qa1ME2M2uk - 父使用overflow: hidden;。 Overflow is a css property它用于如何控制子元素大于父母时发生的情况。值得注意的是,取决于其他属性溢出不一定会以破坏布局的方式呈现自身。

  2. http://www.bootply.com/ssq3EAzeyk - 设置显式高度以严格控制元素的尺寸。这可能是标题栏的最佳选择。

  3. http://www.bootply.com/yeodYRLLJk - 在父母上设置更大的最小高度,其中一定会包含孩子。如果您的填充用于对齐目的,这非常有用 - 在示例中设置min-height: 40px;这样做。

  4. http://www.bootply.com/GznfJxUWUF - 删除使元素计算为更高的填充(如另一个答案中所述)。

以上是 结算创建两个div 的全部内容, 来源链接: utcz.com/qa/260878.html

回到顶部