想要div铺满全屏,设置height:100%却没有生效

您所在的位置:网站首页 height计算值为auto 想要div铺满全屏,设置height:100%却没有生效

想要div铺满全屏,设置height:100%却没有生效

2024-07-15 03:34:37| 来源: 网络整理| 查看: 265

此文为《CSS世界》的读书笔记,书的作者是张鑫旭大佬,人民邮电出版社,2017年12月第一版。

开发遇到的问题

某小白想要在页面插入一个div,然后满屏显示背景图,就写了如下的CSS:

div { width: 100%; /*这是多余滴*/ height: 100%; /*这是无效滴*/ background: url(bg.jpg); }

然后他发现这个div的高度永远是0,小白顿时茫然了。 那么,为何height:100%无效? 其实,规范中给了答案。如果包含块的高度没有显示指定(即高度由内容决定),并且该元素不是绝对定位,则计算值为auto。一句话总结就是:因为解释成了auto。auto和百分比计算,是得不到高度值的。 ‘auto’ * 100/100 = NaN

那么,为何width设置width: 100%却有效 宽度的解释是:如果包含块的宽度取决于该元素的宽度,那么产生的布局在CSS 2.1中是未定义的,也就是说规范没有明确宽度该怎么表示,浏览器可以自己去发挥。根据作者的测试,各个浏览器对宽度的显示都是一致的,因此,就按照包含块的真实的计算值作为百分比计算的基数。

#div1 { height: 100px; display: inline-block; white-space: nowrap; background-color: red; } #span1 { width: 50px; background-color: pink; } #span2 { width: 100%; display: inline-block; background-color: gray; } 2222 hello!

结果如图所示: 宽度为span1的宽度加文字内容的宽度之和 解释: 想明白为什么会这么显示要先了解浏览器渲染的基本原理。首先,先下载文档内容,加载头部的样式资源(如果有的话),然后按照从上而下、自外而内的顺序渲染 DOM 内容。套用本例就是,先渲染父元素,后渲染子元素,是有先后顺序的。因此,当渲染到父元素的时候,子元素的 width:100%并没有渲染,宽度就是图片加文字内容的宽度;等渲染到文字这个子元素的时候, 父元素宽度已经固定,此时的 width:100%就是已经固定好的父元素的宽度。宽度不够怎么 办?溢出就好了,overflow 属性就是为此而生的。

如何让元素支持 height:100%效果

其实从上面的规范可以看出有两种方法: 1、设定显示的高度值,例如,设置height: 600px; 或者设置可以生效的百分比高度

html, body { height: 100%; /**仅仅设置body或者height是无效的/ }

2、使用绝对定位,此时就会满屏显示背景图

body { background: url(bg.jpg); } div { height: 100%; position: absolute; }

注意: 绝对定位元素的百分比计算和非绝对定位元素的百分比计算是有区别的,区别在于绝对定位的宽高百分比计算是相对于padding box的,也就是说会把padding大小值计算在内,但是,非绝对定位元素则是相对于 content box 计算的。 可以访问 http://demo.cssworld.cn/3/2-11.php 看出高度的区别



【本文地址】

公司简介

联系我们

今日新闻


点击排行

实验室常用的仪器、试剂和
说到实验室常用到的东西,主要就分为仪器、试剂和耗
不用再找了,全球10大实验
01、赛默飞世尔科技(热电)Thermo Fisher Scientif
三代水柜的量产巅峰T-72坦
作者:寞寒最近,西边闹腾挺大,本来小寞以为忙完这
通风柜跟实验室通风系统有
说到通风柜跟实验室通风,不少人都纠结二者到底是不
集消毒杀菌、烘干收纳为一
厨房是家里细菌较多的地方,潮湿的环境、没有完全密
实验室设备之全钢实验台如
全钢实验台是实验室家具中较为重要的家具之一,很多

推荐新闻


图片新闻

实验室药品柜的特性有哪些
实验室药品柜是实验室家具的重要组成部分之一,主要
小学科学实验中有哪些教学
计算机 计算器 一般 打孔器 打气筒 仪器车 显微镜
实验室各种仪器原理动图讲
1.紫外分光光谱UV分析原理:吸收紫外光能量,引起分
高中化学常见仪器及实验装
1、可加热仪器:2、计量仪器:(1)仪器A的名称:量
微生物操作主要设备和器具
今天盘点一下微生物操作主要设备和器具,别嫌我啰嗦
浅谈通风柜使用基本常识
 众所周知,通风柜功能中最主要的就是排气功能。在

专题文章

    CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