最主要的缘由仍是我对盒子模型理解的不够。spa
盒子大小最为重要的2个部分就是padding和内容content。渲染
当咱们设置width是在设置content的大小,百分比的时候它参照的是父元素的content的大小。di
父元素content的大小(即width)为100px,子元素用百分比的时候100%就是100px。co
上述联系下。滚动条
若是父元素width设置为100%恰好撑满整个设备屏幕,若是这个时候子元素width仍是设置为100%;模型
同时,父元素用了padding,那就要出事了。会有横向滚动条。滚动
元素的盒子去渲染的时候,是先肯定下来content的大小,再去弄padding的大小。整个由盒子的内部向外部计算渲染。
若是content是100%了,它又要想办法去弄padding来知足你,那对不起了,来个横向滚动条把,或者整个元素的边界扩张了。
太晚了我想睡觉了。
总之,想用padding来限制内容大小或者子元素的时候,父元素不要设置width,若是width设置了就意味着content确定是不变的,彻底和咱们的想法矛盾了,父元素自身设置好padding就好了,下面子元素的宽度设置为100%。