cssdiv如何获取父级元素div的宽度

cssdiv如何获取父级元素div的宽度,第1张

常用div宽度获取 domoffsetWidth:只读属性,返回元素的布局宽度数值(int)(content + padding + border),此数值为四舍五入后的整数 domgetBoundingClientRect()width:只读属性,返回元素的布局宽度数值(int)(content + padding + border),此数值不会四舍五入 windowgetComputedStyle(dom)width:只读属性,返回元素内容宽度的数值和单位(string)(content) domscrollWidth:只读属性,返回全部content+ padding 的宽度数值(int) domclientWidth:只读属性,返回元素内容可视区域的宽度(content + padding)

你的div里面可能设置了margin、padding或者border属性,这样在浏览器里面会认为div的宽度大于100%,如果是这种情况,可以尝试在CSS里面定义这个div的 box-sizing:border-box,这样宽度计算的方式就变成元素宽度是同时包含了border和padding的值的;当然还有一种偷懒的解决方法,设置body的overflow-x:hidden; 强制去掉水平滚动条。

很多时候盒子都是被撑起来的,当失效或者还没加载出来的时候,很有可能会影响样式。

比如下面这组布局,看起来很和谐,但是当一张加载不出的时候,就会出现文字被移动上去的样式问题,很影响效果,如何才能在这种情况下把上面留白占位呢?

布局:

最简单的直接给盒子先加上高度?但是现在的开发中通常需要自适应,元素宽度均根据页面变化而变化,所以的宽高也会按比例变化,在盒子上先设置高度也是不可取的。

于是尝试以下办法可解决:

首先我们可以确定这组的宽高比,这组的高度是宽度的72%左右。

css:

可以看到问题顺利解决了,思路就是用padding撑起div的高度,保证里面无论有没有都不会塌陷,但是padding会挤掉正常的,所以我们可以使相对于盒子进行绝对定位,定位到左上角,就OK了。

1:1 aspect ratio = 1 / 1 = 1 = padding-top: 100%

4:3 aspect ratio = 3 / 4 = 075 = padding-top: 75%

3:2 aspect ratio = 2 / 3 = 066666 = padding-top: 6667%

16:9 aspect ratio = 9 / 16 = 05625 = padding-top: 5625%

以上就是关于cssdiv如何获取父级元素div的宽度全部的内容,包括:cssdiv如何获取父级元素div的宽度、css获取浏览器宽度、【css】未加载完成的图片如何先占位(仅限宽高比确定的图片)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/9346391.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-27
下一篇 2023-04-27

发表评论

登录后才能评论

评论列表(0条)

保存