
巧妙解决内层DIV宽度受外层padding影响的问题
在网页布局中,经常遇到内层DIV宽度需要占据父级DIV的100%宽度,但又不能被父级DIV的padding值影响的情况。 以下是一个常见的例子:
内容
如果直接设置内层DIV宽度为100%,由于父级DIV的10px padding,内层DIV的实际宽度会小于父级DIV的可用空间。
解决方法:使用负margin值抵消padding的影响。
/* 内层DIV样式 */
div div {
margin: 0 -10px; /* 负margin值与父级padding值相等 */
width: 100%;
box-sizing: border-box; /*可选,包含padding和border在内计算宽度*/
}
通过设置内层DIV的左右margin为-10px,正好抵消了父级DIV的10px padding,从而使内层DIV的宽度达到100%。 box-sizing: border-box; 是可选的,如果使用它,则padding和border都会包含在元素的宽度内计算,这样可以简化计算,避免负margin的麻烦。 选择哪种方法取决于你的具体需求和编码习惯。










