float是css样式中的定位属性,用于设置标签对象(如:

标签盒子、标签、标签、标签等html标签)的浮动布局,浮动也就是我们所说标签对象浮动居左靠左(float:left)和浮动居右靠右(float:right)。

中文名

CSS浮动

外文名

cssfudong

属性

float 属性实现元素的浮动功    能

浮动的框可以向左或向右移动

clear应用

对容器 div 进行浮动

作    用

这有助于减少或消除不必要的标记

CSS浮动CSS浮动

语音

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

由于浮动框不在文档的普通流中,所以文档的普通流中的块框表现得就像浮动框不存在一样。

请看下图,当把框 1 向右浮动时,它脱离文档流并且向右移动,直到它的右边缘碰到包含框的右边缘:

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

css浮动图示2

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

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

css浮动图示3

CSS浮动float 属性

语音

在 CSS 中,我们通过 float 属性实现元素的浮动。

如需更多有关 float 属性的知识,请访问参考手册:CSS float 属性。

行框和清理

浮动框旁边的行框被缩短,从而给浮动框留出空间,行框围绕浮动框。

因此,创建浮动框可以使文本围绕图像:

css浮动图示4

要想阻止行框围绕浮动框,需要对该框应用 clear 属性。clear 属性的值可以是 left、right、both 或 none,它表示框的哪些边不应该挨着浮动框。

为了实现这种效果,在被清理的元素的上外边距上添加足够的空间,使元素的顶边缘垂直下降到浮动框下面:

css浮动图示

这是一个有用的工具,它让周围的元素为浮动元素留出空间。

让我们更详细地看看浮动和清理。假设希望让一个图片浮动到文本块的左边,并且希望这幅图片和文本包含在另一个具有背景颜色和边框的元素中。您可能编写下面的代码:

.news {

background-color: gray;

border: solid 1px black;

}

.news img {

float: left;

}

.news p {

float: right;

}

some text

这种情况下,出现了一个问题:因为浮动元素脱离了文档流,所以包围图片和文本的 div并不占据空间。这点从图片中可以很清楚的看到,div的框并没有包裹住图片和文本。

那么如何让父类包围元素在视觉上包围浮动子元素呢?或者,更抽象层次的说,当一个盒子内部的子盒子由于设置了float属性导致父类盒子无法被撑开,如何撑开父类盒子呢?我们可以对某个元素使用clear:both撑开父类盒子:

css浮动图示

不幸的是出现了一个新的问题,由于没有现有的元素可以应用清理,所以我们只能添加一个空元素并且清理它。

.news {

background-color: gray;

border: solid 1px black;

}

.news img {

float: left;

}

.news p {

float: right;

}

.clear {

clear: both;

}

some text

CSS浮动clear应用

语音

这样可以实现我们希望的效果,但是需要添加多余的代码。常常有元素可以应用 clear,但是有时候不得不为了进行布局而添加无意义的标记。

不过我们还有另一种办法,那就是对容器 div 进行浮动:

.news {

background-color: gray;

border: solid 1px black;

float: left;

}

.news img {

float: left;

}

.news p {

float: right;

}

some text

这样会得到我们希望的效果。不幸的是,下一个元素会受到这个浮动元素的影响。为了解决这个问题,有些人选择对布局中的所有东西进行浮动,然后使用适当的有意义的元素(常常是站点的页脚)对这些浮动进行清理。这有助于减少或消除不必要的标记。

CSS浮动清除浮动

语音

在上面的叙述中,我们遇到过父类盒子没有被撑开的情况,这是由于子类盒子设置了float:left或float:right或两者都有的属性,这种情况可能会产生一些我们不希望看到的情况:

(1)、背景不能显示

由于浮动产生,如果对父级设置了(CSS background背景)CSS背景颜色或CSS背景图片,而父级不能被撑开,所以导致CSS背景不能显示。

(2)、边框不能撑开

如果父级设置了CSS边框属性(css border),由于子级里使用了float属性,产生浮动,父级不能被撑开,导致边框不能随内容而被撑开。

(3)、margin padding设置值不能正确显示

由于浮动导致父级子级之间设置了css padding、css margin属性的值不能正确表达。特别是上下边的padding和margin不能正确显示。

由于这些负面情况的出现,我们有个时候希望能清除浮动,一般有以下两个方法:

(1)对父级设置适合高度样式清除浮动。

(2)新引入一个空的子元素,运用clear:both样式清除浮动。

[1]

词条图册

更多图册

参考资料

1.

css浮动

.w3school[引用日期2013-04-18]

