HTML给div设置百分比高度无效的解决方式 - 库塔姆斯 - CSDN博客

原文: HTML给div设置百分比高度无效的解决方式 - 库塔姆斯 - CSDN博客

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/HobHunter/article/details/73611192

给div设置height:100%;

<!DOCTYPE html> 
<html>   
<head> 
    <meta charset=utf-8>   
    <title>div高度</title>  
    <style>
        *{margin:0;padding:0}
        .nav{
            width:200px;
            height:100%;
            background-color:#c7c7c7;
        }
    </style>
</head>   
<body>  
  <div class="nav">  
    divdivdiv
  </div>  
</body>   
</html> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

可div并没有按照所想的那样展开,但将div设置固定高度时能够正常展开,这是什么原因?
01.png-3.1kB
经过查找资料后,在给元素设置百分比高度时要制定父布局高度。正常情况下最外层的父布局是根据内容来确定的,正如上图,div的高度是21px。html的高度也是21px。既然知道问题原因后,那下面的事情就好办了。

解决方法一:
给外层设置高度为:100%

<!DOCTYPE html> 
<html style="height:100%">   
<head> 
    <meta charset=utf-8>   
    <title>div高度</title>  
    <style>
        *{margin:0;padding:0}
        .nav{
            width:200px;
            height:100%;
            background-color:#c7c7c7;
        }
    </style>
</head>   
<body style="height:100%">  
  <div class="nav">  
    divdivdiv
  </div>  
</body>   
</html> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20

02.png-3.1kB

解决方法二:

<!DOCTYPE html> 
<html>   
<head> 
    <meta charset=utf-8>   
    <title>div高度</title>  
    <style>
        *{margin:0;padding:0}
        .nav{
            width:200px;
            height:100%;
            position:fixed;
            background-color:#c7c7c7;
        }
    </style>
</head>   
<body>  
  <div class="nav">  
    divdivdiv
  </div>  
</body>   
</html> 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21

可能会疑问为什么要用position:fixed。先看下W3C手册怎么说的吧~

03.png-50.2kB

是不是秒懂的节奏!??

两种方法各有不同。可以根据实际情况来做判断用哪种

posted on 2019-05-31 17:59 NET未来之路 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/lonelyxmas/p/10956710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值