假如我们想body里的div占满整个浏览器窗口,我们首先想到的是给div设置height:100%;宽度由于div是块元素,不需要设置就是100%的。于是我们有如下代码

*{margin:0; padding: 0;}

.mydiv{ height: 100%; background-color: #ccc; }

占满整个浏览器窗口

代码很简单。那么我们看下显示的效果如何呢?

显示效果:

d954266118d656fef2e00a0ab8487406.png

我们选中div,会发现

20b4493928149706b1fc5db682c053b9.png

div的高度确实只有文字高度那么高。

那么如果你细心的话,你会发现,body此时的高度,也只有文字块那么高。

963ddf25bf88a51f0aca06f9c0bc0d5a.png

那么我们自然想到,我给body也加个高度等于100%吧。

于是我们加上body{height: 100%}

测试发现

139bc4e2e5eaa44b0f8627b8ea5735e0.png

好像也没啥卵用

那怎么办呢,其实我们离真相已经很近了。我们发现,html跟元素的高度也是文字块那么高。

fc6740eb2b3ab35e5ec825acbe6d7494.png

原来浏览器默认的body,和html是没有高度的。或者说高度是auto的。

那么接近办法就是给body和html都设置高度为100%就可以了吧。

*{margin:0; padding: 0;}

html, body{ height: 100%; } /* 给html,body都设置高度100% */

.mydiv{ height: 100%; background-color: #ccc; }

占满整个浏览器窗口

此时我们看效果:

4f513fad040dbf22bc82a776370aa923.png

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