horizontal-viewport-segments
horizontal-viewport-segments 是一个 CSS 媒体特性,用于检测设备是否具有指定数量的水平(并排)视口分段。
与 视口分段 API 相关,vertical-viewport-segments 特性可用于创建在多视口设备上表现良好的响应式设计——这些设备的显示屏被划分为逻辑上独立的视口分段,例如可折叠或铰链设备。
语法
horizontal-viewport-segments 特性被指定为一个大于或等于 1 的 <integer> 值,表示设备拥有的水平视口分段数量。
- 以下情况,该值为
1:- 非可折叠设备(例如,标准单屏智能手机或平板电脑)
- 展开或合上的可折叠设备(处于
continuous设备姿态)。 - 双屏铰链设备或当前折叠且垂直定向(分段上下堆叠)的可折叠设备。
- 双屏铰链设备或当前折叠(处于
folded设备姿态)且水平定向(分段并排)的可折叠设备,该值为2。 - 对于具有多个折叠的可折叠设备,该值可能大于
2。
示例
horizontal-viewport-segments 基本用法
在此片段中,我们使用 horizontal-viewport-segments 媒体查询来处理分段并排的可折叠设备情况。
我们将左容器的宽度设置为等于左分段宽度(env(viewport-segment-width 0 0)),将右容器的宽度设置为等于右分段宽度(env(viewport-segment-width 1 0))。
为了计算两个容器之间折叠所占用的宽度,我们从右容器的左边缘偏移量中减去左容器的右边缘偏移量(calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0));)。
css
.wrapper {
height: 100%;
display: flex;
}
@media (horizontal-viewport-segments: 2) {
.wrapper {
flex-direction: row;
}
.list-view {
width: env(viewport-segment-width 0 0);
}
.fold {
width: calc(
env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0)
);
background-color: black;
height: 100%;
}
.detail-view {
width: env(viewport-segment-width 1 0);
}
}
请参阅我们的 视口分段 API 演示 以获取完整的演示(源代码)。另请查阅 使用视口分段 API 以获取完整的演示说明。
规范
| 规范 |
|---|
| 媒体查询 Level 5 # mf-horizontal-viewport-segments |
浏览器兼容性
加载中…
另见
vertical-viewport-segments@media特性- Viewport Segments API
- 可折叠 API 的源试用,来自 developer.chrome.com (2024)