🔶跟着我后端也可以零基础入门CSS6️⃣🔶

举报
XiaoLin_Java 发表于 2022/02/22 15:37:20 2022/02/22
【摘要】 六、浮动 6.1、CSS 布局的三种机制网页布局的核心,就是用 CSS 来摆放盒子。CSS 提供了 3 种机制来设置盒子的摆放位置,分别是普通流(标准流)、浮动和定位。普通流(标准流):块级元素会独占一行,从上向下顺序排列,常用:div、hr、p、h1~h6、ul、ol、dl、form、table。行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。常用:span、a、i、em...

六、浮动

6.1、CSS 布局的三种机制

网页布局的核心,就是用 CSS 来摆放盒子。CSS 提供了 3 种机制来设置盒子的摆放位置,分别是普通流(标准流)、浮动定位

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

6.2、什么是浮动(float)

元素的浮动是指设置了浮动属性的元素会脱离标准普通流的控制移动到指定位置。他有三个作用:

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

6.3、浮动语法

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

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

6.4、浮动详解

漂浮在普通流的上面。脱离标准流。 俗称 “脱标”,float 属性会让盒子漂浮在标准流的上面,所以第二个标准流的盒子跑到浮动盒子的底下了。

在这里插入图片描述

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

浮动的盒子,把自己原来的位置漏给下面标准流的盒子,就是不占有原来位置。

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

float属性会改变元素display属性。任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素。 生成的块级框和我们前面的行内块极其相似。下面举例我们生活中很常见的一个样式:div 水平排列。

div {

    width: 200px;

    height: 200px;

    background-color: pink;

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

    /* display: inline-block; */

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

    float: left;
}

.two {

    background-color: hotpink;

}

在这里插入图片描述

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

6.4、浮动小结

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

float浮漏特

特点 说明
加了浮动的盒子是浮起来的,漂浮在其他标准流盒子的上面。
加了浮动的盒子是不占位置的,它原来的位置漏给了标准流的盒子
特别注意:浮动元素会改变display属性, 类似转换为了行内块,但是元素之间没有空白缝隙
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。