固定宽高比
垂直内距(padding-top 或 padding-bottom)
- 将高度设置为 0
- 将
padding-top或padding-bottom属性的值设置为百分比的值- 比如想要一个
16:9的宽高比,可以设置为56.25%(因为100% / 16 * 9 = 56.25%) - 或者使用
calc(),设置为calc(100% / (16 / 9))
- 比如想要一个
calc 的实现:
aspect-ratio
<ratio>
<ratio> 是 CSS 值类型之一,它被称为比值(或比率值),表示两个数值的比值
<ratio> = <number [0,∞]> [ / <number [0,∞]> ]?
<ratio> 中的第二个 <number> 是一个可选值,如果省略,那么它的值为 1
通常情况下,<ratio> 总是两个 <number> 出现,并且两个值之间有 / 分隔。它的计算值是提供一对数字值,例如 16/9
aspect-ratio
CSS 的 aspect-ratio 语法规则:
aspect-ratio: auto || <ratio>
如上面 16 / 9 的例子:
aspect-ratio生效的前提条件:元素的宽度或高度只有一个可以显式设置