css中的浮动

2018-08-15  本文已影响0人  疯狂的蜗牛Dianna

1、浮动的意义

1.浮动最开始是做图文绕排的。

2.浮动的布局应用场景:让元素直接排成一排,或者一个靠左一个靠右。

2、浮动的的特性:

(1)、浮动的元素不占有标准流的位置

(2)、不会继承父元素的宽度而是有多大就撑多大

(3)、可以直接写宽高无论前生是块级还是行内元素

(4)、margin:0 auto;对于脱标元素没有用

3、当元素浮动了之后会脱离普通的文档流,那么当父留

级元素么有设有高度的时候那么,此时父级元素的高就变成了0怎么样去解决这个bug呢??

有以下的四种方法

第一种:

(1)、给父级元素高加一个固定的高度(不推荐,不利于后期维护)

(2)、额外标签法,创建一个新的块级盒子放在浮动元素的最后面,给这个盒子添加一个css属性:clear:both;(不推荐,会产生一个多余的盒子)

(3)、用伪元素闭合浮动 (推荐,书写一个公共类就可以使用)

那么代码是:

.clearfix::after{

content=" ";

clear:both;

display:block;

hieght:0;

visibility:hidden;

}

.clearfix{ *zoom:1;}

或者

.clearfix:before,.clearfix:after{content:"";display:table;}.clearfix:after{clear:both;}

/* 为了兼容IE6,7 */.clearfix{ *zoom:1;}

伪元素的特性

1、伪元素由css渲染 所以不会增加你的DOM(html结构)开销

2、伪元素默认是行内元素 可以进行转块等处理

3、伪元素不管有没有内容 content这个值一定不能少 即使没有 也要写个空

4、伪元素 官方推荐写:: 但是为了兼容考虑 写成单冒号

5、因为伪元素是css渲染 所以JS获取不到

上一篇下一篇

猜你喜欢

热点阅读