为了账号安全,请及时绑定邮箱和手机立即绑定

新手求问width:100%;是相对于父元素还是相对于Body,为什么一定要设置width100%;?还有width:100%; overflow:hidden;的原理是什么?

看了好多问题答案各有千秋   始终不太明白

正在回答

4 回答

width:100%是相对于父元素的,没有说一定要设置width:100%,

overflow:hidden 的意思是超出的部分要裁切隐藏掉.

overflow:hidden是为了帮助父元素清除浮动的影响,

关于overflow:hidden的

          第一种理解: float 的元素不占普通流位置,普通流的包含块要根据内容高度裁切隐藏,如果高度是默认值auto,那么不计算其内浮动元素高度就裁切,就有可能会裁掉float。所以如果没有明确设定容器高情况下,它要计算内容全部高度才能确定在什么位置hidden,浮动的高度就要被计算进去,顺带达成了清理浮动的目标. 

           第二种理解:设置overflow:hidden的目的是为了使父容器形成BFC。

          BFC有三个特性,  1. BFC会阻止垂直外边距(margin-top、margin-bottom)折叠  

                                       2.BFC不会重叠浮动元素

                                     3.BFC可以包含浮动

          如何简单地形成BFC

                           float为 left|right

                            overflow为 hidden|auto|scroll

                           display为 table-cell|table-caption|inline-block

                            position为 absolute|fixed

使用BFC有一定的局限性:

              使用float的时候会使父容器长度缩短,而且还有个重要缺陷——父容器float解决了其塌陷问题,那么父容器的父容器怎么办?难道要全部使用folat吗(确实有这种布局方式倒是)。BFC的几种方式都有各自的问题,overflow属性会影响滚动条和绝对定位的元素;position会改变元素的定位方式,这是我们不希望的,display这几种方式依然没有解决低版本IE问题。。。


0 回复 有任何疑惑可以回复我~
#1

001122 提问者

虽然不太懂 不过还是谢谢你这么详细地解答~~
2016-08-19 回复 有任何疑惑可以回复我~
#2

001122 提问者

非常感谢!
2016-08-19 回复 有任何疑惑可以回复我~

相对于父标签,父标签没有在继承你爷爷的遗产。:-D自己弄个背景色试下不就知道了

0 回复 有任何疑惑可以回复我~

没事,很多东西可能一下理解不透,不过以后会逐步地理解的

0 回复 有任何疑惑可以回复我~

1、是相对父元素的。

2、宽度设置为父元素一致。超出部分隐藏。

1 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
网页布局基础
  • 参与学习       214707    人
  • 解答问题       1756    个

让你精通CSS中三大定位机制,彻底掌握网页布局的相关知识

进入课程

新手求问width:100%;是相对于父元素还是相对于Body,为什么一定要设置width100%;?还有width:100%; overflow:hidden;的原理是什么?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信