前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用float后清除浮动的几种方法

使用float后清除浮动的几种方法

作者头像
德顺
发布2019-11-13 17:08:45
7280
发布2019-11-13 17:08:45
举报
文章被收录于专栏:前端资源前端资源
float 属性用于定义元素在哪个方向浮动。以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动。

浮动元素会生成一个块级框,而不论它本身是何种元素。所有主流浏览器都支持 float 属性。

注意:任何的版本的 Internet Explorer (包括 IE8)都不支持属性值 "inherit"。

使用 float 属性后 元素会跳出当前区域,下面的元素会挤占上来,所以需要清除浮动,清除 float 浮动常用的方法有以下几种:

1、同辈元素清除浮动:clearfix

有以下两点需要注意:

  1. 清除浮动元素本身不能为浮动元素;
  2. 清除浮动的元素必须是块级元素;

HTML代码如下:

代码语言:javascript
复制
<ul>
    <li class="fl">li1</li>
    <li class="fl">li2</li>
    <li class="fl">li3</li>
    <li class="clearfix"></li>
</ul>

style部分代码,先设置浮动元素,给一个宽高和边框,方便观察:

代码语言:javascript
复制
.fl{
	float: left;
	border: 1px solid red;
	height: 80px;
	width: 500px;
}

清除浮动代码:

代码语言:javascript
复制
.clearfix{
    clear: both;
}

但是这个方法有一个缺点,会增加无意义的空标签。

2、父辈元素清除浮动,常用的方法有两种:

第一种:给父元素设置 overflow:hidden 或者 auto。

代码语言:javascript
复制
ul{
    padding: 0;
    border: 1px solid green;
    overflow: auto;
    /*overflow: hidden;*/
}

此方法也有一个缺点,就是 hidden 超出部分会隐藏,对SEO不太友好,auto超出部分会出现滚动条,影响美观。

第二种:使用伪元素清除浮动:before||after;

代码语言:javascript
复制
ul::after{
            content: '';/*必须要加的*/
            display: block;
            clear: both;
}

此方法比较常见,推荐使用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-04-03),如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档