码迷,mamicode.com
首页 > 其他好文 > 详细

清浮动方法小结

时间:2017-08-31 14:23:49      阅读:143      评论:0      收藏:0      [点我收藏+]

标签:over   这不   span   高度   而且   定位   color   好用   空格   

      通常我们创建一全页面的布局时,浮动是一种常用的方法,也是页面元素定位的一种基本功能。浮动可以让元素一个挨着一个。浮动可以创建一个自然流布局,同时充许元素设置自身尺寸和其父元素容器的尺寸大小。

       虽然  浮动 很好用,但是使用上还是存在一定的问题。最典型的问题就是一个父元素包含了多个浮动的子元素。页面的内容设置了一个宽度,子元素的浮动确定了他们的位置,但浮动元素不会影响父元素的宽度。这样做会让父元素塌陷,从而使父元素的高度为“0”,以及忽略其他的属性。

 

    今天我们就来说说几种清浮动的方法:

1、html的方法:

    在容器的结束标签前添加一个空标签,在空标签上直接设置样式“clear:both”。<div style="clear:both"></div>

缺点:用这种方法来清除浮动,在大多数情况下是有效的,但这不太适合语义化。而且如果有很多浮动需要清除,这样就会造成页面上的空标签迅速堆积,而且在页面中没有上下文内容。

 

2、css的方法:

  1、使用“overflow”属性,在具有浮动元素的父容器中设置“overflow”的属性值为“hidden”,这样父容器就会有一个高度存在。

缺点:当你添加样式,或者将嵌套在里面的子元素移动到父容器的外面,或者你想给元素添加一个盒子阴影和制作一个下拉菜单。在下面的演示例子中,你可以看到元素的盒子阴影被切断在父元素之内。

 

 

  2、给父元素添加上  clearfix ::before  或  clearfix ::after  两个伪类。使用这些伪类,我们可以在浮动元素的父容器前面和后面创建隐藏元素。(推荐使用)

.clearfix::after {
content: ".";           //引号中间的空格一定要有,是指定添加的隐藏元素的内容为空的。
display: block;         // 指定隐藏元素的显示模式为块状

height: 0;         //为了该元素不占用空间

clear: both;            //清除左右浮动

visibility: hidden;          //隐藏添加的当前元素

*zoom:1;          //为了兼容ie6

}

    目前解决浮动最推荐的方式

清浮动方法小结

标签:over   这不   span   高度   而且   定位   color   好用   空格   

原文地址:http://www.cnblogs.com/qdxy/p/7457793.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!