码迷,mamicode.com
首页 > 其他好文 > 详细

利用height和min-height实现高度自适应

时间:2019-03-27 22:51:48      阅读:316      评论:0      收藏:0      [点我收藏+]

标签:图片   col   依据   color   方法   outer   code   文本   strong   

需要实现以下效果:

  • 子元素高度小于窗口高度时,父元素高度为窗口高度;
  • 子元素高度大于窗口高度时,父元素高度自适应,由子元素高度决定。

可以这样实现:

  1. 依据DOM结构逐层设置目标元素的所有父元素height="100%",直至根元素html,浏览器在渲染过程中会将窗口的实际高度值传递给html元素,然后再根据DOM结构逐层传递,由于height值不能继承,height="100%"也不能隔代传递,因此必须 逐层设置,此步骤中的height不能用min-height代替,因为min-height值无法向下传递。
  2. 设置目标元素min-height="100%",使目标元素的最小高度为窗口高度,当内容高度超过窗口高度时,目标元素高度则由内容高度确定,从而实现了高度自适应。此步骤中的min-height不能用height代替,否则当内容高度超过窗口高度时,会出现内容溢出。如图:

    技术图片
  3. 该方法可结合flex创建高度自适应布局。

DOM:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>try</title>
        <link rel="stylesheet" href="try.css">
    </head>
    <body>
        <div id="outer">
            <div id="inner">
                <p>文本高度可自行调整</p>
            </div>
        </main>
    </body>
</html>

CSS:

html {
    height: 100%;
}

body {
    height: 100%;
}

#outer {
    height: 100%;
}

#inner {
    height: 100%;
}

p {
    width: 300px;
    min-height: 100%;
    background-color: aqua;
}

--内容自己瞎琢磨的,如有纰漏,请不吝赐教。

利用height和min-height实现高度自适应

标签:图片   col   依据   color   方法   outer   code   文本   strong   

原文地址:https://www.cnblogs.com/lixiang12/p/10611531.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!