牛客刷题-CSS-02【浮动和清除浮动】

1.

先看看W3Cschool的基础属性

float 属性

  • left - 元素浮动到其容器的左侧
  • right - 元素浮动在其容器的右侧
  • none - 元素不会浮动(将显示在文本中刚出现的位置)。默认值。
  • inherit - 元素继承其父级的 float 值

最简单的用法是,float 属性可实现(报纸上)文字包围图片的效果。

clear 属性指定哪些元素可以浮动于被清除元素的旁边以及哪一侧。

clear 属性可设置以下值之一:

  • none - 允许两侧都有浮动元素。默认值
  • left - 左侧不允许浮动元素
  • right- 右侧不允许浮动元素
  • both - 左侧或右侧均不允许浮动元素
  • inherit - 元素继承其父级的 clear 值

使用 clear 属性的最常见用法是在元素上使用了 float 属性之后。

在清除浮动时,应该对清除与浮动进行匹配:如果某个元素浮动到左侧,则应清除左侧。您的浮动元素会继续浮动,但是被清除的元素将显示在其下方。

浮动的定义

在非IE浏览器下,容器不设置高度,子元素浮动,容器不会被内容撑开,此时内容溢出到容器外面影响布局,这种现象就是浮动(溢出)。

浮动的工作原理

  • 浮动元素脱离文档流,不占据空间。(包含框的高度小于浮动框,就会出现高度塌陷的问题
  • 浮动元素会停留在包含框或者其他浮动元素的边框

 元素浮动之后不会影响块级元素的布局,只会影响内联元素的布局

浮动元素引起的问题

父元素的高度无法被撑开,影响与父级元素同级的元素。

与浮动元素同级的非浮动元素会紧跟其后

若浮动元素不是第一个元素,则该元素之前的元素也要浮动,否则会影响页面的显示结构。

清除浮动的方式

给父级div定义height属性

最后一个浮动元素之后添加一个空的div标签,并添加clear:both属性

包含浮动元素的父级标签添加overflow:hidden或者overflow:auto

使用:after 伪元素。由于IE6-7不支持:after,只用zoom:1触发hasLayout(最好的做法)

.clearfix::after {
  content: "";
  clear: both;
  display: table;
}
.clearfix{
*zoom:1;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

隐藏用户y

虽然不是很有才华,但是渴望打赏

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值