常用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】未加载完成的图片如何先占位(仅限宽高比确定的图片)等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)