九宫格使用百分比替换固定单位px后,整个格子不见了

阅读: 评论:0

九宫格使用百分比替换固定单位px后,整个格子不见了

九宫格使用百分比替换固定单位px后,整个格子不见了

九宫格使用百分比替换固定单位px后,整个格子不见了

 

九宫格 自适应

详细描述

 

截图

代码

.swag{
  width:30%;
  height:30%;;
  margin:1%;
  border-radius: 20%;
  background: orange;
  float: left;
}

 

百分比宽度和百分比高度表现不一样,是与浏览器的渲染机制有关。

Web浏览器在计算有效宽度时会考虑浏览器窗口的打开宽度。

如果你不设置块级宽度值,那浏览器会自动将页面内容平铺填满整个横向宽度。(即块级元素的宽度),此时widh:auto.

但是高度的计算方式完全不一样。事实上,浏览器根本就不计算内容的高度,除非内容超出了视窗范围(导致滚动条出现)。或者你给整个页面设置一个绝对高度。否则,浏览器就会简单的让内容往下堆砌,页面的高度根本就无需考虑。

因为页面根元素的html元素的高度为auto(实际上为0),body的height也为0,所以,当你让一个元素的高度设定为百分比高度时,父级的高度如果是auto,那你的子级设置%高度,就无法取到实际值。

因为父级元素的高度是由该元素里面的内容撑起的,在不设置该圆素高度的前提下。

于是子元素的高度height: 50% 也不会起作用。解决办法就是给html和body加上height: 100%。

 

如果 你非得想叫子级用height,那么你可以设置父级的height:100vw,即父级高度是屏幕的宽度,从而实现百分比自适应,

 

百分比是相对于父元素的,如果没给父元素一个高度的话,子元素的百分比自然也就没有高度。

在普通文档流中,块级元素的宽度默认就是浏览器的高度,因次百分比有效。

这也就是为什么宽度百分比有效而高度百分比无效的原因。

 

这个问题很简单,你把height换成padding-bottom:31%就可以解决问题,百分比相对于父元素的,父元素宽度为auto,那你的百分比的时候你的百分比肯定是没有高度的,所以用内边距.宽度可能也需要调一下,代码看上去没什么大问题.然后注意一下css的书写顺序.

本文发布于:2024-01-28 18:27:00,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/17064376269381.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:百分比   不见了   格子   单位   九宫格
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23