.test {
width: 20%;
background: red;
aspect-ratio: 1/1;
}
<div class="test"></div>
aspect-ratio: 1/1;
它在除safari之外的其他浏览器中工作正常。但这段代码在Safari中不起作用。我用的是macOS 11.2。我已经更新到macOS 11.5.2。据我所知,它支持Safari,但我不能完全理解这个问题。从现在开始谢谢你。如果有任何遗漏的信息,我会补充它,如果你让我知道。
4条答案
按热度按时间5vf7fwbs1#
你可以添加一个后备,这个填充黑客为我工作😉
其他长宽比:
padding-top: 100%
padding-top: 75%
padding-top: 66.67%
padding-top: 56.25%
**编辑:**我发现这个工具,它帮助我很多其他不同的纵横比https://ratiobuddy.com/
qzwqbdag2#
Safari 15之前的Safari中不支持aspect-ratio作为css属性,但支持使用aspect-ratio
@media: (aspect-ratio: 1/1)
的媒体查询:https://caniuse.com/?search=aspect-ratiouoifb46i3#
Cheeky SCSS mixin..
holgip5t4#
以下是适合我的方法:
1.设置您选择的“宽度”。在本例中,我们将宽度设置为“20 vw”
宽度:20 vw;
1.然后,我们将通过“height”属性创建“aspect-ratio”,通过“calc”将“width”乘以所需的“aspect-ratio”。在本例中,我们将纵横比设置为“1/1”
高度:计算(20 vw * 1/1);
下面是一个关于如何创建不同纵横比的快速示例:
一比一
height:calc(width * 1/1);
三比二
height:calc(width * 3);
四比三
height:calc(width * 3/4);
16:9
height:calc(width * 9/16);