CSS基础——浮动(float)【学习笔记】

16 篇文章 2 订阅
订阅专栏

1. 浮动(float)

1.1 CSS 布局的三种机制

网页布局的核心——就是用 CSS 来摆放盒子

CSS 提供了 3 种机制来设置盒子的摆放位置,分别是普通流(标准流)、浮动定位,其中:

  1. 普通流(标准流)
    • 块级元素会独占一行,从上向下顺序排列;
      • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table
    • 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行;
      • 常用元素:span、a、i、em等
  2. 浮动
    • 让盒子从普通流中起来,主要作用让多个块级盒子一行显示。
  3. 定位
    • 将盒子在浏览器的某一个置——CSS 离不开定位,特别是后面的 js 特效。

1.2 为什么需要浮动?

思考题:

我们首先要思考以下2个布局中最常见的问题?

  1. 如何让多个盒子(div)水平排列成一行?

  2. 如何实现盒子的左右对齐?

虽然我们前面学过行内块(inline-block) 但是他却有自己的缺陷:

  1. 它可以实现多个元素一行显示,但是中间会有空白缝隙,不能满足以上第一个问题。
  2. 它不能实现以上第二个问题,盒子左右对齐

因为一些网页布局要求,标准流不能满足我们的需要了,因此我们需要浮动来完成网页布局。

1.3 什么是浮动(float)

概念:元素的浮动是指设置了浮动属性的元素

  1. 脱离标准普通流的控制
  2. 移动到指定位置。
作用
  1. 让多个盒子(div)水平排列成一行,使得浮动成为布局的重要手段。
  2. 可以实现盒子的左右对齐等等…
  3. 浮动最早是用来控制图片,实现文字环绕图片的效果

在这里插入图片描述

语法

在 CSS 中,通过 float 中文, 浮 漏 特 属性定义浮动,语法如下:

选择器 { float: 属性值; }
属性值描述
none元素不浮动(默认值
left元素向浮动
right元素向浮动

浮动口诀
float ----- 浮 漏 特

1). 浮动口诀之 浮

浮动——浮~浮~浮~~~漂浮在普通流的上面。 脱离标准流。 俗称 “脱标”

.box1 {
    width: 200px;
    height: 200px;
    background-color: rgba(255, 0, 0, 0.5);
    float: left;
}
.box2 {
    width: 150px;
    height: 300px;
    background-color: skyblue;
}

小结

  • float 属性会让盒子漂浮在标准流的上面,所以第二个标准流的盒子跑到浮动盒子的底下了。
2). 浮动口诀之 漏

浮动——漏漏~ 浮动的盒子,把自己原来的位置漏给下面标准流的盒子,就是不占有原来位置,是脱离标准流的,我们俗称 “脱标”。

.box1 {
    width: 200px;
    height: 200px;
    background-color: rgba(255, 0, 0, 0.5);
    /* 让第 1 个盒子漂浮起来,不占位置 */
    float: left;
}
.box2 {
    width: 150px;
    height: 300px;
    background-color: skyblue;
}

所以,box2下面的其实就是跑到box1盒子下面了, 被box1给压住了,遮挡起来了

3). 浮动口诀之 特

浮动——特性 float属性会改变元素display属性。

任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。 生成的块级框和我们前面的行内块极其相似。

体验案例——div 水平排列

div {

    width: 200px;

    height: 200px;

    background-color: pink;

    /* 转换为行内块元素,可以水平显示,不过 div 之间有间隙,不方便处理 */

    /* display: inline-block; */

    /* 设置浮动属性,可以让 div 水平排列,并且没有间隙 */

    float: left;
}

.two {

    background-color: hotpink;

}

注意: 浮动的元素互相贴靠一起的,但是如果父级宽度装不下这些浮动的盒子, 多出的盒子会另起一行对齐

1.4 浮动(float)小结

我们使用浮动的核心目的——让多个块级盒子在同一行显示。 因为这是我们最常见的一种布局方式

float —— 浮漏特

特点说明
加了浮动的盒子是浮起来的,漂浮在其他标准流盒子的上面。
加了浮动的盒子是不占位置的,它原来的位置漏给了标准流的盒子
特别注意:浮动元素会改变display属性, 类似转换为了行内块,但是元素之间没有空白缝隙

1.5 浮动(float)的应用(重要)

浮动和标准流的父盒子搭配

