浮动

133 阅读2分钟

今天呢重要学习了盒子的浮动:

1.浮动的作用:

用来实现并排

2.使用浮动需要注意的事项

(1)盒子要想使用浮动,并排的盒子都要设置浮动,要浮动都浮动,不能有的浮动,有的不能浮动。 (2)在设置浮动的时候,一定要注意父盒子的宽度,让子盒子可以充分的浮动,如果宽度上没有控件的话,会使得盒子掉下去。

3.浮动贴靠的顺序

4.只要设置浮动之后,就一定会设置宽和高

5.浮动中需要注意的事项:

(1)只有并排的盒子需要使用浮动,竖直的盒子不需要设置浮动 (2)大盒子如果有浮动的话,大盒子先浮动,小盒子在大盒子的内部进行浮动 (3)盒子的数量一定要足够多。

6.BFC规范:

( 1)定义

英语全名是 box formatting contex,中文名字是块级格式化上下文,其主要意思是盒子是一个独立的整体,独立的控件,不会对外面的内容进行影响,也不会收到外面的内容的影响。

(2)盒子实现BFC的方法:

主要是有四种:①给父盒子设置float属性,只要float值不是none就行(一般不是很常用) ②position的值不是static或者relative ③display的值是inlin-block flex inline-flex(用的也不是很多) ④给盒子设置overflow:hidden

7.浏览器差异:

不同的浏览器其机制是不同的,ie6 和ie7使用的是haslayout机制和一般的BFC机制有点儿区别,主要是在进行设置的时候要注意规范化。

8.清除浮动:

(1)清除浮动的原因:

不清除浮动的话,前面的盒子会对后续元素产生影响,就是如果前面的父盒子的高度没有了的话,子盒子设置浮动之后,不会将父盒子撑起来,这时候,后面的盒子就会认为前面的盒子没有高度,就会对后面的盒子产生影响。

(2)什么叫清除浮动:

清除浮动就是将其关闭到一个封闭的盒子中,今儿避免对后续元素产生影响。

(3)清楚浮动的方法 :

主要有四种 ①让内部有浮动的父盒子满足BFC(最好的方法就是给其添加上 overflow:hidden) ②给后面的父盒子添加clear:both属性,但是这种方法呢存在一定的问题,就是会使得margin失效。 ③给两个父盒子添加相同的类名,并且在类名后面添加伪元素::after 比如说,给两个父盒子都添加clearfix类名,则可以写成clearfix::after {content="" clear:both display:block} ④在两个父盒子之间添加一个墙,并且给墙设置为:clear:both,如果想实现margin效果,可以给这个墙设置高度。