css的height百分比是相对于什么测量的

比如我的页面1920*1080的,宽192px,width就是10%,高应该怎么写,比如高50px,百分比怎么表示### 问题描述

阅读 4.9k
4 个回答
  1. 在html中, 一个块级元素, 不给宽, 他就是浏览器的宽, 不给高, 他就是子元素的高. 所以块级元素的高是有子元素撑开的.
  2. 如果你非要给他百分数的高, 他就是父盒子的百分比高. 前提是他的父盒子得有高.
  3. 其实不建议你用百分数了. 如果非用不可, 那就从html, body开始, 都把高设置成百分之百;
  4. 好好了解一下 vw 和 vh 这两个单位. 都是对应视口的宽高; 这两个单位可以解决你的问题

用vw 和vh

一般来说,百分比都是根据父元素来确定的,但是如果是高度的话,你父元素也要定义高度才能计算出百分比,由子元素撑开的父元素的子元素高度百分比是计算不出来的。

新手上路,请多包涵

答:首先,浏览器是一个机器,所以,值都是算出来的。
比如 width:20%,则浏览器计算方式为父盒子的宽度*20%得到最终值
那高度为什么我们一般不用百分比呢?
因为一般我们盒子的不设置高度的,所以父盒子一般的高度的默认值是auto,所以,一般父盒子高度你没有设置,则默认为auto,你设置子盒子高度为20%,则浏览器计算auto*20%=无法计算,所以,设置失效。
要想设置高度,除非你显示的设置父盒子的高。
还有,高度一般是不指定的,因为里面内容是不定的,可能会撑出来。高度让内容自然撑开就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题