div宽度设置width-100%后再设置padding或margin超出父元
CSS3新属性box-sizing:解决div元素宽度设置的难题
你是否曾在设置div元素的宽度为width:100%后,因为添加了padding或margin而使其超出了父元素的边界?这是一个常见的问题,但CSS3的一个新属性box-sizing可以完美解决这一问题。今天,让我们一起这个神奇的属性。
在CSS中,box-sizing属性决定了元素的总宽度和高度如何计算。这是一个强大的属性,拥有三个可能的值:content-box、border-box和inherit。
content-box是CSS2.1规定的默认宽度和高度行为。在这种模式下,元素的宽度和高度仅适用于内容框,边框和填充是在内容框之外绘制的。这意味着如果你设置了一个元素的宽度为100%,然后添加了填充或边距,元素可能会超出其父元素的边界。
border-box模式则完全不同。在这种模式下,元素的宽度和高度决定了元素的边框盒大小。这意味着你添加的任何填充或边框都会在已设定的宽度和高度内进行绘制。这使得元素不会超出其父元素的边界,无论你是否添加了填充或边距。
那么,如何使用这个神奇的属性呢?以下是一个简单的例子:
```html
div.container {
width: 100%;
border: 1em solid;
padding: 15px;
box-sizing: border-box; / 设置容器使用border-box模式 /
}
div.box {
box-sizing: border-box; / 子元素也使用border-box模式 /
-moz-box-sizing: border-box; / 针对Firefox的兼容写法 /
-webkit-box-sizing: border-box; / 针对Safari的兼容写法 /
width: 100%; / 子元素宽度设置为100%,不会超出容器 /
border: 1em solid red;
float: left; / 使子元素浮动在左侧 /
padding: 15px; / 添加填充 /
}
``` 以上的代码片段中创建了一个父容器和两个子元素。由于使用了border-box模式,子元素不会超出父元素的边界,即使添加了填充或边距。这对于创建响应式布局非常有用。以上就是关于CSS3的box-sizing属性的介绍和使用方法。希望这篇文章能帮助你解决在使用div元素时遇到的宽度问题。如果你有任何疑问或需要进一步的讨论,欢迎留言交流。
网站源码
- 2018新款VAIO S13内部做工如何?全新VAIO S13拆解图评
- 十张图看清奇酷手机 大神手机和大神Note3
- CSS常用样式简单的总结包括定位、显示等属性
- 控制光线反差的三种方式图文教程
- 华硕灵耀X2Pro值得买吗 华硕灵耀X2Pro笔记本深度图
- ThinkPad T470p值得买吗?ThinkPad T470p商务本全面详细
- 神秘的影子帐号揭秘
- html5跳转小程序wx-open-launch-weapp踩坑
- DW怎么设置滚动字幕-
- 全国各地敲响网络安全警钟 河南企业如何应对?
- 动动歪脑筋 n个妙招让笔记本使用更轻松
- 了解无线加密的多种方法及其区别
- ai怎么画学霸人物插画- ai人物角色画法
- div宽度设置width-100%后再设置padding或margin超出父元
- Acer掠夺者Triton700值得买吗?宏碁掠夺者Triton700
- 国际最高IP68防水认证 雷柏V750防水游戏机械键盘