我正在尝试使用JavaScript编写程序来自动调整HTML的
标签的宽度,以正确地显示各种尺寸的图像。
我有一个固定宽度为800像素的
标签,用于显示图像,这是最大宽度。
如果图像宽度超过800像素,我希望将其显示为800像素宽;
如果图像宽度小于800像素,则保留其宽度,以避免拉伸。
我使用此HTML/JavaScript代码来获得部分解决方案:
我有一个固定宽度为800像素的
如果图像宽度超过800像素,我希望将其显示为800像素宽;
如果图像宽度小于800像素,则保留其宽度,以避免拉伸。
我使用此HTML/JavaScript代码来获得部分解决方案:
function resize_image(id) {
var img = document.getElementById(id);
var normal_width = img.width;
img.removeAttribute("width");
var real_width = img.width;
if (real_width < normal_width) {
img.width = real_width;
} else {
img.width = normal_width;
}
}
<img id="myimage" onload="resize_image(self.id);" src="https://via.placeholder.com/350x150" width="800" />
以上代码在我测试的所有浏览器中似乎都可以正常工作,除了 Safari
(图片不会显示,除非刷新页面)。
我知道我可以使用 CSS 的 max-width
,但这对于 IE
< 7 是无法解决的问题。
有什么方法可以让这个功能在所有浏览器中都正常工作吗?非常感谢您的帮助。