为什么打开时一片空白?

为什么打开时一片空白?

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>sky and lawn</title>

    <style>

        .container{

            width:100%;

            height:100%;

        }

       .sky{

           width:100%;

           height:60%;

           background:linear-gradient(rgb(196, 228, 253),rgb(255,255,255));

       }

       .lawn{

           width:100%;

           height:40%;

           background:linear-gradient(rgb(255,255,255),rgb(148,190,89));

       }

    </style>

</head>

<body>

    <div class="container">

        <div class="sky"></div>

        <div class="lawn"></div>

    </div>

</body>

</html>

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学你好,关于同学的问题回答如下:

1、html的高度,在这里是浏览器可视范围的高度。即:
http://img1.sycdn.imooc.com//climg/5ef721fa0996d69913550552.jpg

2、如果只设置body,不设置html的话:

http://img1.sycdn.imooc.com//climg/5ef7228b09aff8b205010219.jpg

html的高度是0:

http://img1.sycdn.imooc.com//climg/5ef7229609ff1dec04740257.jpg

是因为它并没有被实质性的内容撑开。

当只设置html,不设置body时:

http://img1.sycdn.imooc.com//climg/5ef722c0099232d604430219.jpg

html的高度是浏览器可视范围的高度的100%,而由于高度不会继承,body的高度就会为0:

http://img1.sycdn.imooc.com//climg/5ef722ee09f1578304790304.jpg

所以要两个都设置,就是设置html的高度是浏览器可视窗口高度的100%,body又是html高度的100%,才会占据全屏。

同学再理解下。

祝学习愉快~

好帮手慕粉 2020-06-27 14:30:23

同学你好,我们可以按F12打开控制台,查看下元素:

http://img1.sycdn.imooc.com//climg/5ef6e6e909a73d4811530427.jpg

container容器设置的高度是父容器高度的100%,而父容器高度是0:

http://img1.sycdn.imooc.com//climg/5ef6e7130949fce506220333.jpg

所以container高度为0,子元素的高度也就是0。可以给body、html设置下高度:

http://img1.sycdn.imooc.com//climg/5ef6e7520919b1a203810134.jpg

如果我的回答帮助了你,欢迎采纳。祝学习愉快~

  • 提问者 慕粉1469424710 #1
    html的高度是指html整个文档的高度吗?为什么要body和html同时设置高度100%才会显示效果?只设置其中一个的高度显示的就是空白,html文档不是包含body吗?
    2020-06-27 17:54:34
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师