css中float问题,解决 css float 的越界问题

今天解决了一个问题,困扰很久的问题。

Problem

fc9cc43e259ab60ef22d26fd0062f09d.png

如下图,如果 sidebar 是 float: left,然后 main content 是 margin: left 的 static 定位,当 main content 的子元素使用了 clear 的时候,就会把外层的 sidebar 浮动也清除掉,就想第二幅图那样,这样的结果不是我们想要的。

然后就 stackoverflow 到了如下解法:

关键解法如下:

/* Should contain all floated and non-floated content, so it needs to

* establish a new block formatting context without using overflow: hidden. */

.container {

display: inline-block;

width: 100%;

zoom: 1; /* new block formatting context via hasLayout for IE 6/7 */

}

加入上述的容器样式,可以让 clear 不穿越到容器之外。

具体原理我也不懂,暂且先拿来主义,最起码解决了长久以来的隐痛。。

【转载请附】愿以此功德,回向 >&gt

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值