在父容器没有高度的情况下给元素设置百分比高度

在实际的开发过程中经常会有这种CSS问题,就是父容器是没有高度的,可是我还要给子容器设置百分比的高度。所以本篇博客就诞生了。就是为了帮助朋友们解决这个问题。


一:设置vh单位

vh单位就是自动检测你的设备的高度,会根据你设备高度的变化而调整,相对应的还要vw单位,自动检测设备的宽度的。关于vw和vh的实战可观看自适应屏幕的方法。
代码如下:


<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Documenttitle>
    <style>
        * { margin: 0; padding: 0; }
        .test {
            width: 50px;
            background: red;
            height: 50vh;
        }
    style>
head>
<body>
    <div class="wrap">
        <div class="test">div>
    div>
body>
html>

效果如下:
在父容器没有高度的情况下给元素设置百分比高度_第1张图片
在父容器没有高度的情况下给元素设置百分比高度_第2张图片
它会根据你设备的变化而变化,1vh是百分之1的设备高度。


设置padding-bottom/padding-top:

不推荐使用此方法,撑出来的高度不是我们想要的高度。(只做了解)
代码如下:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
    <style>
        * { margin: 0; padding: 0; }
        .test {
            width: 50px;
            background: orange;
            padding-bottom: 50%;
        }
    </style>
</head>
<body>
    <div class="wrap">
        <div class="test"></div>
    </div>
</body>
</html>

效果如下:
在父容器没有高度的情况下给元素设置百分比高度_第3张图片
在父容器没有高度的情况下给元素设置百分比高度_第4张图片

你可能感兴趣的:(HTML与CSS专栏)