CSS之浮动


传统网页布局的3种方式

1、普通流(标准流)

标签按照规定好的默认方式排列。

  1. 块级元素独占一行,从上到下顺序排列

    1. div、hr、p、h1~h6、ul、ol、dl、form、table
  2. 型内元素,按照左右顺序排列,配到父元素自动换行。

    1. span、a、i、em

2、浮动

网页布局准则:多个块级元素纵向排列找标准流,多个块级元素横向排列找浮动。

float属性用于创建浮动,将其移动到一边,直到左右边缘。

选择器 {
	float:属性值;
}

2.1、浮动特性

  • 浮动元素会脱离标准流。

    1. 脱离标准流的控制(浮起来)、移动到指定的位置(动)。

    2. 浮动的盒子不再保留原先的位置。

  • 浮动的元素会一行内显示并且元素顶部对齐。

    1. 如果多个盒子浮动,则它们会按照属性值一行内显示并且顶端对齐排列。
  • 浮动的元素具有行内块元素的特性。

    1. 任何元素都可以浮动。不管以前是什么模式的元素,添加完浮动之后则具有行内块元素相似的特性。

    2. 浮动的盒子之间没有宽度,是紧挨在一起的。

  • 浮动的元素不会压住标准流的文字

2.2、浮动元素经常和标准流的父级一起搭配使用

网页布局策略:先用标准流的父级元素排列上下布局,再用内部子元素采取浮动排列左右位置。

3、常见网页布局

3.1、浮动元素经常和标准流的父级一起搭配使用

网页布局策略:先用标准流的父级元素排列上下布局,再用内部子元素采取浮动排列左右位置。

3.2、一个元素浮动了,理论其他兄弟元素也要浮动

一个盒子里面有多个盒子,如果其中一个盒子浮动了,那么其他兄弟元素也跟着浮动。

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

4、清除浮动

父盒子很多情况下不方便给高度,但子盒子浮动不占父盒子位置,父盒子则高度为0,则会影响布局。

  • 清除浮动的本质是清除浮动元素造成的影响

  • 如果父盒子有高度,则不需要清除浮动

  • 清除浮动后,父级就会根据浮动的子盒子自动检测高度。父级有了高度,就不会影响下面的盒子布局。

语法:

选择器 {
	clear:属性值;
}

在实际开发中,几乎只用both属性

4.1、清除浮动的方法

  1. 额外标签法(隔墙法)

  2. 父级添加overflow属性

  3. 父级添加after伪元素

  4. 父级添加双伪元素

4.2、清除浮动-额外标签法

在最后的添加一个新盒子元素设置clear:both属性

  • 优点:通俗易懂,书写方便

  • 缺点:添加很多无意义的标签,结构化较差

4.3、清除浮动-父级添加overflow

可以给父级添加overflow书写,将其书写设置为hidden、auto、scroll

  • 优点:代码简洁

  • 缺点:无法显示溢出的部分

4.4、清除浮动-after伪元素法

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zHd2XVxA-1611839729200)(https://tcs.teambition.net/storage/3121d340ccde9d48013e16fd4c42842ec966?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxMjQ0NDQ4OSwiaWF0IjoxNjExODM5Njg5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjFkMzQwY2NkZTlkNDgwMTNlMTZmZDRjNDI4NDJlYzk2NiJ9.tDd1-_jB4_vfMXn5rMKIyvaCUshzS0RJ8QScyzpjVgU&download=image.png “”)]

4.5、清除浮动-双伪元素

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-I6kKxRvu-1611839729202)(https://tcs.teambition.net/storage/31213dda9996c2bed999b78d97874f74adc1?Signature=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJBcHBJRCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9hcHBJZCI6IjU5Mzc3MGZmODM5NjMyMDAyZTAzNThmMSIsIl9vcmdhbml6YXRpb25JZCI6IiIsImV4cCI6MTYxMjQ0NDQ4OSwiaWF0IjoxNjExODM5Njg5LCJyZXNvdXJjZSI6Ii9zdG9yYWdlLzMxMjEzZGRhOTk5NmMyYmVkOTk5Yjc4ZDk3ODc0Zjc0YWRjMSJ9.r212En8qmby8JYwGbFjQh1WkfGTL3ayrvZMR_OOWykM&download=image.png “”)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值