你不知道的css——2. 百分比高度失效,绝对定位和非绝对定位元素的宽高百分比计算方法的不同

简介: 你不知道的css——2. 百分比高度失效,绝对定位和非绝对定位元素的宽高百分比计算方法的不同

如果父元素height为auto,只要子元素在文档流中,其百分比值完全失效了,因为 'auto' * 100/100 = NaN

百分比高度生效方式一:设定显式的高度值

例如,设置height:600px,或者可以生效的百分比值高度。

html, body {
  height: 100%;
}

仅仅设置body也是不行的,因为此时的body也没有具体的高度值

百分比高度生效方式二:使用绝对定位

  • 绝对定位的宽高百分比计算是相对于padding box的,也就是说会把padding大小值计算在内
  • 非绝对定位元素则是相对于content box计算的。

范例详见 https://demo.cssworld.cn/3/2-11.php

div {
  height: 100%;
  position: absolute;
}

此时的height:100%会有计算值,即使祖先元素的height计算为auto也是如此。

 

实用范例——“图片左右半区点击分别上一张图下一张图效果”的布局

https://demo.cssworld.cn/3/2-12.php

目录
相关文章
|
4天前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
8 2
|
10天前
|
前端开发 JavaScript
jQuery css() 方法
jQuery css() 方法
15 3
|
24天前
|
前端开发 JavaScript
jQuery css() 方法
jQuery css() 方法
11 1
|
9天前
|
前端开发
Vue3基础(十ba)___在css中使用props或者计算属性的变量,来实现动态样式
本文介绍了如何在Vue3中通过CSS变量和props或计算属性来实现动态样式。
12 0
|
2月前
|
前端开发 容器
最新CSS3定位元素
【8月更文挑战第28天】
20 5
|
2月前
|
前端开发 容器
css溢出隐藏的五种方法
css溢出隐藏的五种方法
23 1
|
19天前
|
XML 前端开发 JavaScript
jQuery HTML / CSS 方法
jQuery HTML / CSS 方法
20 0
|
2月前
|
存储 前端开发
为 HTML 元素指定 CSS 样式的方式
【8月更文挑战第24天】
50 0
|
2月前
|
前端开发
CSS动画新潮流:炫酷水波效果,让网页元素生动起来!
CSS动画新潮流:炫酷水波效果,让网页元素生动起来!
|
2月前
|
前端开发
2s 利用 HTML+css动画实现企业官网效果
2s 利用 HTML+css动画实现企业官网效果