以前拿到視覺稿做頁面適配,通常是針對不同的分辨率尺寸做斷點(diǎn)寫mediaquery,看效果再微調(diào)。如果在開發(fā)過程中對視覺稿進(jìn)行了修改,則必須再次進(jìn)行分辨率測試和微調(diào)試和微調(diào),然后想要糞便的心就有了。此外,這些適應(yīng)性是基于已知的分辨率尺寸庫。如果市場上有新的分辨率尺寸模型,哈哈,你必須在測試微調(diào)的路上奔跑。是否可以使用一套代碼來適應(yīng)各種分辨率窗口,那么就不會(huì)有上述問題,快速的開發(fā)效率和維護(hù)成本將大大降低。
答案是肯定的,這種形式早就出現(xiàn)了flash全屏全站,前段時(shí)間看了一篇關(guān)于圖片適應(yīng)屬性的文章。Object-fit,找到這個(gè)屬性O(shè)bject-fit雖然只能應(yīng)用于圖片,但其適應(yīng)思路可以借鑒H5頁面適應(yīng),這個(gè)想法就是「縮放」,也是本文的核心內(nèi)容。也就是說,無論窗口的寬度比如何,頁面都可以自動(dòng)縮放到窗口的大小,元素的坐標(biāo)和大小也可以準(zhǔn)確方便地使用js計(jì)算的px為單位。
這里借用Object-fit方法命名方便記憶,下面簡要介紹H5頁適用于幾種顯示形式。
1、contain模式:以內(nèi)容中心為基礎(chǔ),根據(jù)視覺草案的寬度和高度比進(jìn)行縮放,以適應(yīng)窗口顯示整個(gè)頁面的內(nèi)容。窗口與內(nèi)容之間的寬度比或高度比較小,填充窗口。當(dāng)窗口的寬度和高度比與視覺草案不同時(shí),另一個(gè)方向的兩側(cè)都有一個(gè)空的部分。