深入解析CSS第四章容器折叠和清除浮动——读书笔记

4.2.1 理解容器折叠

  • 将四个媒体盒子浮动到左侧,可以看到本来应该出现在四个媒体盒子底部的白色背景仅仅出现在了Running tips下面
    在这里插入图片描述
    在这里插入图片描述
    原因:浮动是为了实现文字围绕浮动元素排列的效果。如果图片比段落文字高,下一会直接从上一段的文字下面开始,两段文字都会围绕浮动的图片排列。
    在这里插入图片描述

解决方案1

  • 容器向下扩展,直到包含清除浮动元素
    在这里插入图片描述
  • clear: both; 让该元素移动到浮动元素的下面
  • clear: left(right); 这样只会相应地清除向左或者向右浮动的元素
  • 因为div本身没有浮动,所以容器就会扩展,直到包含它,因此也会包含该div上面的浮动元素。

这种方式由于要在HTML里添加不必要的标记,才能实现本应由CSS实现的效果。因此我们要删掉上面的空div标签,用纯CSS方案来实现相同的效果


解决方案2

  • 可以用伪元素来实现
  • 清除浮动:
    在这里插入图片描述
    在这里插入图片描述
  • 浮动一致性问题
    浮动元素的外边距不会折叠到清除浮动容器的外部,非浮动元素的外边距则会正常折叠
    标题“Running tips”紧挨着白色的<main>元素的顶部,它的外边距在容器外面折叠了。在这里插入图片描述
    解决方案:
    清除浮动的修改版:能包含所有的外边距
    在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值