元素width:100%; 设置padding出现横向滚动条的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素width:100%; 设置padding出现横向滚动条的问题相关的知识,希望对你有一定的参考价值。

当我们给块元素设置宽度为100%,然后再设置padding值想让里面的内容有一定的内边距时,会发现此时内边距的效果达到了,但是却出现了横向滚动条,

原因:padding 是边框和里面内容之间的间隙,如果你设置了padding,padding的值是不变的,当内容+padding大于容器时,它会以容器的左上角为中心,保持padding的距离向外扩展,因此出现了滚动条,正常解决办法是,将元素宽度减去padding值的2倍,但是现在元素宽度值并不是具体的px值,而是百分数,

这种情况下解决办法有两种:
1.最简单的办法是去掉元素宽度值设置,width:100%,块级元素默认就是100%宽度,设置padding后,padding会被计算为宽,实际效果的宽度会自适应的调整为100%。
2.利用css3新特性给父级设置box-sizing:border-box; 此时元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制,元素设定的宽度和高度会自动减去边框和内边距得到内容的宽度和高度。

以上是关于元素width:100%; 设置padding出现横向滚动条的问题的主要内容,如果未能解决你的问题,请参考以下文章

紧急求助!!width:100%出现一个水平滚动条怎么办

css已设置width100% 为啥宽度没有占满浏览器?

input 设置 width:100% 和padding后宽度超出父节点

css布局时,为啥fixed定位元素设置width:100%会超出父容器的右侧

前端 - 关于开发时遇到的问题和解决方案;

width:100% width:auto 区别