目前测试过的4台移动设备有2台失效了,失效的分别是iPhone X和一台安卓机,这个样式失效该怎么去解决?因为设备的宽度都不一样,并且使用此样式的元素又想保证1:1的宽高比,所以宽度我设置的是100%,高度使用的aspect-ratio: 1 / 1。但是奈何现在有几台设备失效了,就比较麻烦,有大神知道这个样式兼容问题怎么解决吗?或者除此之外其他更好的方法(仅使用css的方式解决)
目前测试过的4台移动设备有2台失效了,失效的分别是iPhone X和一台安卓机,这个样式失效该怎么去解决?因为设备的宽度都不一样,并且使用此样式的元素又想保证1:1的宽高比,所以宽度我设置的是100%,高度使用的aspect-ratio: 1 / 1。但是奈何现在有几台设备失效了,就比较麻烦,有大神知道这个样式兼容问题怎么解决吗?或者除此之外其他更好的方法(仅使用css的方式解决)
代码
<html>
<style>
.aspect-ratio {
width: 70%;
background-color: red;
position: relative;
}
.aspect-ratio::before {
content: "";
display: block;
padding-bottom: calc(96 / 312 * 100%);
}
.aspect-ratio>:first-child {
position: absolute;
top: 0;
bottom: 0;
left: 0;
right: 0;
height: 100%;
}
</style>
<body>
<div class="aspect-ratio">
<!-- 真正的元素 -->
<div>aspect ratio box</div>
</div>
</body>
</html>
10 回答11.3k 阅读
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答2.8k 阅读✓ 已解决
3 回答5.2k 阅读✓ 已解决
5 回答2k 阅读
1 回答3.3k 阅读✓ 已解决
采用一些适用 padding 来实现的回退方案。
CSS 原生的 aspect-ratio 现阶段支持性很差,不建议直接使用。