真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何解決PC端和移動(dòng)端自適應(yīng)問題-創(chuàng)新互聯(lián)

這篇文章主要介紹了如何解決PC端和移動(dòng)端自適應(yīng)問題,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)是專業(yè)的杜集網(wǎng)站建設(shè)公司,杜集接單;提供成都網(wǎng)站設(shè)計(jì)、網(wǎng)站制作,網(wǎng)頁(yè)設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行杜集網(wǎng)站開發(fā)網(wǎng)頁(yè)制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來(lái)合作!

做網(wǎng)頁(yè)時(shí),我們通常需要考慮到不同電腦屏幕尺寸,以及不同手機(jī)屏幕大小等問題,解決樣式發(fā)生改變的情況,那么如何解決呢?現(xiàn)在主要是采用自適應(yīng)來(lái)解決高度,寬度的,以及圖片自適應(yīng)問題,下面就PC端和移動(dòng)端來(lái)總結(jié)一下,通常進(jìn)行自適應(yīng)高度和寬度,圖片時(shí),一般與頁(yè)面的布局存在關(guān)系。

1、最小尺寸分辨率1024*768(傳統(tǒng)17寸顯示器),則可以采用940px、960px、或者常用的980px作為最小寬度

2、1024*768之后稍大的分辨率就是1280*768了,則可以采用1200px或者1220px作為稍大的網(wǎng)頁(yè)寬度

3、支持css3、html5的高級(jí)瀏覽器可以利用CSS3 Media Queries讓網(wǎng)頁(yè)在不同分辨率下自動(dòng)調(diào)節(jié)布局標(biāo)簽

4、不支持css3、html5的腦殘瀏覽器特別是<=ie8系列則需要用js以及resize事件來(lái)控制html的布局標(biāo)簽寬度了

5、寬度自適應(yīng)需要對(duì)每個(gè)顯示模塊進(jìn)行不同寬度的計(jì)算,在做html布局時(shí)需要大量的計(jì)算與適配。

6、寬度自適應(yīng)為不同寬度顯示器寫布局元素時(shí)常用的css

下面我們看下,如何用js和css來(lái)自適應(yīng)屏幕的大小。

一:了解高度和寬度的基礎(chǔ)


下面用圖片來(lái)說(shuō)明:

     如何解決PC端和移動(dòng)端自適應(yīng)問題

網(wǎng)頁(yè)可見區(qū)域高寬為:document.body.clientHeight||document.body.clientWidth

網(wǎng)頁(yè)正文的區(qū)域高寬為:document.body.scrollHeight||document.body.scrollWidth(包括滾輪的長(zhǎng)度)

網(wǎng)頁(yè)被卷去的上左區(qū)域:document.body.scrollTop||document.body.scrollLeft

二: css自適應(yīng)高度

1.兩欄布局,左邊固定,右邊寬度自適應(yīng)

  1. 方法一:

  2. //html部分

  3. 左邊

  • 正文

  • //css部分

  • *{margin:0;padding:0}

  • #left{float:left;width:200px;background:red;}

  • #bodyText{margin-left:200px;background:yellow;

  • 方法二:

  • //html部分

  • 左邊

  •     正文

  • //css部分

  • #left{float:left;width:200px;background:red;margin-right:-100%;}

  • #body{width:100%;float:left;}

  • #bodyText{margin-left:200px;background:yellow;}

  •  2.三欄布局,兩邊定寬,中間自適應(yīng)寬度


    1. 方法一:

    2. 左邊----注意和div的位置有關(guān)系

    3. 右邊

    4. 中間

    5. //css部分

    6. #left{width:200px;background:red;float:left;}

    7. #center{width:auto;background:blue;}

    8. #right{width:200px;background:yellow;float:right;}

    9. 方法二:

    10. html部分:

    11.     中間

    12. 左邊

    13. 右邊

    14. css部分:

    15. #body{width:100%;float:left;} //設(shè)置浮動(dòng)和width:100%

    16. #body #center{background:red;margin-left:200px;margin-right:300px;} //margin-left:100%的使用方法

    17. #left{width:200px;background:yellow;margin-left:-100%;float:left}

    18. #right{width:300px;background:blue;margin-left:-300px;float:left}

    19. -----如果設(shè)置為margin-left:-100%,則會(huì)跑到body的左邊。

    20. -----如果設(shè)置為margin-left:-300px(即right的寬度),則會(huì)跑到body的右邊

    3.關(guān)于最小寬度和較大寬度

    這里依然結(jié)合布局來(lái)看,如下面的代碼:自適應(yīng)寬度,從而改變布局。


    1. //html部分

    2.     

    3.     

    4.     

    5.  

    6. //css部分

    7. #container{width:100%;}

    8. .one{width:20%;background:red;}

    9. .one,.two,.three{float:left; height:100px;}

    10. .two{width:60%;background:yellow;}

    11. .three{width:20%;background:blue;}

    12. @media (max-width:800px){--如果瀏覽器小于800px

    13.   .one{width:40%;}

    14.   .two{width:60%}

    15.   .three{width:100%}

    16. }

    17. @media (max-width:400px)--如果瀏覽器寬度小于400px

    18. {

    19.    .one{width:100%}

    20.    .two{width:100%}

    21.    .three{width:100%}

    22.   

    23. }

    理解什么叫最小寬度和較大寬度,最小寬度指為元素設(shè)置的最小寬度,到達(dá)最小寬度后,縮放文本不會(huì)起到任何作用

    較大寬度是所有元素所能達(dá)到的一個(gè)上限,不能再繼續(xù)往上增加。

    三: css處理自適應(yīng)高度


    1. //html部分代碼

    2. //css代碼

    3. html,body{margin:0;height:100%;}

    4. #fit{width:200px;background:yellow;height:100%;border:1px solid red;}

    5. --這里同時(shí)給html和body加樣式,是為了兼容各大瀏覽器。

    6.    IE 處于混雜模式時(shí),body以窗口為高度參照,body設(shè)置為100%就可以使得頁(yè)面和窗口一樣高,body里面的嵌套div也可以擴(kuò)展到窗口高度,

    7. 這樣的話可以使布局適應(yīng)瀏覽器窗口大小。窗體 》body》div  (html ,body {overflow:scroll}  一層滾動(dòng)條) 

    8.      但是當(dāng)處于標(biāo)準(zhǔn)模式時(shí),body以html標(biāo)簽為高度參照,html標(biāo)簽才以窗口為參照,所以僅僅body 100%,并不能使它的子div100% 占據(jù)整個(gè)屏幕

    9. 還要使得 html 100%使得 html獲得窗口大小才行。窗體》html》body》div (html ,body {overflow:scroll}  兩層滾動(dòng)條 ,html的滾動(dòng)條從來(lái)不會(huì)用到)

    父級(jí)隨子級(jí)高度變化而自適應(yīng)變化與子級(jí)隨父級(jí)高度變化而變化


    1.    我是父級(jí)

    2.    我是子級(jí)1

    3.    我是子級(jí)2

    4. //css部分

    5. #fj{border:4px solid red;}

    6. #zj1{border:2px solid yellow;}

    7. #zj2{border:2px solid blue;}----這種情況下,父級(jí)高度隨著子級(jí)div的高度自適應(yīng)的改變

    如果子div使用了float屬性,此時(shí)已經(jīng)脫離標(biāo)準(zhǔn)流,父div不會(huì)隨內(nèi)容的高度變化而變化,解決的辦法是在浮動(dòng)的div下面,加一個(gè)空div,設(shè)置clear屬性both

    1.    我是父級(jí)

    2.    我是子級(jí)11111111111111111111111111

    3.    我是子級(jí)222222222222222222222222222222222222222222

    4.   222222222222222222222222222

    5.    ------如果去掉這句話,則父級(jí)div高度,不會(huì)隨著子級(jí)的高度變化而變化

    6. //css部分

    7. #fj{border:4px solid black;}

    8. #zj1{border:2px solid yellow;float:left}

    9. #zj2{border:2px solid blue;float:left}

    高度的自適應(yīng)的方法還有很多,這里不再列舉。像height:auto等等。

    四:js處理高度和寬度自適應(yīng)問題

    1. 222222222222222222222

    2. //js部分

    3. function setHeight(obj)

    4. {

    5.   var temHeight=null;

    6.   //FF

    7.   if(window.innerHeight)

    8.   {

    9.     temHeight=window.innerHeight;//包括頁(yè)面高度和滾動(dòng)條高度

    10.   }

    11.   else 

    12.   {

    13.      temHeight=document.body&&document.body.clientHeight;

    14.   }

    15.   if(temHeight>document.body.clientHeight)//頁(yè)面高度

    16.   {

    17.      oDiv.style.height=temHeight+"px";

    18.   }

    19.   else

    20.   {

    21.     oDiv.style.height=document.body.clientHeight+"px";

    22.   }

    23. }

    24. window.onload=function()

    25. {

    26.   var oDiv=document.getElementById("div1");

    27.   getHeight(oDiv);

    28. }

    寬度自適應(yīng)代碼:

    1. function  setWidth(obj)

    2. {

    3.      var screenWidth = window.screen.width;    

    4.      var width;

    5.      var imgURL ;

    6.      if (screenWidth >= 1440) 

    7.      {

    8.          width = "1400px";

    9.          imgURL = "1400.png";//設(shè)置不同分辨率下的圖片

    10.      }

    11.      else if (1024 < screenWidth && screenWidth < 1440) 

    12.      {

    13.          width = "1200px";

    14.          imgURL = "1200.png";

    15.      } 

    16.       else {

    17.           width = "980px";

    18.           imgURL = "980.png";

    19.         }

    20.        obj.style.width=width ;

    21.        obj.style.backgroundImage="url(" + imgURL + ")";

    22.   })

    五:移動(dòng)端的自適應(yīng)高度和寬度

    移動(dòng)端的相對(duì)要簡(jiǎn)單些,首先,在網(wǎng)頁(yè)代碼的頭部,加入一行viewport標(biāo)簽。

     viewport是網(wǎng)頁(yè)默認(rèn)的寬度和高度,上面的意思表示,網(wǎng)頁(yè)的寬度默認(rèn)等于設(shè)備屏幕的寬度,原始縮放比例為1,即網(wǎng)頁(yè)初始大小占屏幕面積的100%。

    1:由于網(wǎng)頁(yè)會(huì)根據(jù)屏幕寬度調(diào)整布局,所以不能使用絕對(duì)寬度的布局,也不能使用具有絕對(duì)寬度的元素。這一條非常重要。具體說(shuō),CSS代碼不能指定像素寬度:width:xxx px;只能指定百分比寬度:width: xx%;或者width:auto;

    2:一般使用em,盡量少使用px字體

    3:使用流動(dòng)布局

    4:自適應(yīng)網(wǎng)頁(yè)設(shè)計(jì)”的核心,就是CSS3引入的media query模塊。

    自動(dòng)探測(cè)屏幕寬度,然后加載相應(yīng)的CSS文件。

    -------當(dāng)屏幕小于400時(shí),就加載style.css這個(gè)文件

    5:除了用html標(biāo)簽加載CSS文件,還可以在現(xiàn)有CSS文件中加載。

     @import url("style2.css") screen and (max-device-width: 800px);//當(dāng)小于800px屏幕時(shí),就加載style2.css文件

    6:圖片的自動(dòng)縮放,比較簡(jiǎn)單。只要一行CSS代碼:img{ max-width: 100%;}建議根據(jù)不同的屏幕分辨率,加載不同大小像素的圖片。

    移動(dòng)端的自適應(yīng),大體上差不多就這么多,主要核心是利用mediaquery,根據(jù)不同的屏幕大小,實(shí)現(xiàn)不同的布局。代碼可看上面的列子。這里不再重復(fù)寫。


    感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“如何解決PC端和移動(dòng)端自適應(yīng)問題”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,,關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!


    網(wǎng)站標(biāo)題:如何解決PC端和移動(dòng)端自適應(yīng)問題-創(chuàng)新互聯(lián)
    網(wǎng)站路徑:http://weahome.cn/article/cdhggj.html

    其他資訊

    在線咨詢

    微信咨詢

    電話咨詢

    028-86922220(工作日)

    18980820575(7×24)

    提交需求

    返回頂部