我们知道,浮动是脱标的,会影响下面的标准流元素,此时,我们需要给浮动的元素添加一个标准流的父亲,这样,最大化的减小了对其他标准流的影响。

一个完整的网页,是 标准流 + 浮动 + 我们后面要讲的定位 一起完成的。

浮动应用案例

导航栏案例

注意,实际重要的导航栏中,我们不会直接用链接a 而是用 li 包含链接(li+a)的做法。

  1. li+a 语义更清晰,一看这就是有条理的列表型内容。
  2. 如果直接用a,搜索引擎容易辨别为有堆砌关键字嫌疑(故意堆砌关键字容易被搜索引擎有降权的风险),从而影响网站排名

1.6 浮动(float)的扩展

1). 浮动元素与父盒子的关系
  • 子盒子的浮动参照父盒子对齐

  • 不会与父盒子的边框重叠,也不会超过父盒子的内边距

2). 浮动元素与兄弟盒子的关系

在一个父级盒子中,如果前一个兄弟盒子是:

  • 浮动的,那么当前盒子会与前一个盒子的顶部对齐;
  • 普通流的,那么当前盒子会显示在前一个兄弟盒子的下方。

浮动只会影响当前的或者是后面的标准流盒子,不会影响前面的标准流。

建议

如果一个盒子里面有多个子盒子,如果其中一个盒子浮动了,其他兄弟也应该浮动。防止引起问题

2. 清除浮动

2.1 为什么要清除浮动

因为父级盒子很多情况下,不方便给高度,但是子盒子浮动就不占有位置,最后父级盒子高度为0,就影响了下面的标准流盒子。

  • 总结:
    • 由于浮动元素不再占用原文档流的位置,所以它会对后面的元素排版产生影响
    • 准确地说,并不是清除浮动,而是清除浮动后造成的影响

2.2 清除浮动本质

清除浮动主要为了解决父级元素因为子级浮动引起内部高度为0 的问题。清除浮动之后, 父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的标准流了

2.3 清除浮动的方法

在CSS中,clear属性用于清除浮动,在这里,我们先记住清除浮动的方法,具体的原理,等我们学完css会再回头分析。

  • 语法:
选择器{clear:属性值;}   clear 清除  
属性值描述
left不允许左侧有浮动元素(清除左侧浮动的影响)
right不允许右侧有浮动元素(清除右侧浮动的影响)
both同时清除左右两侧浮动的影响

但是我们实际工作中, 几乎只用 clear: both;

1).额外标签法(隔墙法)
是W3C推荐的做法是通过在浮动元素末尾添加一个空的标签例如 <div style=”clear:both”></div>,或则其他标签br等亦可。
  • 优点: 通俗易懂,书写方便
  • 缺点: 添加许多无意义的标签,结构化较差。
2).父级添加overflow属性方法
可以给父级添加: overflow为 hidden| auto| scroll  都可以实现。

优点: 代码简洁

缺点: 内容增多时候容易造成不会自动换行导致内容被隐藏掉,无法显示需要溢出的元素。

3).使用after伪元素清除浮动

:after 方式为空元素额外标签法的升级版,好处是不用单独加标签了

使用方法:

 .clearfix:after {  content: ""; display: block; height: 0; clear: both; visibility: hidden;  }   

 .clearfix {*zoom: 1;}   /* IE6、7 专有 */
  • 优点: 符合闭合浮动思想 结构语义化正确
  • 缺点: 由于IE6-7不支持:after,使用 zoom:1触发 hasLayout。
  • 代表网站: 百度、淘宝网、网易等
4).使用双伪元素清除浮动

使用方法:

.clearfix:before,.clearfix:after { 
  content:"";
  display:table; 
}
.clearfix:after {
 clear:both;
}
.clearfix {
  *zoom:1;
}
  • 优点: 代码更简洁
  • 缺点: 由于IE6-7不支持:after,使用 zoom:1触发 hasLayout。
  • 代表网站: 小米、腾讯等

2.4 清除浮动总结

什么时候用清除浮动呢?

  1. 父级没高度
  2. 子盒子浮动了
  3. 影响下面布局了,我们就应该清除浮动了。
