您的位置:首页 > Web前端 > CSS

CSS——灵活布局 float (浮动属性)

2016-08-24 00:21 447 查看

目录

浮动概述

浮动定位

float属性

clear属性

float与overfloat

第一部分

1. 浮动概述

浮动定位是指(特点)

- 将元素排除在普通流之外,即元素将脱离标准文档流

- 元素将不在页面占用空间

- 将浮动元素放置在包含框的左边或者右边

- 浮动的框可以向左或者向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止

- 经常使用它来实现特殊的定位效果

第二部分

2. 浮动定位



请看上图,左边的三个框是在标准文档流中,由于自身都是块级元素(独占一行)所以是之上而下排列的,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘;这边由于浮动元素不占用页面空间,所以框2、3往上移动。



再请看上图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘。因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失。

如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到包含框,另外两个框向左浮动直到碰到前一个浮动框。



如上图所示,如果包含框太窄,无法容纳水平排列的三个浮动元素,那么其它浮动块向下移动,直到有足够的空间。如果浮动元素的高度不同,那么当它们向下移动时可能被其它浮动元素“卡住”。

要注意以下几点:

1、 浮动元素会被自动设置成块级元素,相当于给元素设置了display:block(块级元素能设置宽和高,而行内元素则不可以)。

2、 浮动元素后边的非浮动元素显示问题。

3、 多个浮动方向一致的元素使用流式排列,此时要注意浮动元素的高度。(最后一幅图所示的特殊效果)

4、子元素全为浮动元素的元素高度自适应问题。(三种方法来解决)

第三部分

3. float属性

描述
默认值:none
继承性:no
版本:css1
JavaScript:object.style.cssFloat=”left”
可能的值:

left元素左浮动
right元素右浮动
none默认值。元素不浮动,并且会显示在其在文本中出现的位置
inherit规定应该从父元素继承float属性的值
注释:浏览器的支持性:所有主流浏览器都支持float属性

第四部分

4.clear属性

定义和用法:

clear 属性规定元素的哪一侧不允许其他浮动元素。如果声明为左边或右边清除,会使元素的上外边框边界刚好在该边上浮动元素的下外边距边界之下。

描述
left在左侧不允许浮动元素
right在右侧不允许浮动元素
both在左右两侧均不允许浮动
none默认值。允许浮动出现在两侧
inherit规定应该从父元素继承clear属性的值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  浮动float css 布局