aspect-ratio

可以使用aspect-ratio CSS 媒体特性 来测试 纵横比视口

语法

aspect-ratio 特性被指定为 <ratio> 值,表示视口的宽高比。它是一个范围特性,这意味着您还可以使用带前缀的min-aspect-ratiomax-aspect-ratio 变体分别查询最小值和最大值。

示例

以下示例包含在一个 <iframe> 中,它创建了自己的视口。调整 <iframe> 的大小以查看 aspect-ratio 的作用。

请注意,当没有媒体查询条件为真时,背景将变为白色,因为下面的规则都不会应用于 <iframe> 内部的 <div>。看看您能否找到触发此情况的宽度和高度值!

HTML

html
<div id="inner">
  Watch this element as you resize your viewport's width and height.
</div>

CSS

css
/* Minimum aspect ratio */
@media (min-aspect-ratio: 8/5) {
  div {
    background: #9af; /* blue */
  }
}

/* Maximum aspect ratio */
@media (max-aspect-ratio: 3/2) {
  div {
    background: #9ff; /* cyan */
  }
}

/* Exact aspect ratio, put it at the bottom to avoid override*/
@media (aspect-ratio: 1/1) {
  div {
    background: #f9a; /* red */
  }
}

结果

规范

规范
媒体查询级别 4
# aspect-ratio

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