清除浮动的方式优点缺点
额外标签法(隔墙法)通俗易懂,书写方便添加许多无意义的标签,结构化较差。
父级overflow:hidden;书写简单溢出隐藏
父级after伪元素结构语义化正确由于IE6-7不支持:after,兼容性问题
父级双伪元素结构语义化正确由于IE6-7不支持:after,兼容性问题
CSS学习笔记13——浮动
lxy95512的博客
01-14 177
CSS提供了三种传统布局方式(简单说就是舒如何进行排列顺序: 1、普通流(标准流) 2、浮动 3、定位 注意:实际开发中, 一个页面基本都包含了这三种布局方式。 标准流 标准流:就是标签按照规定好默认方式排列。 1.块级元素会独占一行,从上向下顺序排列。 常用元素:div、 hr、p、h1~h6、ul、 ol、 dl、 form、table 2.行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。 常用元素: sp...
【HTML】CSS基础教程 float浮动,珍藏笔记,实用
hnspystqxskzlqc的博客
03-23 1132
(接上一期知识,咱们继续讲解。) 一、float float:left float:right 浮动特性: 1.浮动元素脱离标准文档流,形成浮动流 2.块元素看不到浮动元素 3.bfc元素、行内元素、行内块元素和文本全都看得见浮动元素 4.所有经过浮动的元素都会变成行内块元素包括span ...
CSS基础浮动float)的3种方式,清除浮动3种方式的详解
u013179804的博客
04-22 1446
CSS 中常见的传统布局方式,包括普通流(标准流)、定位和浮动。这三种方式是网页布局中常用的基本手段,可以实现不同的排列和定位效果。所谓普通流,也称为标准流或文档流,是指在没有进行特殊定位或浮动的情况下,元素按照其在 HTML 文档中的顺序从上到下依次排列的布局方式。在普通流中,块级元素会垂直排列,各元素占据自己的一行,内联元素则水平排列在各自所在的行内。这种布局方式是 HTML 元素默认的排列方式,也是最常见的网页布局方式之一。所谓定位,就是咱们之前文所说的。
CSS浮动float)是什么、为什么、浮动特性、应用举例
atatsuki的博客
05-12 1216
什么是浮动.left,.right {/* 层叠性 */.right {左青龙
Float属性的作用
最新发布
一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身"农奴"把歌唱,一边打入敌人内部一边持续提升自己,为我们广大开发同胞谋福祉,坚决抵制睿智产品折磨我们码农兄弟!
09-12 825
希望您在这里可以感受到一份轻松愉快的氛围,不仅可以获得有趣的内容和知识,也可以畅所欲言、分享您的想法和见解。当元素被浮动后,它会尽可能地向左或向右移动,直到碰到容器的边界或其他已经浮动的元素。属性是 CSS 中非常强大且灵活的一个属性,它不仅可以用来实现元素的布局,还能用于创建复杂的网页设计。一个做过前端开发的产品经理,经历过睿智产品的折磨导致脱发之后,励志要翻身农奴把歌唱,当父容器内有浮动元素时,如果不加以处理,可能会导致父容器的高度塌陷。可以创建多列布局,如新闻网站常见的多篇文章并排显示的效果。
CSS float 浮动属性
weixin_34174422的博客
07-25 262
  本篇主要介绍float属性:定义元素朝哪个方向浮动。 目录 1. 页面布局方式:介绍文档流、浮动层以及float属性。 2. float:left :介绍float为 left 时的布局方式。 3. float:right :介绍float为 right 时的布局方式。 4. 相邻元素含有float属性:介绍相邻元素含有float属性时的布局方式。   1. 页面布局方式 页面...
CSS浮动
White_1_7的博客
06-22 216
css浮动属性
CSS浮动float
热门推荐
屈帅波的技术博客
05-26 1万+
一 传统网页布局的三种方式 网页布局的本质:用 CSS 来摆放盒子,把盒子摆放到相应位置。 CSS 提供了三种传统布局方式(简单说就是盒子如何进行排列)。 普通流(标准流) 浮动 定位 这里指的只是传统布局,其实还有一些特殊高级的布局方式。 二 标准流(普通流/文档流) 所谓的标准流:就是标签按照规定好的默认方式排列。 块级元素会独占一行,从上向下顺序排列。 行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。 以上都是标准流布局,我们前面学习的就是标准流,标准流是最基本的布局方式
CSS中的Float浮动
GZM888888的博客
05-05 1885
FloatCSS中的一种布局方式,它允许元素脱离正常的文档流,并向左或向右浮动Float属性最初是为了实现文字环绕图片的效果而设计的,但现在已经被广泛应用于网页布局中。
css float
wqeqwr的博客
09-18 449
学习目标(4): 1.熟练掌握CSS浮动 2.熟练掌握CSS定位 3.熟练掌握CSS高级技巧强化CSS 浮动(float) 普通流(normal flow) CSS的定位机制有3种:普通流(标准流)、浮动和定位。 html语言当中另外一个相当重要的概念----------标准流!或者普通流。普通流实际上就是一个网页内标签元素正常从上到下,从左到右排列顺序的意思,比如块级元素会独占一行,行内元素...
CSS学习笔记04——CSS布局·浮动
visionchyw的博客
06-08 137
CSS布局·浮动
学习笔记18:CSS清除浮动
01-08
CSS布局中,浮动元素(float)经常被用来创建多列布局或使文本环绕图片等效果。然而,浮动元素会带来一个问题,即它们可能会导致其父元素的高度塌陷,也就是父元素不再包含其浮动子元素,这在设计复杂的网页布局时...
学习标准——笔记
10-31
### 学习标准——笔记 #### 一、CSS布局技巧与注意事项 1. **对象具有浮动属性时的宽度处理:** - 当一个HTML元素(如`<div>`)设置了`float`属性后,该元素将脱离文档流,并且不再占据原来的位置空间。因此,在...
CSS float详解
嘿嘿
12-19 8257
一、float 1.什么是浮动:在我们布局的时用到的一种技术,能够方便我们进行布局,通过让元素浮动,我们可以使元素在水平上左右移动,再通过margin属性调整位置 2.浮动的原理:使当前元素脱离普通流,相当于浮动起来一样,浮动的框可以左右移动,直至它的外边缘遇到包含框或者另一个浮动框的边缘 3.浮动的生成:使用css属性float:left/right/none 左浮动/右浮动/不浮动(默认...
css float详解
黎先生的博客
04-04 1189
CSS浮动float是个概念比较暧昧的属性,撸主最早对浮动float的认识是基于布局的,认为float元素就是用于:“让block元素无视float元素,让inline元素让流水一样围绕着float元素”来实现浮动布局。现在想想,当初真是图样图森破。 其实这个属性撸主一直是比较模糊的,感觉似懂非懂。本着和自己死磕的精神,在参考了许多大神的博文后,将我的理解整理归纳在本文中,希望能可以帮助到你。
CSS float浅析
weixin_33981932的博客
07-18 207
写在开篇: 浮动属性的设计初衷,只是为了实现文本环绕效果! 时刻牢记这一点,才能正确使用浮动。 由于浮动元素脱离文档流,它后面的块级元素会忽略它的存在,占据它原本的位置,但是这个块级元素中的内联元素,在流入页面时会考虑浮动元素的边界,它们会围绕着浮动元素。 浮动元素的特征: 1.浮动元素脱离文档流。 2.浮动元素周围的外边距不会合并。 3.浮动元素具有包裹性。 4.浮动元素具...
css中的float
haimianxiaojie的专栏
05-24 777
前端面试过程中面试官喜欢问的几个关于css的问题,虽然这些知识平时觉得自己知道,但是有时候并不能很好地回答,所以特做此总结和整理。首先,这几个问题是什么呢? 1.网页布局,嗯……,这么说有点大。说到网页布局大家脑子里第一想到的肯定是盒模型,对的,盒模型当然是必考察的,盒模型的定义和要素,这个是比较简单和基础的,记住就好了。但是面试官当然不会就这么轻易放过你,那随便来两个题做做呗,给你一个网页布局,
今日查漏补缺
爱学习的豪豪的博客
08-01 229
一、五种居中的方式 1. .box1 { position:relative; } .box1 dv { position:absolute; left:50%; top:50%; margin-top:-75px; margin-left:-75px; } .box1 { position:relative; } .box1 dv { position:absolute left:0; top:0; right:0; bottom:0; margin:auto;} .box1 { displa
CSS float
阿渊博客
09-05 598
CSS浮动float浮动的意义:浮动出现的意义其实只是用来让文字环绕图片而已,仅此而已 浮动的本质:“包裹与破坏” 1. 撇开浮动的“破坏性”,浮动就是个带有方位的display:inline-block属性 2. 文字之所以会环绕含有float属性的图片时因为浮动破坏了正常的line boxes,具体的就是浮动破坏了图片的inline box,产生了两个结果:一是图片无法与文
css浮动属性float详解
08-19
CSS中的浮动属性(float)用于控制元素在其父元素中的位置和布局。通过设置浮动属性,我们可以将元素从正常的文档流中脱离出来,使其沿着父元素的左侧或右侧浮动浮动属性有三个可能的取值:left、right和none。默认值为none。 - 当设置为left时,元素会向左浮动,其周围的内容会围绕在右侧。 - 当设置为right时,元素会向右浮动,其周围的内容会围绕在左侧。 - 当设置为none时,元素不进行浮动,恢复正常的文档流。 浮动元素会具有块级元素的特性,即会占据一定的空间,并且会从左到右或从右到左排列。浮动元素不会占据父元素中的空间,所以其他元素会填充浮动元素的位置。 除了浮动属性外,我们通常还需要配合一些其他属性来控制浮动元素的行为: - clear属性用于清除浮动对后续元素的影响。可以设置为left、right、both或none来指定在浮动元素的左侧、右侧或两侧不允许出现浮动元素。 - overflow属性可以用于包含浮动元素,通过设置其值为auto或hidden,可以触发父元素的块级格式化上下文,使其包含浮动元素。 需要注意的是,使用浮动属性可能会导致一些布局上的问题,如高度塌陷(clearfix问题)和重叠等。为了避免这些问题,可以使用一些技巧和清除浮动的方法。 总而言之,浮动属性是CSS中用于实现元素布局的重要属性,可以使元素浮动到指定位置,并影响周围元素的布局。然而,由于其一些潜在的问题,现代CSS布局技术更倾向于使用flexbox和grid布局来代替浮动
写文章

分类专栏

  • 趣味软件/网站 1篇
  • ERROR 9篇
  • 练手の项目 2篇
  • 杂七杂八 14篇
  • javaweb 4篇
  • 前端 16篇
  • 编程语言
  • java 1篇
  • python 8篇
  • 数据库
  • mysql 7篇
  • 人工智能 3篇
  • 网络知识 2篇
  • 数据结构与算法
  • 软件测试 3篇
  • 功能测试 4篇
  • 性能测试
  • 接口测试 5篇
  • 自动化测试 2篇
  • 面试 3篇
  • 设计模式
  • 源码收集站

最新评论

  • 使用Python和Numpy进行波士顿房价预测任务(二)【深度学习入门_学习笔记】

    m0_71979424: 作者大大,麻烦问一下,使用fromfile数据没有读全,怎么办

  • 黑马博客——详细步骤(一)路由跳转和抽取公共部分代码

    2301_80325828: 期末作业就靠你了表情包表情包

  • python 实现图片转视频

    qq858505418: 是的,这个中间用中文括号

  • python 实现图片转视频

    什么时候才能年薪百万: 为啥我设置20,播放的速度变的很快

  • python 实现图片转视频

    找不到服务器zhn: 你再检查一下代码,里面的括号是中文的

最新文章

  • python如何实现1ms内触发两个接口请求
  • psexec实现控制多台电脑的cmd
  • 【记录】经常用到的小代码:将文件名汇总到excel
2023年9篇
2022年11篇
2021年13篇
2020年51篇

目录

目录

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家河北动物玻璃钢雕塑图片德州广场玻璃钢雕塑定制上海多彩玻璃钢雕塑方法猇亭玻璃钢造型雕塑欧式玻璃钢卡通雕塑代理商宿州彩绘玻璃钢雕塑日照市玻璃钢雕塑定制河北玻璃钢将军人物雕塑西安创意玻璃钢雕塑批发岑溪玻璃钢牌匾雕塑莆田小区玻璃钢雕塑生产厂家江苏商场周年美陈重庆玻璃钢雕塑在哪有沈阳玻璃钢雕塑方案江北区玻璃钢雕塑开封室内玻璃钢仿铜雕塑小品玻璃钢电影动漫雕塑批发厂家河北定做玻璃钢牛雕塑玻璃钢雕塑今日价格商场黄金活动美陈威海玻璃钢动物雕塑杭州玻璃钢广场标志性雕塑安康玻璃钢雕塑制作厂家达州成都商场美陈信息天津大型商场创意商业美陈怎么做吉林仿铜玻璃钢雕塑定做价格广元树箱玻璃钢雕塑厂家玻璃钢雕塑制作教程龙岩玻璃钢花盆报价芜湖定做玻璃钢雕塑香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化