CSS3有一个很强大的calc属性可以供我们通过动态计算的方法来设置元素的宽高。 但是,在使用这个属性的时候,需要有一些注意的地方。 看下面这个例子: <div class="container"> <div class="title">Title</div> <div class="content">Content</div> <div class="footer">Footer</div> </div> .title { width: 100%; height: 100px; background-color: blue; } .content { width: 100%; /* 设置内容高度为视区的总高度减去footer和header的高度,使用CSS3的calc属性 */ height: calc(100% - 150px); background-color: #aaaaaa; } .footer { position: fixed; width: 100%; height: 50px; bottom: 0; background-color: black; } 表面上看这段代码没有问题,但是,我们在使用的时候就会发现,高度没能设置成功。因为高度为100%的时候,是相对于父级容器的高度来的,所以,还需要给父级容器设置高度才行。 所以,更改后的CSS如下: /* 父级容器设置高度为视区高度,vh表示view height,100vh表示高度为100% */ .container { color: #ffffff; height: 100vh; } .title { width: 100%; height: 100px; background-color: blue; } .content { width: 100%; /* 设置内容高度为视区的总高度减去footer和header的高度,使用CSS3的calc属性 */ height: calc(100% - 150px); background-color: #aaaaaa; } .footer { position: fixed; width: 100%; height: 50px; bottom: 0; background-color: black; } 这样,我们的高度设置就可以了。 谢谢大家。