html中的左浮动的作用,CSS浮动相关推荐

  1. css 浮动 解决,div+css浮动的解决方法

    如何清楚浮动(一) 已知一个大的div容器,这个容器包含了两个子div容器,然后在这两个子div容器的后面再添加一个div(这个div表示清除浮动的div容器),清楚浮动的div容器设置css样式为c ...

  2. html中左右浮动怎么写,css 浮动(float)页面布局

    [第一步 整体布局与公共CSS定义]我们先来分析一下这个页面 页面主要分5大块,顶部的Logo.导航条Nav.Banner.Content.Footer,如下图 下载 (116.12 KB) 2009 ...

  3. 【web前端开发】CSS浮动

    文章目录 1.浮动 2.伪元素 3.标准流 4.行内块元素的问题 5.浮动的作用 6.浮动的特点 7.清除浮动 方法1:额外标签 方法2:单伪元素 方法3:双伪元素 方法4:overflow 1.浮动 ...

  4. CSS浮动、定位总结

    一.CSS 浮动 1. CSS 浮动属性简介 CSS float 属性是一个定位属性,用于使元素脱离正常的文档流,并浮动在它的父容器的左侧或右侧 float 设置元素在水平方向浮动,意味着元素只能 ...

  5. css现在还用浮动吗,css3-9 css中的浮动怎么使用

    css3-9 css中的浮动怎么使用 一.总结 一句话总结:用来做一般的行效果,比如说手机左右分布的头部导航栏.浮动的东西放到一个div中去,里面的内容根据需求左浮动或者右浮动,然后记得加上清除浮动. ...

  6. html中li能做浮动吗,css浮动规则

    css浮动 在说明浮动规则之前,先讲一下为什么需要浮动吧. HTML中的标签可分为块状元素和行内元素.块状元素在页面显示中独占一行,可以定义宽高,就像这样: 但行内元素可以并排显示, 那么如果想要实现 ...

  7. HTML中浮动的特性,浅谈CSS浮动的特性

    本文介绍了CSS浮动的特性,分享给大家,顺便给自己留个笔记 浮动具有以下特性: 盖不住的文本 浮动元素后面不是块级元素,后面的元素将会和它并排(除非设置了元素的宽度,并且屏幕放不下时将会换行) 浮动元 ...

  8. html clear的作用,css中clear的作用是什么?

    当属性设置float(浮动)时,它的物理位置已经脱离文档流了,但大多时候我们希望文档流能识别float(浮动),或者希望float(浮动)后面的元素不受float(浮动)的影响,这个时候我们就需要使用 ...

  9. css里面的after_css中:after和:before的作用及使用方法

    本章给大家介绍css中:after和:before的作用及使用方法.有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1. :before 和 :after 的主要作用是在元素内容前后加 ...

最新文章

  1. Gulp:插件编写入门
  2. C# Keycode对照表
  3. SQLAlchemy 多条件查询
  4. add_argument函数action参数的store_true==》在运行程序添加参数时直接输入变量名,可以省略对应的默认值True或者False
  5. Linux 命令(111)—— alias 命令(builtin)
  6. MapXtreme 2005 学习心得 将wor格式转wms格式(十)
  7. 汇编语言程序vs. 汇编程序
  8. 学校教师使用计算机管理制度,教师办公室电脑使用及学校网络管理制度
  9. 这些才是Win10真正好用之处:瞬对Win7无爱
  10. 电动汽车相关功率计算
  11. 【论文笔记_对比学习_2021】CONTRASTIVE LEARNING WITH HARD NEGATIVE SAMPLES
  12. 广度优先搜索——动态类迷宫问题
  13. 软件构造LAB1的一些思考
  14. c++小游戏代码(免费)
  15. 涛思数据加入龙蜥社区,携手共建时序数据库生态
  16. 老java程序员告诉你要不要选择外包,外包公司的好处你知道吗
  17. 深度学习第三天-卷积神经网络(CNN):乳腺癌识别
  18. 说不清心里对于这个孩子是什么样的感情
  19. 【Ubuntu18.04离线安装网卡驱动】自带r8169安装r8125有线网卡驱动
  20. python3之路 基础-协成

热门文章

  1. java---设计模式之:观察者模式
  2. 【自动化测试】RIDE的使用
  3. 为什么机器人操作系统ROS1、ROS2这么难学
  4. 再整理CGI 与 FASTCGI 当然
  5. 《淘宝店铺设计装修一册通》一2.1 Photoshop界面
  6. 在基层当正职好,还是到上一级当副职好?傻瓜才说提级好,高手都分析这几个方面...
  7. 当老师就当一名快乐的老师
  8. 5.自动生成summary文件
  9. 清河好程序员训练营是什么?
  10. 拥抱机器视觉新蓝海,冀为好望开启数字经济发展新“冀”遇