1. 《CSS世界》height属性
2.关于height:100%;的特性
- 100%为什么无效
高度的默认值明确就是auto,高度百分比计算自然是无果,width却没有这样的说法,因此,就按照包含真实的计算值作为百分比计算的基数。
- 如何让元素支持 height: 100%;效果
设定显式的高度值
html, body {
height: 100%;
}
.box, div {
height: 100%;
}
使用绝对定位
.box {
position: relative;
height: 100px;
background-color: red;
}
.son {
height: 100%;
position: absolute;
background:red;
width: 100%;
}
3.绝对定位与非绝对定位元素height: 100%;的区别
- 绝对定位的元素height: 100%;是参考padding-box;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.fath {
height: 100px;
background-color: red;
padding: 20px;
box-sizing: border-box;
}
.son {
height: 100%;
background-color: blue;
}
</style>
</head>
<body>
<div class="fath">
<div class="son"></div>
</div>
</body>
</html>
- 非绝对定位的元素height: 100%;是参考content-box;
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.fath {
height: 100px;
background-color: red;
padding: 20px;
box-sizing: border-box;
position: relative;
}
.son {
height: 100%;
background-color: blue;
position: absolute;
width: 100%;
}
</style>
</head>
<body>
<div class="fath">
<div class="son"></div>
</div>
</body>
</html>