1 回答
TA贡献1784条经验 获得超8个赞
也许经典的 padding-top hack 可能会有所帮助作为一种解决方法。
body {
max-width: 600px;
padding: 20px;
}
img {
border: solid black;
max-width: 100%;
height: auto;
box-sizing: border-box;
}
@supports (--foo: 1) {
.aspect,
.aspect-inline {
position: relative;
}
.aspect {
padding-top: calc(var(--height) / var(--width) * 100%);
height: 0;
display: block;
}
.aspect-inline {
display: inline-block;
vertical-align: middle;
}
.aspect img,
.aspect-inline img {
position: absolute;
top: 0;
max-height: 100%;
}
}
<p>
<picture class="aspect-inline" style="width: 50px; height: 24.8px">
<img
src="https://i.stack.imgur.com/SII5r.png"
loading="lazy"
width="50"
height="24,8"
/>
</picture>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Curabitur pretium
nibh tellus, ac luctus erat viverra sed. Aliquam sed nisi sed sapien
tempus consectetur vestibulum vel diam. Ut vel faucibus metus. Donec non
sem et purus luctus dictum nec et elit. Suspendisse et ipsum tortor. Proin
eros massa, pulvinar a ante eu, imperdiet consequat dolor. Pellentesque
sed lacus nulla. Mauris gravida purus sed facilisis sollicitudin.
</p>
<p>
<picture class="aspect" style="--width: 850; --height: 422">
<img
src="https://i.stack.imgur.com/SII5r.png"
loading="lazy"
width="850"
height="422"
/>
</picture>
</p>
<p>
Vivamus sagittis faucibus elit non feugiat. Curabitur interdum nulla sed
ligula pharetra, in faucibus tortor ullamcorper. Curabitur tristique
libero in lobortis posuere. Pellentesque habitant morbi tristique senectus
et netus et malesuada fames ac turpis egestas. Quisque quis velit sed
tellus aliquet dictum. Fusce vitae consectetur lacus. In scelerisque
varius euismod. Nunc scelerisque enim quis lacus dignissim tincidunt.
Nulla suscipit, odio eu dictum condimentum, massa elit vestibulum leo, ut
lobortis dolor felis vel erat. Cras dapibus, nunc eget sollicitudin
semper, elit nisl dictum leo, non semper quam nunc consequat augue.
Vivamus bibendum mauris sapien, vel sagittis urna consequat ut.
</p>
- 1 回答
- 0 关注
- 104 浏览
添加回答
举报