日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不

當前位置:首頁 > 科技  > 軟件

前端開發折疊屏應用新姿勢!

來源: 責編: 時間:2024-05-07 09:15:28 236觀看
導讀Chrome 瀏覽器正在試驗兩個全新的 API:Device Posture API(設備姿態API)和 Viewport Segments Enumeration API(視口段枚舉API),這兩個 API 統稱為 Foldable APIs(可折疊API),它們從 Chrome 125 版本開始作為起源試驗功能提供

Ztr28資訊網——每日最新資訊28at.com

Chrome 瀏覽器正在試驗兩個全新的 API:Device Posture API(設備姿態API)和 Viewport Segments Enumeration API(視口段枚舉API),這兩個 API 統稱為 Foldable APIs(可折疊API),它們從 Chrome 125 版本開始作為起源試驗功能提供。這些 API 旨在幫助開發者更好地針對可折疊設備進行開發和優化,本文就來看看這些 API 如何解鎖折疊屏應用開發新姿勢。Ztr28資訊網——每日最新資訊28at.com

這些 API 是在過去幾年中,微軟、英特爾、三星和谷歌合作開發的。Ztr28資訊網——每日最新資訊28at.com


Ztr28資訊網——每日最新資訊28at.com

可折疊設備

可折疊設備主要分為兩種物理形態:一種是只有單個柔性屏幕(無縫)的設備,另一種是擁有兩個屏幕(有縫,也稱為雙屏設備)的設備。Ztr28資訊網——每日最新資訊28at.com

Ztr28資訊網——每日最新資訊28at.com

這些設備為內容的展示提供了多樣化的方式。例如,用戶可以像翻閱書籍一樣使用無縫設備,也可以像使用平板電腦一樣將其展開為平面屏幕。而雙屏設備因其兩塊屏幕之間存在物理接縫,需要開發者特別關注這一點。Ztr28資訊網——每日最新資訊28at.com

這些新的 API 為開發者提供了改善這類設備用戶體驗的方法。每個 API 都通過CSS和JavaScript兩種途徑,向開發者開放了所需的 Web 平臺基礎功能。Ztr28資訊網——每日最新資訊28at.com

Device Posture API

可折疊設備具備改變其姿態(即設備的物理狀態)的能力,從而允許開發者提供不同的用戶體驗。這些新的API確保網頁內容能夠靈活響應設備的各種折疊狀態。Ztr28資訊網——每日最新資訊28at.com

設備可以呈現以下兩種姿態:Ztr28資訊網——每日最新資訊28at.com

  • 折疊態:類似于筆記本電腦或書籍的姿態。

Ztr28資訊網——每日最新資訊28at.com

  • 連續態:平板模式,類似于無縫的平板及曲面顯示屏。

Ztr28資訊網——每日最新資訊28at.com

CSS

Device Posture API 規范引入了一個新的 CSS 媒體特性 device-posture,該特性能夠解析出設備的一組固定姿態。這些姿態由預定義的值組成,每個值都代表設備的物理狀態。Ztr28資訊網——每日最新資訊28at.com

device-posture 特性支持的值與前面描述的設備姿態相匹配:Ztr28資訊網——每日最新資訊28at.com

  • folded(折疊態)
  • continuous(連續態)

注意:如果未來有新的設備上市,可能會添加新的姿態。Ztr28資訊網——每日最新資訊28at.com

示例:Ztr28資訊網——每日最新資訊28at.com

/* 當設備處于“書籍”姿態時 */@media (device-posture: folded) { ... } /* 當設備處于“平板”姿態時,或者像筆記本電腦或臺式電腦這樣的典型設備 */@media (device-posture: continuous) { ... }

JavaScript

為了查詢設備的姿態,現在可以使用一個新的 DevicePosture 對象。Ztr28資訊網——每日最新資訊28at.com

const currentPosture = navigator.devicePosture.type;  console.log(`當前設備的姿態是:${currentPosture}`);

要監聽設備姿態的變化,并作出響應,可以注冊一個事件監聽器:Ztr28資訊網——每日最新資訊28at.com

