css 实现手机自适应高度

本问主要参考 【CSS黑科技2】CSS百分比实现高度占位自适应(margin/padding)

基本知识点

本文依赖于一个基础却又容易混淆的css知识点:当padding/margin取形式为百分比的值时,无论是left/right,还是top/bottom,都是以父元素的width为参照物的!

图一

图二

当给padding设置百分比数值的时候,其值是根据width计算的

例如:

结果图

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>菜鸟教程(runoob.com)</title>
<style>
div.father{
width: 100px;
height: 200px;
background: red;
}
div.son{
width: 100%;
height: 0;
padding-top:100%;
background: yellow;
}
</style>
</head>
<body>
<div class="father">
<div class="son"></div>
</div>
</body>
</html>