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