navigator.devicePosture.addEventListener('change', (event) => {    console.log(`設備的姿態已更改為:${event.type}`);    // 在這里可以根據新的姿態更新頁面的布局或內容  });

Viewport Segments API

Viewport Segments 是CSS環境變量,用于定義視口中邏輯上獨立區域的位置和尺寸。當視口被硬件特性(如折疊處或獨立顯示器之間的鉸鏈)分割時,會形成視口段。這些段是開發者可以視為邏輯上不同的視口區域。Ztr28資訊網——每日最新資訊28at.com

CSSZtr28資訊網——每日最新資訊28at.com

視口被分割成的段數通過兩個新的媒體特性來呈現,這些特性在CSS媒體查詢第5級規范中定義:vertical-viewport-segments(垂直視口段數)和horizontal-viewport-segments(水平視口段數)。這些特性會解析出視口被分割成的段數。Ztr28資訊網——每日最新資訊28at.com

此外,還新增了環境變量來查詢每個邏輯分割的尺寸和位置。這些變量包括:Ztr28資訊網——每日最新資訊28at.com

  • env(viewport-segment-width: x y):查詢指定(x, y)位置視口段的寬度。
  • env(viewport-segment-height: x y):查詢指定(x, y)位置視口段的高度。
  • env(viewport-segment-top: x y):查詢指定(x, y)位置視口段的上邊界位置。
  • env(viewport-segment-left: x y):查詢指定(x, y)位置視口段的左邊界位置。
  • env(viewport-segment-bottom: x y):查詢指定(x, y)位置視口段的下邊界位置。
  • env(viewport-segment-right: x y):查詢指定(x, y)位置視口段的右邊界位置。

每個變量中的(x, y)坐標代表了由硬件特性在視口中創建的二維網格中的位置。Ztr28資訊網——每日最新資訊28at.com

Ztr28資訊網——每日最新資訊28at.com

在上圖中,第一個水平段的坐標是 x 0 和 y 0,第二個水平段的坐標是 x 1 和 y 0。第一個垂直段的坐標是 x 0 和 y 0,第二個垂直段的坐標是 x 0 和 y 1。Ztr28資訊網——每日最新資訊28at.com

以下代碼片段是一個簡化的例子,展示了如何創建一個在折疊處兩側都有兩個內容區域(col1 和 col2)的分割 UX。Ztr28資訊網——每日最新資訊28at.com

<style>  /* 當視口水平分割為兩段時 */  @media (horizontal-viewport-segments: 2) {    #segment-css-container {      flex-direction: row;    }    #col1 {      display: flex;      flex: 0 0 env(viewport-segment-right 0 0);      background-color: steelblue;    }    #fold {      width: calc(env(viewport-segment-left 1 0) - env(viewport-segment-right 0 0));      background-color: black;      height: 100%;    }    #col2 {      display: flex;      background-color: green;    }  }  /* 當視口垂直分割為兩段時 */  @media (vertical-viewport-segments: 2) {    #segment-css-container {      flex-direction: column;    }    #col1 {      display: flex;      flex: 0 0 env(viewport-segment-bottom 0 0);      background-color: pink;    }    #fold {      width: 100%;      height: calc(env(viewport-segment-top 0 1) - env(viewport-segment-bottom 0 0));      background-color: black;    }    #col2 {      display: flex;      background-color: seagreen;    }  }</style><div id="segment-css-container">  <div id="col1"></div>  <div id="fold"></div>  <div id="col2"></div></div>

下圖展示了物理設備上的體驗:Ztr28資訊網——每日最新資訊28at.com

Ztr28資訊網——每日最新資訊28at.com

Ztr28資訊網——每日最新資訊28at.com

Ztr28資訊網——每日最新資訊28at.com

JavaScript

要獲取視口段的數量,可以檢查 visualViewport 對象中的 segments 屬性,它返回一個數組:Ztr28資訊網——每日最新資訊28at.com

const segments = window.visualViewport.segments;  console.log('視口具有以下段:', segments);

segments 數組中的每一項代表視口的一個邏輯段,這些邏輯段使用 DOMArray 來描述坐標和大小。segments 字段是查詢時給定狀態的快照,為了接收更新的值,需要監聽姿態變化(如屏幕旋轉)或調整大小事件,并重新查詢 segments 屬性。Ztr28資訊網——每日最新資訊28at.com

簡單來說,這段代碼可以查看當前視口被邏輯分割成的段的信息。如果想要追蹤這些段如何隨著窗口大小變化或設備姿態變化而變化,需要設置事件監聽器來捕獲這些變化并重新獲取 segments 屬性的值。Ztr28資訊網——每日最新資訊28at.com

嘗試 Foldable APIs

可折疊 API 已在 Chrome 125 到 Chrome 128 的版本中進行了原始試驗。Ztr28資訊網——每日最新資訊28at.com

為了進行本地測試,可以通過訪問 chrome://flags/#enable-experimental-web-platform-features 來啟用可折疊 API。另外,還可以通過在命令行中運行 Chrome 并添加 --enable-experimental-web-platform-featues 參數來啟用這些功能。Ztr28資訊網——每日最新資訊28at.com

本文鏈接:http://m.www897cc.com/showinfo-26-87041-0.html前端開發折疊屏應用新姿勢!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。郵件:2376512515@qq.com

上一篇: .NET中的多線程超時處理實踐

下一篇: 深入了解 aiohttp:掌握異步網絡編程的利器!

標簽:
  • 熱門焦點
Top 日韩成人免费在线_国产成人一二_精品国产免费人成电影在线观..._日本一区二区三区久久久久久久久不
在线视频一区观看| 国产视频丨精品|在线观看| 噜噜噜久久亚洲精品国产品小说| 美女精品国产| 欧美日韩精品在线视频| 国产欧美日韩在线视频| 狠狠色丁香婷综合久久| 99精品视频免费在线观看| 亚洲中无吗在线| 久久婷婷av| 欧美日韩精品免费观看视一区二区 | 亚洲欧美日韩综合| 久久久美女艺术照精彩视频福利播放 | 极品少妇一区二区三区| 日韩一二在线观看| 欧美一级午夜免费电影| 欧美国产日韩一区二区在线观看 | 久久资源在线| 欧美午夜免费| 精品成人国产在线观看男人呻吟| 日韩亚洲欧美一区| 欧美在线3区| 欧美另类女人| 国产在线一区二区三区四区 | 亚洲视频导航| 久久男人av资源网站| 欧美特黄a级高清免费大片a级| 韩国v欧美v日本v亚洲v| 亚洲深爱激情| 美女视频黄免费的久久| 国产精品夜夜嗨| 亚洲国产精品一区在线观看不卡| 亚洲女与黑人做爰| 欧美—级在线免费片| 国产一区二区三区四区五区美女| 一本久久综合亚洲鲁鲁| 久久综合九色欧美综合狠狠| 国产精品久久久久久超碰| 91久久精品视频| 久久激情视频久久| 国产精品九九久久久久久久| 亚洲欧洲精品一区二区三区不卡| 久久成人精品电影| 国产精品久久久久久久久借妻| 亚洲黄色尤物视频| 欧美亚洲一级| 国产精品ⅴa在线观看h| 亚洲人成人77777线观看| 久久精品一区二区国产| 国产精品色午夜在线观看| 9久re热视频在线精品| 麻豆成人综合网| 亚洲欧美在线另类| 欧美电影美腿模特1979在线看| 国产综合色产在线精品| 亚洲欧美在线高清| 国产精品h在线观看| 亚洲精品永久免费| 久久综合婷婷| 伊人夜夜躁av伊人久久| 久久精品人人做人人综合| 国产麻豆午夜三级精品| 亚洲最新色图| 欧美日韩一区二区三区在线| 亚洲裸体俱乐部裸体舞表演av| 麻豆精品在线播放| 有码中文亚洲精品| 欧美中文字幕在线| 国产日韩欧美在线看| 欧美在线视频一区二区| 国产农村妇女毛片精品久久莱园子| 亚洲私人黄色宅男| 国产精品劲爆视频| 亚洲欧美国产视频| 国产精品网红福利| 亚洲欧美激情诱惑| 国产精品久久久久久久久久久久久久 | 久久9热精品视频| 国产色综合天天综合网| 午夜亚洲伦理| 国产欧美va欧美va香蕉在| 性欧美暴力猛交69hd| 国产欧美精品日韩区二区麻豆天美| 亚洲一区二区三区在线看| 国产精品久久久久久久电影| 亚洲欧美日韩电影| 国产欧美综合一区二区三区| 午夜精品福利电影| 国产亚洲精久久久久久| 久久国产视频网站| 影音先锋亚洲视频| 欧美成人资源网| 日韩亚洲在线| 国产精品毛片一区二区三区| 午夜精品婷婷| 国模大胆一区二区三区| 久久久一区二区三区| 亚洲国产日韩美| 欧美日韩在线不卡一区| 亚洲欧美成人在线| 国产综合久久久久影院| 另类亚洲自拍| 日韩一级精品视频在线观看| 国产精品久久久一本精品| 亚欧美中日韩视频| 一区二区三区在线免费视频| 欧美国产视频在线| 99re6热只有精品免费观看| 欧美体内谢she精2性欧美| 午夜免费日韩视频| 激情偷拍久久| 欧美激情视频在线播放 | 欧美激情影院| 亚洲欧美日韩一区二区| 黄色日韩在线| 欧美另类亚洲| 午夜国产精品视频| 激情成人亚洲| 欧美日韩aaaaa| 亚洲在线电影| 在线看国产日韩| 欧美日韩在线播放一区| 久久国产欧美| 日韩亚洲欧美中文三级| 国产亚洲高清视频| 欧美另类久久久品| 欧美一区二区三区电影在线观看| 亚洲成色777777在线观看影院| 欧美日韩国产限制| 欧美一区深夜视频| 亚洲精品乱码久久久久久日本蜜臀 | 欧美一区二区三区在线| 亚洲国产裸拍裸体视频在线观看乱了中文| 欧美人与禽性xxxxx杂性| 亚洲欧美国产精品va在线观看| 激情伊人五月天久久综合| 欧美日韩高清在线一区| 欧美一区二区三区日韩| 亚洲美女精品久久| 国产一区二区中文| 欧美日韩精品高清| 久久久久久免费| 亚洲无吗在线| 亚洲国产日韩一区| 国产亚洲精品综合一区91| 欧美猛交免费看| 久久久久久一区二区三区| 一区二区高清| 影音先锋国产精品| 国产精品永久| 欧美极品一区| 久久免费视频在线观看| 亚洲尤物在线| 亚洲人成在线观看一区二区| 国产色视频一区| 欧美网站大全在线观看| 欧美v日韩v国产v| 久久成人免费日本黄色| 在线视频中文亚洲| 亚洲人成网站色ww在线| 国产一区二区三区四区在线观看| 欧美日韩综合另类| 欧美aa国产视频| 久久精品欧美日韩| 亚洲欧美日韩直播| 一区二区三区免费在线观看| 亚洲二区免费| 韩国在线一区| 国产女人精品视频| 欧美性片在线观看| 欧美日韩成人一区二区三区| 蜜臀a∨国产成人精品| 欧美一区二区三区四区高清| 亚洲综合社区| 亚洲调教视频在线观看| 亚洲三级性片| 亚洲国产精品一区二区www| 狠狠综合久久av一区二区老牛| 国产精品一区亚洲| 国产精品乱码| 欧美亚洲第一页| 欧美午夜精品一区二区三区| 欧美日韩一区二区免费视频| 欧美激情国产精品| 欧美成人精品在线观看| 可以看av的网站久久看| 久久免费黄色| 久久久久国产一区二区三区四区| 香蕉久久久久久久av网站| 亚洲欧美国产精品专区久久| 亚洲一区二区三区精品在线| 一本色道久久加勒比精品| 亚洲免费av观看| 日韩视频一区二区三区在线播放| 亚洲国产专区| 亚洲欧洲免费视频| 亚洲精品视频免费在线观看| 亚洲日本黄色| 亚洲精品国产精品乱码不99| 亚洲激情成人| 亚洲理论在线观看| 99国产精品视频免费观看| 99视频精品免费观看| 一本色道久久精品|