CSS之float属性

float属性:定义元素朝哪个方向浮动。

1.页面标准文档流、浮动层、float属性

1.1 文档流

HTML页面的标准文档流(默认布局)是:从上到下,从左到右,遇块(块级元素)换行。

1.2 浮动层

浮动层:给元素的float属性赋值后,就是脱离文档流,进行左右浮动,紧贴着父元素(默认为body文本区域)的左右边框。

而此浮动元素在文档流空出的位置,由后续的(非浮动)元素填充上去:块级元素直接填充上去,若跟浮动元素的范围发生重叠,浮动元素覆盖块级元素。内联元素:有空隙就插入。

1.3 float 属性介绍

  ① left :元素向左浮动。

  ② right :元素向右浮动。

  ③ none :默认值。

  ④ inherit :从父元素继承float属性。

1.4 相邻兄弟元素情况

相邻兄弟元素是否也包含了float属性,会影响布局。

1.5 默认布局图

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title>2.3-float属性</title>
    <style type="text/css">
        #a
        {
            background-color:Red;
            height:50px;
            width:100px;
        }
        #b
        {
            background-color:Yellow;
            height:50px;
            width:200px;
        }
        #c
        {
            background-color:Blue;
            height:50px;
            width:300px;
         }
         #d
         {
            background-color:Gray;
            height:50px;
            width:400px;
         }

    </style>
</head>
<body>
<div id=a >div-a</div>
<div id=b>div-b</div>
<div id=c>div-c</div>
<input type="text" value="input1"  />
<input type="text" value="input2" />
<input type="text" value="input3 " />
<div id=d>div-d</div>
<input type="text" value="input4 " />
</body>
</html>
复制代码

  

2.float:left

说明:元素向左浮动。

2.1 代码变更

input2 添加:float:left

div-b 添加:float:left

div-d 添加:float:left

2.2 变更后视图

  ① 浏览器的宽度“不够长”时

    

  ② 浏览器的宽度"够长"时

    

2.3 结论

当前元素分类(float:left) 下一个紧邻元素分类(不含float) 结论
块级元素(a) 块级元素(b) b会填充a遗留下来的空间,a会和b发生重叠,a的图层在上面。
内联元素(b) b会紧跟在a的后面。并根据自身内联元素的特点,是否换行。
内联元素(a) 块级元素(b) b不会跟随a的移动。
内联元素(b) b会紧跟在a的后面。并根据自身内联元素的特点,是否换行。

3.float:right

说明:元素向右浮动。

3.1 代码变更

input2元素:添加 float:right

div-b 添加:float:right

div-d 添加:float:right

3.2 变更后视图

  ① 浏览器的宽度“不够长”时

  

  ② 浏览器的宽度"够长"时

  

3.3 结论

当前元素分类(float:right) 下一个紧邻元素分类(不包含float) 结论
块级元素(a) 块级元素(b) b会填充a遗留下来的空间,若a会和b发生重叠(父容器宽度减少),a的图层在上面。
内联元素(b) b会填充a遗留下来的空间。
内联元素(a) 块级元素(b) b不会跟随a的移动。
内联元素(b) b会填充a遗留下来的空间。

4. 相邻元素含有float属性

因内联元素的特性,最好别把内联元素与块级元素相邻使用float属性。

下面都以块级元素为例

默认视图:

4.1 float:left

    给这三个div都添加 float:left

4.1.1 视图

    ①浏览器的宽度"足够长"

    

    ②浏览器的宽度"不够长"

    

4.1.2 结论

    Ⅰ 相邻的浮动元素,left属性最前面的元素,排在最左面。

    Ⅱ 成为浮动元素后,在浮动层拥有内联元素的"特性",当多个浮动元素1排容不下时,就换行。

4.2 float:right

    给这三个div都添加 float:right

4.2.1 视图

    ①浏览器的宽度"足够长"

    

    ②浏览器的宽度"不够长"

    

4.2.2 结论

    Ⅰ 相邻的浮动元素,right属性最前面的元素,排在最右面。

    Ⅱ 成为浮动元素后,在浮动层拥有内联元素的"特性",当多个浮动元素1排容不下时,就换行。

4.3 height高度不等的块级元素

把div-a的height值设为大于div-b,三个div都添加 float:left后:

4.3.1 视图

    ①浏览器的宽度"足够长"

    

    ②浏览器宽度缩小时

    

    ③浏览器宽度进一步缩小时

    

