首页
学习
活动
专区
圈层
工具
发布

css div高度设置100%如何生效!

但是,怕是很少有人思考过这样一个问题:为何父级没 有具体高度值的时候,height:100%会无效?...1.为何 height:100%无效 有一种看似合理的说法:如果父元素 height:auto 子元素还支持 height:100%,则 父元素的高度很容易陷入死循环,高度无限。...但是,父元素 height 值是 auto,岂不是现在高度要从原来的 192 像素变成 384 像素,然后 height:100%的子元素高度又要变成 384 像素,父元素高度 又双倍……死循环了!...同样的道理,如果 height 支持任意元素 100%,也是不会死循环的。和宽度类似,静态 渲染,一次到位。 那问题又来了:为何宽度支持,高度就不支持呢?规范中其实给出了答案。...要知道,auto 和百分比计算,肯定是算 不了的: 'auto' * 100/100 = NaN 但是,宽度的解释却是:如果包含块的宽度取决于该元素的宽度,那么产生的布局在 CSS 2.1 中是未定义的

8.5K00
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    关于Div的宽度与高度的100%设定

    这个100%是从哪里得到的从哪里继承的?今天我们的话题就是有关div高度100%的问题!...其实,要弄懂div宽度|width100%、div高度|height100%到底是怎么实现的,只需弄懂一个简单的问题就可以了,即100%的基数是谁,就是这个100%是相对于谁的width、height来说是...你设div的高度为100%,那么它是和什么地方相对为100%? 前面总得有个容器说明他的高度是多少。这样的话div才能按比例100%继承上一级的高度。...同时,让人高兴的是,这样设置的css样式不存在浏览器兼容问题,在IE5.5、IE6、IE7、IE8还有火狐均可正常显示。...那么,如下的样式可以设置Div撑满整个页面: css">         html         {          height:100%;

    5.9K20

    CSS 奇技淫巧:动态高度过渡动画

    这个问题源自于掘金上的一个留言,一个朋友问到,为什么我下面这段代码的高度过渡动画失效了?...每次展开的时候,过渡展开到容器本身的高度即可。 查看规范,究其原因,在于 CSS transtion 不支持元素的高度为 auto 的变化。...但是,我们又希望能够做到动态高度的过渡转换,是不是就没有办法了么? 巧用 max-height 适配动态高度 嘿嘿,这里有一个非常有意思的小技巧。...但是这里不能设置的太高,最高是贴近最大的使用高度即可,后面会聊到为什么。 由于 max-height 只是限制文本的最大高度,当容器的实际高度没有达到限制的最大高度,将不会继续变高,看看效果: ?...最后 好了,一个小细节,希望对你有所帮助,本文到此结束,希望对你有帮助 :) 更多精彩 CSS 技术文章汇总在我的 Github -- iCSS ,持续更新,欢迎点个 star 订阅收藏。

    2.1K10

    CSS height:100%无效以及替代方案

    有时我们会困惑为什么设置div的height:100%;没有效果,如下所示: 要解决这个问题,先的知道设置height:100%的原理,当你让一个元素的高度设置为百分比高度时,是相对于父元素的高度根据百分比来计算高度...所以当父元素没有高度时,height:100%也就没有高度值,所以我们来设置body高度。 可见还是没有效果,原因跟上一个一样,其父元素也没有高度,所以我们来设置html的高度。...height: 100%; } .wqh{ height: 100%; background-color: royalblue; } 100%出现滚动条,当小于100%时同样会将html填充完整个浏览器窗口(可以设置背景测试)。...但是子html的子元素的高度设置成百分比时,会按照html设置的高度值计算比例。(如下所示,html高度为1000px;所以body的高度为500px)。

    2K40

    真正解决iframe高度自适应问题

    1.前言 解决iframe高度自适应问题有两种方法 1.pym 2.手动设置iframe的高度 本文主要是总结第二种实现方式,因为第一种pym.js插件我没用懂 如果使用iframe时,遇到以下的需求...,高度可以自适应的变高,但在变低时,会发现父页面的高度并没有向我们想象的随着子页面降低,导致底部留有大面积空白的问题,请继续往下看 3.文档声明的重要性 将子页面的文档声明改为就好了 <!...) { if ($(this).text() == '小') { $(this).text('大').parent().css...('height', '200px') } else { $(this).text('小').parent().css('...3.欢迎指出问题或留言加深本文的深度,例如html5已经不需要声明DTD,但是我解决这个问题不得不改一下DOCTYPE,退化到html4,为什么在html5中子页面html和body的高度不是由内部的内容决定的

    6.4K30

    小程序页面设置100%高度还是留白怎么办?

    本文前言:小程序页面设置100%高度还是留白怎么办?像小程序,app开发的时候经常会遇到设置高度,页面颜色的问题,经常出现留白没占满现象,今天专门整了一篇文章,解决这个问题。  ...下拉背景字体、loading 图的样式,仅支持 dark/light }, 第一种方法:position: fixed;  优点,占满全部不留白,缺点,页面固定不能滑动 box:{ height: 100%...; width: 100%; background-color: #fff; position: fixed; } 第二种,页面高度设置100vh  box:{ height...: 100%; width: 100vh; background-color: #fff; } 顺便说下100%和100vh的区别:  vh就是当前屏幕可见高度的1%,也就是说 100vh...== 100%, 如果当元素没有内容的时候,设置height:100%该元素不会被撑开, 设置height:100vh,该元素会被撑开屏幕高度一致。

    3.1K40
    领券