美文网首页
Html设置html与body元素高度问题

Html设置html与body元素高度问题

作者: LittleAnt | 来源:发表于2020-06-14 19:57 被阅读0次

为什么要设置HTML和body的高度?

是为了后面的div的百分比高度正确的显示。
  div的100%是从其上一级div的宽高继承来的,要设置div 百分比显示,必须设置其上一级div的宽度或高度,否则无效。前面总得有个容器说明他的高度是多少,这样的话div才能按比例 number% 继承上一级的高度。可惜的是浏览器一般默认解释div为内容的高度,而不是100%。

solution:
  只要为html和body设置高度为100%就可以了html,body{height:100%;} 这样之后div会按比例来继承上一级的高度了.仅仅设置的DIV元素的height属性为百分比 貌似没有什么效果。

另外,你问html{height:100%}是什么意思呀,难道高度是相对浏览器的?的确,这里的height:100%是相对于浏览器高度来说的。浏览器高度不是页面的高度!

-----------------例1:(只给div设置高度:页面高度30%,无效)------------

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
    </head>
    <body>
        <div id="" style="border: 1px solid green;height: 30%;"> div1 </div>
        <div id="" style="border: 1px solid green;height: 30%;"> div2 </div>
        <div id="" style="border: 1px solid green;height: 30%;"> div3 </div>
    </body>
</html>

效果:

image.png

----------------------只给body设置高度100%,仍然无效----------------

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css"> 
          body{
               height:100%;
            }
        </style>
    </head>
    <body>
        <div id="" style="border: 1px solid green;height: 30%;"> div1 </div>
        <div id="" style="border: 1px solid green;height: 30%;"> div2 </div>
        <div id="" style="border: 1px solid green;height: 30%;"> div3 </div>
    </body>
</html>

-----------------------同时给html and body设置100%----------------------

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
           html,body{
                 height:100%;
            }
        </style>
    </head>
    <body>
        <div id="" style="border: 1px solid green;height: 30%;"> div1 </div>
        <div id="" style="border: 1px solid green;height: 30%;"> div2 </div>
        <div id="" style="border: 1px solid green;height: 30%;"> div3 </div>
    </body>
</html>

效果:

image.png

总结:

百分比的宽度是相对于其父元素而言,一种方法用单位 明确指定父元素的高度,另一种办法是从html,body开始就用百分比继承。html的百分比是相对于浏览器而言,其他是相对于其父元素而言。也就是说应该养成一个好的习惯,写html网页时候上来就把html,body{height:100%}写上去。这样后面的div就可以用百分比起作用了。

相关文章

  • Html设置html与body元素高度问题

    为什么要设置HTML和body的高度? 是为了后面的div的百分比高度正确的显示。div的100%是从其上一级di...

  • CSS3写旋转相册

    1. 首先先把HTML布局搭好 2. 把html和body的高度自适应,给body设置弹性盒,让后面元素能水平垂直...

  • html 三大元素基本了解

    顶级元素 包括 html body frameset 内敛(inline) 特点:内联元素高度宽度不可以设置 不会...

  • css设置body高度为浏览器的高度

    css设置body高度为浏览器的高度 Try setting the height of the html ele...

  • 对于高度的影响

    html 中如果有 ,那么子元素设置百分比高度父级必须也要设置高度html 中如果没...

  • 宽高铺满整个屏幕

    一、使用100%设置宽高 1、先设置HTML的高度100%,再设置body高度100%,最后再设置div的高度10...

  • CSS常见问题

    body和html的区别 关于body和html - 简书 1,html元素的宽与高取决于浏览器的宽高。html元...

  • 2019-06-27 参照浏览器宽度设置蒙层

    不管怎样,设置全屏的蒙层都要在body下一级元素设置,如果你没有设置html,body宽100%高100%的话,给...

  • part1: HTML语法

    HTML基础结构? 什么是HTML元素? 了解三个元素:html head body 单个元素结构构成? 当我写代...

  • html, body{ height:100%; }

    CSS设置html, body{ height:100%; }的原因:今天看到一个CSS样式:html, body...

网友评论

      本文标题:Html设置html与body元素高度问题

      本文链接:https://www.haomeiwen.com/subject/pojfxktx.html