4.3.2 结论

    Ⅰ height不相等的div浮动元素排序时,照拥有内联元素的"特性",当多个浮动元素1排容不下时,就换行。

4.3.3 解决浏览器宽度缩小变形

    把添加float的属性的div元素嵌入在一个div中,并给此div添加width和height属性。浏览器宽度缩小时,也不会发生变形。

    可参照 CSS HTML元素布局及Display属性介绍

    

时间: 2024-11-03 03:46:24

CSS之float属性的相关文章

CSS浮动(float)属性学习经验分享

作为一名前端开发的初学者,CSS的布局定位无疑成为了一个难点,这两天通过看一些博客的技术分享和自己的反复实践,大概领悟到了一些float的“门道”. 下面就通过一些例子来归纳总结一下我所学到的浮动特性: (一)浮动元素对其兄弟元素是标准流元素的影响: 现在假定HTML文档中从上到下有3个块元素A.B.C 1.现设定A.C为标准流中的元素,B设为float:left (注:为了更直观地显示,设B的透明度为0.5,B是在C上方的) 由此可见:将B设为浮动元素后,B脱离了标准文档流,浮于其上方,因此他

css中float属性和position

css中float属性: float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止. 默认值: none 继承性: no 版本: CSS1 JavaScript 语法: object.styl

(十一)学习CSS之float属性

参考:http://www.w3school.com.cn/cssref/pr_class_float.asp 定义和用法 float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 如果浮动非替换元素,则要指定一个明确的宽度:否则,它们会尽可能地窄. 注释:假如在一行之上只有极少的空间可供浮动元素,那么这个元素会跳至下一行,这个过程会持续到某一行拥有足够的空间为止. 值 描述

CSS 浮动 float 属性

浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止. 由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样. 请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘: 再请看下图,当框 1 向左浮动时,它脱离文档流并且向左移动,直到它的左边缘碰到包含框的左边缘.因为它不再处于文档流中,所以它不占据空间,实际上覆盖住了框 2,使框 2 从视图中消失. 如果把所有三个框都向左移动,那么框 1 向左浮动直到碰到

css div float属性

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-

CSS float属性

抓的别人的,没有看完,先保留下来好了,感觉挺好的,毕竟刚刚接触.... 详解CSS样式中的float属性.float是 css 样式的定位属性.我们在印刷排版中,文本可以按照需要围绕图片.一般把这种方式称为“文本环绕”.在网页设计中,应用了CSS的float属性的页面元素就像在印刷布局里面的被文字包围的图片一样.浮动的元素仍然是网页流的一部分.这与使用绝对 定位的页面元素相比是一个明显的不同.绝对定位的页面元素被从网页流里面移除了,就像印刷布局里面的文本框被设置为无视页面环绕一样.绝对定位的元素

CSS之float

在 HTML中的所有对象,默认分为两种:块元素(block element).内联元素(inline element),虽然也存在着可变元素,但只是随上下文关系确定该元素是块元素或者内联元素. 其实CSS的float属性,作用就是改变块元素(block element)对象的默认显示方式.block对象设置了float属性之后,它将不再独自占据一行.可以浮动到左侧或右侧. 浮动的框可以向左或向右移动,直到它的外边缘碰到包含框或另一个浮动框的边框为止.由于浮动框不在文档的普通流中,所以文档的普通流

CSS之float的那些事

相信很多同学在学习CSS的float属性时,会有很多说不清道不明的小情绪,我也遇到一些,暂且mark一下. 以下内容分为如下小节: 1:float属性 2:float属性的特性     2.1:float之文字环绕效果 2.2:float之父元素高度塌陷 3:清除浮动的方法 3.1:html法 3.2:css伪元素法 4:float去空格化 5:float元素块状化 6:float流体布局     6.1:单侧固定 6.2:DOM与显示位置不同的单侧固定 6.3:DOM与显示位置相同的单侧固定

详解CSS float属性

CSS中的float属性是一个频繁用到的属性,对于初学者来说,如果没有理解好浮动的意义和表现出来的特性,在使用的使用很容易陷入困惑,云里雾里,搞不清楚状态.本文将从最基本的知识开始说起,谈谈关于浮动的应用,出现的问题和解决方案. 基础知识 float,顾名思义就是浮动,设置了float属性的元素会根据属性值向左或向右浮动,我们称设置了float属性的元素为浮动元素.浮动元素会从普通文档流中脱离,但浮动元素影响的不仅是自己,它会影响周围的元素对齐进行环绕.举例说明如下:Html代码: 1 <div