width 属性用于设置元素的宽度。width 默认设置内容区域的宽度,但如果 box-sizing 属性被设置为 border-box,就加上边框区域的宽度
DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Documenttitle>
head>
<style>
div {
color: #fff;
font-size: 2rem;
text-align: center;
}
.parent {
width: 600px;
height: 600px;
background-color: blue;
border: 10px solid black;
padding: 20px;
}
.child {
background-color: red;
border: 10px solid grey;
margin: 20px;
height: 100px;
}
.auto{
width: auto;
}
.hundred-percent{
width: 100%;
}
style>
<body>
<div class="parent">
parent
<div class="child auto">child1: width:autodiv>
<div class="child hundred-percent">child2: width:100%div>
div>
body>
html>
我们给parent设置了padding:20px 内边距,给两个child都设置了margin:20px的外边距。child1的width属性是auto,child2的width属性是100%。
明显地看到两个child的不同表现,child1的宽度是可以适应的,不会溢出其父元素
child1 最终宽度为
600px - 20px(外边框)* 2 - 0px(内边距)* 2 - 10px (边框宽度)* 2 = 540px
而child2的宽度则是和父元素一样大最终溢出了其父元素。
child2 最终宽度为 600px