您好,登錄后才能下訂單哦!
本篇文章為大家展示了如何使用HTML5移動(dòng)端自適應(yīng)布局,代碼簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。
場(chǎng)景:為適應(yīng)各種大小的屏幕
自適應(yīng)布局我知道的兩種方式
1.使用媒體查詢,下面制定了幾種適應(yīng)方式,例如第一個(gè)表示屏幕寬度在320px-360px之間的,html字體大小適配為13.65px
<style> @media only screen and (max-width: 360px) and (min-width: 320px){ html{ font-size:13.65px; } } @media only screen and (max-width: 375px) and (min-width: 360px){ html{ font-size:23.4375px; } } @media only screen and (max-width: 390px) and (min-width: 375px){ html{ font-size:23.4375px; } } @media only screen and (max-width: 414px) and (min-width: 390px){ html{ font-size:17.64px; } } @media only screen and (max-width: 640px) and (min-width: 414px){ html{ font-size:17.664px; } } @media screen and (min-width: 640px){ html{ font-size:27.31px; } } </style>
2.響應(yīng)式,獲取到屏幕的寬度,計(jì)算出一定的比例大小,使用rem代替px,在使用的時(shí)候如 font-size:1rem,在不同屏幕大小的手機(jī)上展示的大小效果是不一樣的,和手機(jī)屏幕的大小比例自適應(yīng)
<script> (function(doc, win) { var docEl = doc.documentElement, //根元素html //判斷窗口有沒有orientationchange這個(gè)方法,有就賦值給一個(gè)變量,沒有就返回resize方法。 resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function() { var clientWidth = docEl.clientWidth; if(!clientWidth) return; //把document的fontSize大小設(shè)置成跟窗口成一定比例的大小,從而實(shí)現(xiàn)響應(yīng)式效果。 if(clientWidth >= 640) { clientWidth = 640; } docEl.style.fontSize = 20 * (clientWidth / 320) + 'px'; console.log(clientWidth); console.log(docEl.style.fontSize); }; recalc(); if(!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); //addEventListener事件方法接受三個(gè)參數(shù):第一個(gè)是事件名稱比如點(diǎn)擊事件onclick,第二個(gè)是要執(zhí)行的函數(shù),第三個(gè)是布爾值 doc.addEventListener('DOMContentLoaded', recalc, false) //綁定瀏覽器縮放與加載時(shí)間 })(document, window); </script>
<p id="p2" class="text" style="border: 0.04rem solid #ccc; height: 14rem;font-size: 0.5rem;">
上述內(nèi)容就是如何使用HTML5移動(dòng)端自適應(yīng)布局,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注億速云行業(yè)資訊頻道。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。