參考以下頁面仿製,並借用部份素材(如有不當請告知 🙇♂️)
https://www.apple.com/tw/iphone-se/
https://www.gogoro.com/tw/smartscooter/viva/
商品具多顏色選擇時,使用這個呈現方式視覺上和使用者體驗都不錯
除了讓畫面簡單乾淨,也能帶上產品大標做為特色說明~
如上 tag 所示~,這個特效需要用到下面這些功能
以上
這樣的效果需要多個容器來組合完成
由外至內逐一說明~
height: calc(3 * 100vh);
/* 也可以額外加入一些高度做為捲動 buffer,減緩 product 區塊的出場時間 */
height: calc((3 * 100vh) + 100vh);
再接著看下一個範例~
並沒有將所有部份像 apple 官網一樣處理的很好,部份畫面上的小問題尚待解決
有另外處理 screen notch 問題(詳細影響請看註 Notch)
未去除 notch 時頭尾有空白區域
去除 notch 後令圖片滿版
簡單在 html head meta content 內加入 viewport-fit=cover
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover">
另外還需要處理 padding safe area,避免文字被手機裝置 notch 蓋住
padding:
max(calc(env(safe-area-inset-top) + 10px), 20px)
max(calc(env(safe-area-inset-right) + 1%), 3%)
max(calc(env(safe-area-inset-bottom) + 10px), 20px)
max(calc(env(safe-area-inset-left) + 1%), 3%);
上面 padding 因網頁設計和調整個人喜歡做調整,所以用到 calc() 和 max()
當然這樣的效果也有缺點,像是效能問題和 `link anchor`
如果使用者第一次進入這頁並使用 `#notch`,可以看到畫面捲動時的奇怪效果
UX 上不是那麼好
"The Notch" and CSS: env safe-area-inset
https://www.codewall.co.uk/css-env-variables-for-todays-edge-screen-devices/
https://css-tricks.com/the-notch-and-css/
https://webkit.org/blog/7929/designing-websites-for-iphone-x/