清除因为浮动,DIV的高度不能自动撑开的问题
2014-08-14 16:12
274 查看
如何让包围元素在视觉上包围浮动元素呢?需要在这个元素中的某个地方应用 clear:
让我们更详细地看看浮动和清理。假设希望让一个图片浮动到文本块的左边,并且希望这幅图片和文本包含在另一个具有背景颜色和边框的元素中。您可能编写下面的代码:
![](http://www.w3school.com.cn/i/ct_css_positioning_floating_clear_div.gif)
不幸的是出现了一个新的问题,由于没有现有的元素可以应用清理,所以我们只能添加一个空元素并且清理它。
.news {
background-color: gray;
border: solid 1px black;
}
.news img {
float: left;
}
.news p {
float: right;
}
.clear {
clear: both;
}
<div class="news">
<img src="news-pic.jpg" />
<p>some text</p>
<div class="clear"></div>
</div>
这样可以实现我们希望的效果,但是需要添加多余的代码。常常有元素可以应用 clear,但是有时候不得不为了进行布局而添加无意义的标记。
不过我们还有另一种办法,那就是对容器 div 进行浮动:
这样会得到我们希望的效果。不幸的是,下一个元素会受到这个浮动元素的影响。为了解决这个问题,有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。这有助于减少或消除不必要的标记。
让我们更详细地看看浮动和清理。假设希望让一个图片浮动到文本块的左边,并且希望这幅图片和文本包含在另一个具有背景颜色和边框的元素中。您可能编写下面的代码:
.news { background-color: gray; border: solid 1px black; } .news img { float: left; } .news p { float: right; } <div class="news"> <img src="news-pic.jpg" /> <p>some text</p> </div>
![](http://www.w3school.com.cn/i/ct_css_positioning_floating_clear_div.gif)
不幸的是出现了一个新的问题,由于没有现有的元素可以应用清理,所以我们只能添加一个空元素并且清理它。
.news {
background-color: gray;
border: solid 1px black;
}
.news img {
float: left;
}
.news p {
float: right;
}
.clear {
clear: both;
}
<div class="news">
<img src="news-pic.jpg" />
<p>some text</p>
<div class="clear"></div>
</div>
这样可以实现我们希望的效果,但是需要添加多余的代码。常常有元素可以应用 clear,但是有时候不得不为了进行布局而添加无意义的标记。
不过我们还有另一种办法,那就是对容器 div 进行浮动:
.news { background-color: gray; border: solid 1px black; float: left; } .news img { float: left; } .news p { float: right; } <div class="news"> <img src="news-pic.jpg" /> <p>some text</p> </div>
这样会得到我们希望的效果。不幸的是,下一个元素会受到这个浮动元素的影响。为了解决这个问题,有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。这有助于减少或消除不必要的标记。
相关文章推荐
- 【解决方案】子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度的问题
- 子元素用了float浮动之后,如何撑开父元素,让父元素div自动适应高度的问题
- 子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度的问题
- 解决子级用css float浮动,而父级div不能自适应高度问题
- 子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度
- <转载>如何解决子级用float浮动父级div高度不能自适应的问题
- css中div不能被撑开高度不能自适应的问题
- css解决浮动带来的父级div高度不自动增加的问题
- 清除浮动-解决父级元素高度不能适应子级元素高度的问题
- css实际技巧---父div中有浮动的子div,父容器不能自适应高度,清除浮动,父容器自适应高度
- html中子div用了浮动怎样让父div的大小自动撑开(清除浮动)
- div里ul li浮动之后父容器高度不能自动增加的解决方法
- 解决在Firefox中div子元素有浮动时div高度不会自动撑大的问题
- div在内部有浮动情况下不能自动撑大的问题
- 解决子容器全部浮动时父容器高度不能自动撑开的方法
- 解决子容器全部浮动时父容器高度(height属性)不能自动撑开的方法
- 子div用了float浮动之后,如何撑开父元素,让父元素div自动适应高度
- 解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法
- <转载>如何解决子级用float浮动父级div高度不能自适应的问题
- html中子div用了浮动怎样让父div的大小自动撑开(清除浮动)