link img 的高度到 img 的宽度以在屏幕调整大小时保持方形比例
link height of img to img width to maintain square ratio during screen resizing
我有一组缩略图,其宽度随屏幕大小而调整。它们具有最大宽度,但目前未说明高度。所有图像最终都具有相同的宽度但不同的高度,这是正确的一半。
基本上我希望它们被包含在一个正方形中,并且随着宽度的变化,高度应该改变为与内部图像的宽度相同,调整自身以保持纵横比。我目前有一组最大高度和最大宽度,但不保持容器的 1:1 比例。图片本身不是正方形的。
我的想法是让多张图片并排放置。如果我没记错的话 css vars 不能绑定到没有明确声明的变量上。所以要使用 javascript?
.product-single__thumbnail-image {
max-width: 100%;
max-height: 123px;
display: block;
margin: 0 auto;
padding: 2px;
}
<li>
<img class="product-single__thumbnail-image" src="//someting.jpeg">
</li>
嘿,你的意思是这样的吗?
不过我用的是 javascript 所以我不知道它是否算作你问题的答案 sry
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#image {
object-fit: cover;
width: 100%;
}
</style>
</head>
<body>
<div>
<img src="http://i.stack.imgur.com/aEEkn.png" alt="" id='image'>
</div>
<script>
const image = document.getElementById('image')
image.height = `${image.width}`
window.addEventListener('resize',()=>{
image.height = `${image.width}`
})
</script>
</body>
</html>
我有一组缩略图,其宽度随屏幕大小而调整。它们具有最大宽度,但目前未说明高度。所有图像最终都具有相同的宽度但不同的高度,这是正确的一半。
基本上我希望它们被包含在一个正方形中,并且随着宽度的变化,高度应该改变为与内部图像的宽度相同,调整自身以保持纵横比。我目前有一组最大高度和最大宽度,但不保持容器的 1:1 比例。图片本身不是正方形的。
我的想法是让多张图片并排放置。如果我没记错的话 css vars 不能绑定到没有明确声明的变量上。所以要使用 javascript?
.product-single__thumbnail-image {
max-width: 100%;
max-height: 123px;
display: block;
margin: 0 auto;
padding: 2px;
}
<li>
<img class="product-single__thumbnail-image" src="//someting.jpeg">
</li>
嘿,你的意思是这样的吗? 不过我用的是 javascript 所以我不知道它是否算作你问题的答案 sry
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
#image {
object-fit: cover;
width: 100%;
}
</style>
</head>
<body>
<div>
<img src="http://i.stack.imgur.com/aEEkn.png" alt="" id='image'>
</div>
<script>
const image = document.getElementById('image')
image.height = `${image.width}`
window.addEventListener('resize',()=>{
image.height = `${image.width}`
})
</script>
</body>
</html>