CSS浮动

浮动

传统网页布局的三种方式

网页的本质:用CSS摆放盒子,将盒子摆放到相应位置。实际开发中,一个页面基本都包含了这三种布局方式。

普通流(标准流)

       标准流:按照标签规定好的默认方式排列

1、块级元素会独占一行,从上向下顺序排列

  • 常用元素:div、hr、p、h1~h6、ul、ol、dl、form、table

2、行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行。

  • 常用元素:span、a、i、em

浮动

浮动可以改变元素默认的排列方式。
float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘。
最典型的应用:让多个块级元素一行内排列显示。
网页布局第一准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动
网页布局第二准则:先设置盒子大小,之后设置盒子的位置
![在这里插入图片描述](https://img-blog.csdnimg.cn/bf7b770a66d744d6b31369ca891b7d3c.pn

浮动特性(重点)
  • 浮动元素会脱离标准流
    脱离标准普通流的控制移动到指定位置,俗称脱标,浮动的盒子不再保留原先的位置。(原来的位置就空了,可以让其他标准流占有

浮动:相当于该盒子向我们面前(屏幕外)升起了一格。

   .box1 {
        height: 200px;
        width: 200px;
        background-color: pink;
        float: left;                 这个盒子加了浮动,升起了一格
    }

    .box2 {
        height: 250px;
        width: 250px;
        background-color: rgb(22, 235, 206);      这个盒子没加浮动的时候,他就会跑到box1盒子没升起来的时候的位置,实现两个盒子的叠层效果
        /* float: left; */
    }

运行结果:
在这里插入图片描述

  • 如果多个盒子都设置了浮动,则他们会按照属性值一行内显示并且顶端对齐排列。(如果有一个盒子没设置浮动就会独占一行)
    浮动的元素是互相紧贴靠在一起的,不会有缝隙。若父亲宽度装不下这么多盒子,剩下的盒子就会另起一行

  • 浮动元素会具有行内块元素特性
    任何元素都可以设置浮动,不管原来是什么模式的元素,添加浮动后就会具有行内块元素相似的特性,如span,本身是一个行内元素,不能直接设置宽和高,以前我们需要将它转换成块级、行内块元素,现在只要将其添加一个float属性即可设置宽和高。
    如果块级盒子没有设置宽度,默认宽度和父级一样宽,但是添加了浮动后,他的宽度根据内容来决定,如p标签,设置了浮动后,宽度随文字的大小改变。

浮动元素经常和标准流父级搭配使用

先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置,复合网页布局第一准则。
在这里插入图片描述

清除浮动

有些情况下,标准流父亲的高度不方便进行指定(比如盒子里内容过多或过少时,如果给了具体高度,内容可能会超出或是留下一大片空白),这种情况不需要给父亲指定一个具体的高度,只需要让浮动的盒子撑开它即可。但当父亲高度为0时,浮动的子盒子又不占有位置,就会影响下面的标准流盒子。所以我们要清除浮动。

清除浮动的本质

清除浮动元素造成的影响。如果父盒子本身有高度,就不需要清除浮动。清除浮动后,父级就会根据浮动的子盒子自动检测高度,父级有了高度,就不会影响下面的标准流了
语法:

选择器 {clear:属性}

在这里插入图片描述

清除浮动策略:闭合浮动

清除浮动方法

(1)额外标签法:也成隔墙法,是w3c推荐的方法
在浮动元素末尾添加一个空标签,例如<div style="clear:both"></div>,或者其他标签,如br等,这个元素必须是块级元素,不能是行内元素
(2)父级添加overflow
overflow属性,将其属性设置为hidden、auto或scroll。缺点:无法显示溢出的部分。
(3):after伪元素法
在这里插入图片描述
(4)双伪元素清除浮动
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值