关于height:100%两三事_html/css_WEB-ITnose

php中文网
发布: 2016-06-24 12:01:12
原创
1367人浏览过

对于css的height:100%,顾名思义,该元素的高度自动填充为其父元素的高度。但该样式有时候会不起作用,mark down 一下。>

首先,看一下以下CSS代码:

1 div {2     height: 100%;3 }
登录后复制

HTML代码:

1 <!doctype html>2 <html>3 <head></head>4 <body>5     <p>我的名字叫做甲基苯醌</p>6     <div></div>7 </body>8 </html>
登录后复制

毫无疑问,div的height: 100%完全不起作用(亏得我当时天真地以为div的高度会和p的高度一样,因为body的高度被p撑开了,然后100%就起作用了,呵呵,too young too simple),然后现在回想起来,height:100%不起作用,完全是符合逻辑的。因为body元素在没用设定height的情况下,高度是自适应的,如果div的height:100%起作用的话,那么body的高度必定会被撑开,这时候body的高度 === div的高度 * 2,而div的样式是height:100%,完全不符合我国的科学发展观!!!

立即学习前端免费学习笔记(深入)”;

要解决这个问题也很简单,添加如下CSS代码:

基于jQuery的关键字选择插件
基于jQuery的关键字选择插件

基于jQuery的关键字选择插件

基于jQuery的关键字选择插件 22
查看详情 基于jQuery的关键字选择插件

1 htm, body {2     height: 100%;3 }
登录后复制

以此类推,在元素不是绝对,固定的情况下,要想height:100%起作用,那么该元素的父元素的height一定要设置。

那么,现在的问题来了,为什么父元素设置了height,其子元素的height: 100%就会起作用呢?

很明显,父元素设置了高度后,其高度为一个固定值,就算某个子元素设置了height:100%,其高度也不会增加,而且,浏览器对于元素的overflow的默认值是visible,所以就起作用了。

接着,当子元素设置为绝对定位,即使父元素没有设定高度,该子元素的height:100%也会起作用,因为绝对定位的子元素不会撑开父元素的高度和宽度,符合科学发展观!!!!

做过响应式布局的都知道,我想某个div的高度随屏幕的大小而变化,但我又想让这个div有着一些margin或padding的效果,div绝对定位后,设置height:100%,在设置margin或padding就会有一些乱七八糟的问题。解决方案可用以下代码实现。。。。

1 div {2     position: absolute;3     height: auto;4     left: 0;5     top: 0;6     right: 0;7     bottom: 0;8     margin: 20px;9 }
登录后复制

HTML速学教程(入门课程)
HTML速学教程(入门课程)

HTML怎么学习?HTML怎么入门?HTML在哪学?HTML怎么学才快?不用担心,这里为大家提供了HTML速学教程(入门课程),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号