《css 世界》高度 height:100%

1. height: 100%

众所周知,父元素没设定具体高度时,子元素 height:100% 无效。

原因:规范里说明了,如果包含块的高度没有显示指定(即高度由内容决定),且该元素不是绝对定位,则计算值为 auto。
auto * 100% = NaN.

但是宽度的解释是:如果包含块的宽度取决于该元素的宽度,那么产生的布局在 css2.1 中是未定义的。

高度明确了是 auto,百分比计算自然无果,width 却没有这样的说法,因此,就按照包含块真实的计算值作为百分比计算的基数。

如何让元素支持 height:100%?

  1. 设定显式的高度值,如:height: 100px,或设置可以生效的百分比值高度,如:
    html, body {
      height: 100%;
    }
    
    case
  2. 使用绝对定位
    div {
      height: 100%;
      position: absolute;
    }
    
    绝对定位的宽高百分比计算是相对于 padding box,也就是说会把 padding 大小值计算在内。非绝对定位是相对于 content box.
    case
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,815评论 1 92
  • 本课来自http://www.imooc.com/learn/9请不要用作商业用途。 HTML5 HTML介绍 H...
    PYLON阅读 3,324评论 0 5
  • CSS格式化排版 1、字体 我们可以使用css样式为网页中的文字设置字体、字号、颜色等样式属性。下面我们来看一个例...
    张文靖同学阅读 1,310评论 0 3
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 1,807评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 2,342评论 0 11