aspect-ratio
语法
aspect-ratio 特性被指定为 <ratio> 值,表示视口的宽/高比。它是一个范围特性,这意味着你也可以使用带前缀的 min-aspect-ratio 和 max-aspect-ratio 变体来分别查询最小值和最大值。
示例
在下面的示例中,一个 <div> 元素包含在一个 <iframe> 中。iframe 会创建自己的视口。调整 <iframe> 的大小以查看 aspect-ratio 的实际效果。
请注意,当没有媒体查询条件为真时,背景将变为白色,因为以下规则都不会应用于 <iframe> 内的 <div>。看看你是否能找到触发这种情况的宽度和高度值!
HTML
html
<iframe id="outer">
<div id="inner">
Watch this element as you resize iframe viewport's width and height.
</div>
</iframe>
CSS
css
/* Minimum allowed aspect ratio */
/* Select aspect ratios 8/5 = 1.6 and above */
@media (min-aspect-ratio: 8/5) {
div {
background: #9999ff; /* blue */
}
}
/* Maximum allowed aspect ratio */
/* Select aspect ratios 3/2 = 1.5 and below */
@media (max-aspect-ratio: 3/2) {
div {
background: #99ff99; /* green */
}
}
/* Exact aspect ratio, put it at the bottom to avoid override */
@media (aspect-ratio: 1/1) {
div {
background: #ff9999; /* red */
}
}
结果
请注意,min-aspect-ratio: 8/5 将下限设置为 1.6,因此此媒体查询选择宽高比为 1.6 及以上的元素。max-aspect-ratio: 3/2 设置上限,因此此媒体查询选择宽高比为 1.5 及以下的元素。aspect-ratio: 1/1 会覆盖最大宽高比规则,因为它在后面声明,并选择宽高比恰好为 1 的元素。
从初始状态开始,当您减小高度时,宽高比从一开始增加。因此 div 的背景颜色从红色(1)< 绿色(1.5)< 白色 < 蓝色(1.6)变化。
规范
| 规范 |
|---|
| 媒体查询第 4 级 # aspect-ratio |
浏览器兼容性
加载中…