height:100%失效解决办法

首先我们要知道height:100%能生效有两种情况。

  1. 第一种是父级有显性高度,即写了具体值。当然从 html 一直往下都赋予height:100%也是属于这种情况。(html=>body=>...=>父级=>目标元素)。

    当然设置 max-heightmin-heightheight:100%的多数情况是没用的,它们只是设置边界而不是设置具体值。

  2. 第二种就是自身绝对定位,父级相对定位脱离文档流。其实原理和上述是一致的。

解决办法:

  1. 给予显性高度,当然这一办法几乎没用。能写死高度就不会出现这个问题了。

  2. 无奈的子绝父相,给予父级相对定位,自身绝对定位。

注意:子元素绝对定位是计算父元素的 padding 值的。而传统的height:100%是不计算的。当然使用全局的box-sizing: border-box就不用担心了。

还有一个问题。其实要牵扯到height:100%height: inherit的不同。那就是父级position:static而子级是position: absolute的时候,子元素已经脱离文档流,它的父级就是最近的定位元素。height:100%的对象就不是它真正的父级了。但是height: inherit就不出现这种问题。

参考 张鑫旭:CSS中height:100%和height:inherit的异同

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,814评论 1 92
  • 1. 前言 前端圈有个“梗”:在面试时,问个css的position属性能刷掉一半人,其中不乏工作四五年的同学。在...
    YjWorld阅读 4,543评论 5 15
  • 前端开发者丨http请求 https:www.rokub.com 前言见解有限, 如有描述不当之处, 请帮忙指出,...
    麋鹿_720a阅读 11,002评论 11 31
  • 你说想去看看家乡春天的时候,我的心竟然荡漾起来。 是啊,家乡的春天!当你翻着手机里那些张扬的图片,高昂着头说出“这...
    秋之语阅读 433评论 0 9
  • “郭云岗被车压了!”早晨一到单位,办公室的陈姐就告诉丹华。 “什么时候的事?怎么样啊,要紧不?”丹华问。 “昨天下...
    张喇咪阅读 369评论 2 9