<span id="mktg5"></span>

<i id="mktg5"><meter id="mktg5"></meter></i>

        <label id="mktg5"><meter id="mktg5"></meter></label>
        最新文章專題視頻專題問答1問答10問答100問答1000問答2000關(guān)鍵字專題1關(guān)鍵字專題50關(guān)鍵字專題500關(guān)鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關(guān)鍵字專題關(guān)鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
        問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
        當(dāng)前位置: 首頁 - 科技 - 知識百科 - 正文

        javascript用rem來做響應(yīng)式開發(fā)

        來源:懂視網(wǎng) 責(zé)編:小采 時間:2020-11-27 22:21:48
        文檔

        javascript用rem來做響應(yīng)式開發(fā)

        javascript用rem來做響應(yīng)式開發(fā):電腦版的商城昨晚做完了,今天趕著做手機端的,提到手機端的網(wǎng)站第一個想到的就是要 適應(yīng)不同手機屏幕的寬度,保證在不同手機上都能正常顯示給用戶,我之前做這類網(wǎng)站都是無腦引進(jìn)bootstrap的。但前一個項目做完之后我發(fā)現(xiàn)bootstrap雖好,但里面的各種樣式我
        推薦度:
        導(dǎo)讀javascript用rem來做響應(yīng)式開發(fā):電腦版的商城昨晚做完了,今天趕著做手機端的,提到手機端的網(wǎng)站第一個想到的就是要 適應(yīng)不同手機屏幕的寬度,保證在不同手機上都能正常顯示給用戶,我之前做這類網(wǎng)站都是無腦引進(jìn)bootstrap的。但前一個項目做完之后我發(fā)現(xiàn)bootstrap雖好,但里面的各種樣式我

        電腦版的商城昨晚做完了,今天趕著做手機端的,提到手機端的網(wǎng)站第一個想到的就是要 適應(yīng)不同手機屏幕的寬度,保證在不同手機上都能正常顯示給用戶,我之前做這類網(wǎng)站都是無腦引進(jìn)bootstrap的。但前一個項目做完之后我發(fā)現(xiàn)bootstrap雖好,但里面的各種樣式我利用的很少,最多用到它排版,當(dāng)網(wǎng)站最后上傳的時候你會發(fā)現(xiàn),即使壓縮之后,它也會占用相當(dāng)大的一部分,所以這次我想自己用原生寫,響應(yīng)式開發(fā)(我現(xiàn)在知道的尚淺)目前我了解有

        1.百分比法:

        顧名思義,頁面的元素的margin,padding,width,height,等等都用%來計算,CSS中的百分比中的百指的是什么,指的是父元素,所有百分比都是這樣的。子元素寬度50%,那么父元素的寬度就是百,子元 素的padding-left:50%,父元素的寬度是百,子元素的margin-top:20%,那么父元素的高是百。所以body默認(rèn)寬度是屏幕寬度 (PC中指的是瀏覽器寬度)子孫元素按百分比定位(或指定尺寸)就可以了,這只適合布局簡單的頁面,復(fù)雜的頁面實現(xiàn)很困難。

        2.媒體查詢:

        這個是css3中給出的,我們要解決的問題是適應(yīng)手機屏幕,這個媒體查詢正是為解決這個問題而生,媒體查詢的功能就是為不同的媒體設(shè)置不同的css樣 式,這里的“媒體”包括頁面尺寸,設(shè)備屏幕尺寸等,最常用的形式

        phone:@media screen and (max-width:767px) {/手機中樣式/}

        pad:@media screen and (max-width:991px)and(min-width:768) {/平板中樣式/}

        pc:@media screen and (min-width:992px){/電腦中樣式/}

        ...(你還可以設(shè)置更多節(jié)點)

        用媒體查詢的話要保證每個像素下都有對應(yīng)的適配效果顯然你要設(shè)置更小的寬度范圍;

        3.還有就是css3的單位rem:

        rem就是將根節(jié)點html的font-size的值作為整個頁面的基準(zhǔn)尺寸,例如<html style="font-size:10px">那么1rem=10px;如何做到適配呢?那就要用到j(luò)s在頁面加載時獲取window的寬度(瀏覽器窗口的寬度)$(window).width();在開發(fā)手機頁面的時候,一般我們設(shè)置最大寬度為640px,因為640px可以保證在至今最寬的手機上顯示時網(wǎng)頁兩端剛好貼合屏幕,那接下來我就舉一個小例子。

        屏幕放大縮小這三個div也同樣還在一行等比放大縮小

        html

        <div class="container">
         <div class="box">1</div>
         <div class="box">2</div>
         <div class="box">3</div>
        </div>
        
        

        css

        <style>
         html{font-size: 20px;}
         .container{
         max-width: 640px;
         border:1px solid red;
         margin:0 auto;
         overflow: hidden;
         box-sizing: border-box;
         }
         .box{
         float: left;
         width:10.6rem;
         //我這里設(shè)置html的font-size:20px;最大
        寬為640px,即相當(dāng)于640/20=32rem;一行有3個div,所以每個div寬10.6rem
        
        你也可以像論壇里面講的那樣設(shè)置html的font-size:62.5%;因為瀏覽器默認(rèn)像素16px;乘以62.5%之后為整數(shù)10px;方便計算
        
         height:10.6rem;
         border:1px solid #000;
         box-sizing: border-box;
         }
        </style>
        

        js

        <script>
         window.onresize = window.onload = function () {
         var w = $(window).width();
         if(w<640){
         var size = 20*w/640;//640的時候
        對應(yīng)html的font-size為20,那么寬度為w是對應(yīng)
        的font-size可這么求
         $('html').css('fontSize',size+'px');
         }
         }
        </script>
        

        注意這里有一個小坑,當(dāng)你把這個小demo拿到谷歌瀏覽器里面驗證的時候,你會發(fā)現(xiàn)開始這3個div會隨著你瀏覽器窗口縮小而縮小,到達(dá)某個值后就不動了,原因是谷歌瀏覽器默認(rèn)支持html的font-size最小值為10px;在小于這個值就不會再小了,這是我當(dāng)時碰到的問題花了快兩個小時上網(wǎng)找,一遍遍演示也都沒想明白,最后終于查到這么個非人為原因.

        聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

        文檔

        javascript用rem來做響應(yīng)式開發(fā)

        javascript用rem來做響應(yīng)式開發(fā):電腦版的商城昨晚做完了,今天趕著做手機端的,提到手機端的網(wǎng)站第一個想到的就是要 適應(yīng)不同手機屏幕的寬度,保證在不同手機上都能正常顯示給用戶,我之前做這類網(wǎng)站都是無腦引進(jìn)bootstrap的。但前一個項目做完之后我發(fā)現(xiàn)bootstrap雖好,但里面的各種樣式我
        推薦度:
        標(biāo)簽: 使用 開發(fā) js
        • 熱門焦點

        最新推薦

        猜你喜歡

        熱門推薦

        專題
        Top
        主站蜘蛛池模板: 亚洲w码欧洲s码免费| 国产精品va无码免费麻豆| 国产精品亚洲美女久久久 | 国内自产少妇自拍区免费| 亚洲美女人黄网成人女| 男人都懂www深夜免费网站| 亚洲欧洲成人精品香蕉网| 少妇性饥渴无码A区免费| 亚洲女初尝黑人巨高清| 久久免费高清视频| 亚洲AV本道一区二区三区四区| a级成人免费毛片完整版| 亚洲Av熟妇高潮30p| 97青青草原国产免费观看| 亚洲男人电影天堂| 免费看韩国黄a片在线观看| 亚洲熟妇丰满xxxxx| 日本人护士免费xxxx视频| 免费人成视频在线观看免费| 亚洲午夜精品久久久久久浪潮| 丰满人妻一区二区三区免费视频| 亚洲av综合av一区| 最近免费中文字幕大全高清大全1| 亚洲啪啪免费视频| 国产福利免费观看| 中文在线观看国语高清免费| 亚洲第一福利网站| 在线成人a毛片免费播放| 国产成人无码精品久久久免费 | 美女视频黄a视频全免费网站一区 美女视频黄a视频全免费网站色 | 亚洲中文字幕在线观看| 国产免费拔擦拔擦8X高清在线人| 4444亚洲国产成人精品| 毛片免费在线播放| 男女一边桶一边摸一边脱视频免费 | 91在线视频免费观看| 色婷婷亚洲十月十月色天| 性感美女视频免费网站午夜| 一级女性全黄生活片免费看| 久久亚洲国产精品成人AV秋霞| 在线观着免费观看国产黄|