padding不会撑开盒子的情况
注意:
- 宽度属性width和高度属性height仅适用于块级元素,对行内元素无效(img标签和input除外)
- 计算盒子模型的总高度时,还应考虑上下两个盒子垂直外边距合并的情况
- 如果一个盒子没有给定宽度/高度,就会用其父类的属性,这时padding不会影响盒子的大小
课堂实例:
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>2019年9月9号</title>
<style>
.father
{
width: 300px;
background-color: pink;
height: 200px;
padding-left: 30px;
/*因为父盒子有宽度给定值了,则padding会撑开盒子*/
}
.son
{
/*padding-left: 30px;
子代盒子没有给定宽度,用的是默认的,所以padding是不会撑开盒子的
如果给定宽度的情况下,也会被padding撑开*/
}
</style>
</head>
<body>
<div class="father">
<div class="son">123</div>
</div>
</body>
</html>
作业:自己瞎鼓捣的
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8" />
<title>padding不会撑开盒子——2019年9月9号</title>
<style>
.father
{
text-align: center;
width: 300px;
height: 300px;
background-color: greenyellow;
line-height: 2px;
padding-top: 2px;
/*padding-left: 30px;*/
}
.son1
{
float: left;
width: 80px;
}
.son2
{
float: right;
width:80px;
}
</style>
</head>
<body>
<div class="father">
<h3 style="word-wrap: break-word;">演员表:</h3>
<div class="son1">
<h4>剧中饰演:</h4>
</div>
<div class="son2">
<h4>姓名:</h4>
</div>
</div>
</body>
</html>
上面的实际效果是这样的:
- 用来实现这个过程中:遇到了一些困难:
- 首先是,如何在一个盒子里实现两行文字:用浮动特性
- 接着,如何缩短父盒子和子盒子文字之间的距离:用line-height设置行距
- 但在上面的过程中,会发现“演员表”会超出边界,用padding-top来设置文字距离边框的距离
如果把盒子里面的注释取消就会发现:盒子在有宽度的情况下,padding-left会撑开盒子的大小
好的,分享到这!