详解浮动元素引起的问题和解决办法

所属分类: 网页制作 / CSS 阅读数: 311
收藏 0 赞 0 分享

一、问题

  • 多个浮动的元素无法撑开父元素的宽度,父元素的高度可能会变成0。
  • 若浮动元素后面跟非浮动元素,非浮动元素会紧随其后浮动起来。
  • 若浮动元素前面还有同级元素没有浮动则会影响页面结构。

二、解决办法

1.clear:both

在最后一个浮动元素后面添加属性为clear:both;的元素。

<style>
div.parent>div.fl{
    float: left;
    width: 200px;
    height: 200px;
    margin-right: 20px;
    border: 1px solid red;
}
.clear{
    clear: both;
}
</style>
<div class="parent">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
    <div class="clear">5</div>
</div>

给父元素添加clear:both;属性的:after伪元素。

<style>
div.parent>div.fl{
    float: left;
    width: 200px;
    height: 200px;
    margin-right: 20px;
    border: 1px solid red;
}
.clear:after{
    content: '';
    display: block;
    clear: both;
}
</style>
<div class="parent clear">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
</div>

注意:伪元素默认是内联水平,所以借助伪元素时要设置属性display: block;。

2.overflow:auto / overflow: hidden

<style>
div.parent{
    overflow: auto;
    /*overflow: hidden;也可以*/
}
div.parent>div.fl{
    float: left;
    width: 200px;
    height: 200px;
    margin-right: 20px;
    border: 1px solid red;
}
</style>
<div class="parent">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
</div>

3.浮动父级元素

<style>
div.parent{
    float: left;
}
div.parent>div.fl{
    float: left;
    width: 200px;
    height: 200px;
    margin-right: 20px;
    border: 1px solid red;
}
</style>
<div class="parent">
    <div class="fl">1</div>
    <div class="fl">2</div>
    <div class="fl">3</div>
    <div class="fl">4</div>
</div>

注意:一般不用这个方法,会引起父级元素排版问题。

到此这篇关于详解浮动元素引起的问题和解决办法的文章就介绍到这了,更多相关浮动元素引起问题内容请搜索脚本之家以前的文章或继续浏览下面的相关文章,希望大家以后多多支持脚本之家!

更多精彩内容其他人还在看

CSS去除移动端点击时元素产生的背景色 (推荐)

这篇文章主要介绍了CSS去除移动端点击时元素产生的背景色 (推荐),代码很简单,需要的朋友跟随小编一起看看吧
收藏 0 赞 0 分享

详解CSS Sprite雪碧图的应用

这篇文章主要介绍了详解CSS Sprite雪碧图的应用,CSS雪碧图该方法是将多个小图标和背景图像合并到一张图片上,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享

css和html的四种结合方式

这篇文章主要介绍了css和html的四种结合方式,需要的朋友可以参考下
收藏 0 赞 0 分享

CSS3 Flex 弹性布局实例代码详解

这篇文章主要介绍了CSS3 Flex 弹性布局实例代码,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

纯css3实现思维导图样式示例

思维导图又称之为脑图,本篇文章主要介绍了使用css3实现思维导图样式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

使用CSS属性选择器来拼接HTML的DNA的方法

CSS属性选择器非常神奇,它们可以帮你避免添加数不胜数的类名,从另一方面来指出你代码里的一些问题。接下来通过本文给大家介绍使用CSS属性选择器来拼接HTML的DNA的方法,需要的朋友参考下吧
收藏 0 赞 0 分享

css文本两端对齐的实现代码

这篇文章主要介绍了css文本两端对齐的实现代码,需要的朋友可以参考下
收藏 0 赞 0 分享

CSS多级菜单的实现代码

这篇文章主要介绍了CSS多级菜单的实现代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS未知高度垂直居中的实现

这篇文章主要介绍了CSS未知高度垂直居中的实现,详细的介绍了几种方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

CSS 、JS实现浪漫流星雨动画

这篇文章主要介绍了CSS 、JS实现浪漫流星雨动画的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享
查看更多