首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

测量图像的宽度和高度在Chrome和Firefox中返回0,但在Safari中有效

。这个问题可能是由于图像加载完成前获取宽度和高度导致的。在Chrome和Firefox中,当图像还未加载完成时,获取宽度和高度会返回0。而在Safari中,即使图像还未加载完成,也可以获取到正确的宽度和高度。

为了解决这个问题,可以使用以下方法之一:

  1. 等待图像加载完成再获取宽度和高度:可以通过监听图像的load事件,在事件回调函数中获取宽度和高度。示例代码如下:
代码语言:txt
复制
var img = new Image();
img.src = 'image.jpg';
img.onload = function() {
  var width = this.width;
  var height = this.height;
  console.log('宽度:' + width + ',高度:' + height);
};
  1. 使用CSS样式获取宽度和高度:可以通过将图像设置为背景图片,并使用CSS样式获取宽度和高度。示例代码如下:
代码语言:txt
复制
<div id="image-container" style="background-image: url('image.jpg');"></div>
代码语言:txt
复制
var imageContainer = document.getElementById('image-container');
var width = imageContainer.offsetWidth;
var height = imageContainer.offsetHeight;
console.log('宽度:' + width + ',高度:' + height);

这些方法可以确保在Chrome、Firefox和Safari中都能正确获取图像的宽度和高度。

关于测量图像宽度和高度的问题,腾讯云并没有特定的产品或服务与之相关。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • css 总结2 原

    div { transform: translate(50px,100px); -ms-transform: translate(50px,100px);        /* IE 9 */ -webkit-transform: translate(50px,100px);    /* Safari and Chrome */ -o-transform: translate(50px,100px);        /* Opera */ -moz-transform: translate(50px,100px);        /* Firefox */ } div { transform: rotate(30deg); -ms-transform: rotate(30deg);        /* IE 9 */ -webkit-transform: rotate(30deg);    /* Safari and Chrome */ -o-transform: rotate(30deg);        /* Opera */ -moz-transform: rotate(30deg);        /* Firefox */ } div { transform: scale(2,4); -ms-transform: scale(2,4);    /* IE 9 */ -webkit-transform: scale(2,4);    /* Safari 和 Chrome */ -o-transform: scale(2,4);    /* Opera */ -moz-transform: scale(2,4);    /* Firefox */ } div { transform: skew(30deg,20deg); -ms-transform: skew(30deg,20deg);    /* IE 9 */ -webkit-transform: skew(30deg,20deg);    /* Safari and Chrome */ -o-transform: skew(30deg,20deg);    /* Opera */ -moz-transform: skew(30deg,20deg);    /* Firefox */ } translate(x,y)    定义 2D 转换,沿着 X 和 Y 轴移动元素。 translateX(n)    定义 2D 转换,沿着 X 轴移动元素。 translateY(n)    定义 2D 转换,沿着 Y 轴移动元素。 scale(x,y)    定义 2D 缩放转换,改变元素的宽度和高度。 scaleX(n)    定义 2D 缩放转换,改变元素的宽度。 scaleY(n)    定义 2D 缩放转换,改变元素的高度。 transform:translate(0 ,-50%) rotate(45deg);

    02
    领券