容器内响应式图片Aug-20 · 5minhtml<style> .container { width: 100px; } </style> <div class="container"> <img src="https://avatars.githubusercontent.com/u/61053131" alt="" /> </div> <script> const img = document.querySelector("img"); img.addEventListener("load", (e) => { const img = e.target; const parent = img.parentElement; const scale = parent.clientWidth / parent.clientHeight; if (img.complete) { if (img.naturalWidth > img.naturalHeight * scale) { img.style.width = "100%"; img.style.height = "auto"; } else { img.style.width = "auto"; img.style.height = "100%"; } } }); </script> 在图片加载完成后,获取父容器的宽高比,如果图片的原始宽度大于其原始高度乘以容器的宽高比,则设置图片的宽度为 100%否则设置图片的高度为 100%。