width属性100%和auto的区别
1、width:100%
表示子元素的宽度和父元素的宽度相等,不包括子元素设置的内外边距和边框的值,即子元素的宽度等于父元素content的宽度
代码如下:
<style>
.big {
background-color: pink;
width: 100px;
height: 50px;
padding: 10px;
}
.box1 {
width: 100%;
background-color: green;
}
.box2 {
width: 100%;
background-color: red;
padding: 10px;
margin: 10px;
border: 1px #ffff;
}
</style>
<body>
<div class="big">
<div class="box1">box1</div>
<div class="box2">box2</div>
</div>
</body>
运行结果:
2、width:auto
表示子元素的宽度+内外边距+边框 等于 父元素的宽度
代码如下:
<style>
.big {
background-color: pink;
width: 100px;
height: 50px;
padding: 10px;
}
.box1 {
width: auto;
background-color: green;
}
.box2 {
width: auto;
background-color: red;
padding: 10px;
margin: 10px;
border: 1px #ffff;
}
</style>
<body>
<div class="big">
<div class="box1">box1</div>
<div class="box2">box2</div>
</div>
</body>
运行结果:
总结
无论是 width: 100% 还是 width: auto,都是相对于父元素的 content 宽度来计算的,区别就在于:
width:100% 的元素, width 与父元素的 content 宽度相等
width:auto 的元素,总宽度(加边框+内外边距)与父元素的 content 宽度相等