1:什么是盒子模型?
最重要的一点就是水平方向外边距是会叠加的哈
内容 内边距 边框 外边距==盒子模型;
注意一下:外边距是没有背景颜色的哈.设置不了的哈.
举例子: 结论 1.在HTML中所有的标签都可以设置 宽度/高度 == 指定可以存放内容的区域 内边距 == 填充物 边框 == 手机盒子自己 外边距 == 盒子和盒子之间的间隙
代码:
代码语言:javascript复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
*{padding: 0px;margin: 0px;}
span,a,b,strong
{
display:inline-block;
width: 100px;
height: 100px;
border: 6px solid #000;
padding: 20px;
margin:20px;
}
</style>
</head>
<body>
<span>我是span</span>
<a href="#">我是超链接</a>
<b>我是加粗</b>
<strong>我是强调</strong>
</body>
</html>
效果:
2:盒子模型宽度和高度(重要)
1.内容的宽度和高度 就是通过width/height属性设置的宽度和高度 2.元素的宽度和高度 宽度 = 左边框 左内边距 width 右内边距 右边框 高度 同理可证 3.元素空间的宽度和高度 宽度 = 左外边距 左边框 左内边距 width 右内边距 右边框 右外边距 高度 同理可证
什么是内容?
width height
什么是元素?
边框 内边距 内容宽度/内容高度 。
什么是元素的空间?
外边距 边框 内边距 内容宽度/内容高度
做个练习把.
代码语言:javascript复制<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style type="text/css">
*{padding: 0px;margin: 0px;}
/*判断是否是内容宽高为100的盒子*/
.box1{
width: 100px;
height: 100px;
background-color: yellow;
}
/*判断是否是元素宽高为200的盒子*/
.box2{
/*25 25 150 = 200*/
width: 150px;
height: 150px;
border: 25px solid #000;
}
.box3{
width: 150px;
height: 150px;
padding:20px;
border: 5px solid #000;
background-color: blue;
}
/*判断是否是元素空间宽高为300的盒子*/
.box4{
/*
50 50 25 25 25 25 100
100 50 50 100
300
*/
width: 100px;
height: 100px;
padding: 25px;
border: 25px solid #000;
margin: 50px;
}
/*现有如下盒子模型, 要求增加padding属性为25之后仍然保持元素宽高为200
元素宽高 = 边框 内边距 内容宽高
= 0 0 200 = 200
= 0 25 25 200 = 250
= 0 25 25 150 = 200
规律:
1.增加了padding之后元素的宽高也会发生变化
2.如果增加了padding之后还想保持元素的宽高, 那么就必须减去内容的宽高
*/
.box5{
width: 150px;
height: 150px;
padding: 25px;
background-color: red;
}
/*现有如下盒子模型, 要求增加border属性为20之后仍然保持元素宽高为200
元素宽高 = 边框 内边距 内容宽高
= 0 0 200 = 200
= 0 20 20 200 = 240
= 0 20 20 160 = 200
规律:
1.增加了border之后元素的宽高也会发生变化
2.如果增加了border之后还想保持元素的宽高, 那么就必须减去内容的宽高
*/
.box6{
width: 160px;
height: 160px;
border: 20px solid #000;
background-color: deepskyblue;
}
</style>
</head>
<body>
<div class="box1">box1</div>
<div class="box2">box2</div>
<div class="box3">box3</div>
<hr>
<div class="box4">box4</div>
<div class="box5">box5</div>
<div class="box6">box6</div>
</body>
</html>
效果
第一个:
第二个:
第三个
第四个:
第五个·: