這是第三篇(第一篇連結、第二篇連結),,翻譯CSS-TRICKS中的Media Queries好文章,A Complete Guide to CSS Media Queries 「CSS 媒體查詢完全指引」(第一次刊登時間2020年10月2日,最新更新日2021年5月26日,由Andrés Galante 撰寫),繼續來摸索吧!
未來還有甚麼發展(變化)?
Media Queries 等級五正在檢視草稿中,
未來上線後,將會有需多變化,包含了許多值得討論的有趣樣式,
它將開啟全新的方式,以明確的條件,來設定網頁視窗與響應式網頁,
下面來討論己個有趣的樣式:
User preference media features(使用者偏好設定media樣式)
就如同前面的章節,這些設定相當有趣,不論是使用者自己設定,或甚至是作業系統層級的設定,因為是由使用者自己設定的系統或瀏覽器的偏好
Detecting a forced color palette(偵測到強制色彩限制)
就是字面上的意思,有些瀏覽器會限制可渲染的顏色樣式,被稱為 “forced colors mode(強制色彩模式)” ,
如果開啟這個設定,使用者可以選擇限制頁面使用哪些色彩,使用者即可自行定義色彩組合與對比度,使內容更使和他們閱讀。
Force-colors 樣式可以偵測使用者是否設定為active(啟用),如有啟用,瀏覽器會提供色彩調色盤到CSS系統色彩,瀏覽器也會檢查頁面的背景顏色,是深色或淺色主題,如果符合,為啟用適當對應的prefers-color-scheme值,供給網頁渲染。
Detecting the maximum brightness, color depth, and contrast ratio (偵測最大亮度、顏色深度、與對比比例)
部分裝置(與瀏覽器)有超亮度顯示能力、較廣的顏色範圍、與較高的顏色對比比例,可以使用dynamic-range樣式或的裝置顯示特色,high表示其裝置符合上述功能,standard代表其他(一般)的。
我們極有可能看到等級五的這項改變,
但目前為止,仍不確定亮度與對比度的high量測方式是甚麼,有可能由瀏覽器本身來定義。
Video prefixed features(影片前綴樣樣式)
Media Queries等級五文件中說,有些螢幕(例如電視)可以在不同平面(planes)顯示影片與圖像,可能是區分螢幕中的影片幀與其他元素,如此一來,Media Queries 等級五提議一系列有關影片(video)media樣式,目標是偵測影片的特徵值 ,包含色域(gamut)、動態範圍(dynamic range)等;
也有提議偵測影片高度(height)、寬度(width)、與解析度(resolution),但尚未定論是否這是正確處裡影片的方式。
Browser support (瀏覽器支援)
各家瀏覽器不斷進化,你正在閱讀此篇的時候,各瀏覽器可能有對於樣式支援又有變更,最新狀況請查閱 MDN updated browser compatibility table (MDN最新瀏覽器兼容表)
附註:container queries
如果元件可以自行調整它們的大小,而不是瀏覽器控制,使不是很酷?
這就是container queries概念的全貌。
若我們僅能以瀏覽器視窗大小,由media queries調整,
很不幸的是,視埠(viewport)不總是直接跟元件本身大小有關聯,
想像一下,有個小部件在網頁中以多個樣式表現:有時候是側邊欄(sidebar)、有時候是全寬頁腳(footer)、有時候在不確定欄位的grid內;
這難以捉模樣式的問題,就是container queries嘗試解決的問題,
理想狀況下,我們可以依據元件本身調整元件的style,而非依照視埠(viewport)調整;
可惜,目前container queries還沒有實現,WICG (網頁孵化器工作組,Web Incubator Community Group)正在尋找運用場景 ,這也是被高度提議新增的樣式 ,可看到偶爾的進度推進 ,但仍不確定是否可以看到這功能發表,但當它完成,肯定對我們使用media queries會有很大的衝擊。
與此同時,你可以追蹤container queries原版故事,來看到更多有關內容。
原文網站提供Codepen在文章中,請直接前往觀看範例,
這裡列出範例目錄:(連結都前往同個網頁,只是不同位置)
.Adjust layout at different viewport widths (使用viewport差異調整排版)
.Dark mode (深色模式)
.Detecting orientation, hover and motion on a responsive card gallery (在響應式卡片設計,偵測螢幕方向、懸浮(hover)、與動作)
.Target an iPhone in landscape mode (判斷iPhone手機螢幕方向:橫式)
.Apply a sticky header for large viewports (在大型viewport套用上方固定(sticky)標頭(header)
.Responsive (fluid) typography (響應式(流動式)文字稿)
.Provide bigger touch targets when devices have a course pointer (當裝置有大的指標(游標),提供較大的勾選框框)
規格文件
.Media Queries Level 4 (現在推薦使用)
.Media Queries Level 5 (審定草稿中)