元素里面有张图片,开始以为是图片没加载出来导致的,我再图片那加了个onload事件也是不行,求问为什么?
css
.bd ul{ width:100%; float:left; padding-top:.1rem; }
.bd li{ width:30%; height: 100%; float:left; text-align:center; margin: .1rem;}
.bd li p{font-size: .28rem;}
.bd li a{display: inline-block; -webkit-tap-highlight-color:rgba(0, 0, 0, 0); /* 取消链接高亮 */ }
.bd li img{ width:100%;}
js
var a = $('.bd ul li a').height();
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
js 获取 a的高度的时候, 图片还没有加载出来 ,拿不到高 跟 js的顺序有关。
图片
css属性呢?是不是有position:absolute;或类似使图片不占p空间的东西。Element.clientWidth可以获取到元素的宽度
该属性值会被四舍五入为一个整数。如果你需要一个小数值,可使用 element.getBoundingClientRect()。
语法
var intElemClientWidth = element.clientWidth;
来自
https://developer.mozilla.org...
$('.bd ul li a').height()这是a标签的高度,试试$('.bd ul li img').height();
把a的属性设置为block吧,图片属于内联元素,a也属于内联元素。当内联元素在内联元素里面时,内部的内联元素就默认是一个字体的高度,我想21px是你的line-height的高度吧
经过一轮百度之后得到: