波多野结衣影音先锋,东京热男人的天堂,粉嫩呦福利视频导航大全,激情网站免费

139-6504-8393
139-6504-8393

如何解決PC端和移動端網(wǎng)站的自適應(yīng)兼容問題(轉(zhuǎn)載)

0
明圖網(wǎng)絡(luò) 2021-12-01 0

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

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

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

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

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

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

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

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

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

      下面用圖片來說明:

      

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

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

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

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

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

復(fù)制代碼

左邊正文

復(fù)制代碼

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

復(fù)制代碼

左邊右邊中間

復(fù)制代碼

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

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

復(fù)制代碼

//html部分
<
div id='container'> <div class='one'></div> <div class='two'></div> <div class='three'></div> </div>//css部分 #container{width:100%;} .one{width:20%;background:red;} .one,.two,.three{float:left; height:100px;} .two{width:60%;background:yellow;} .three{width:20%;background:blue;} @media (max-width:800px){--如果瀏覽器小于800px  .one{width:40%;}  .two{width:60%}  .three{width:100%} } @media (max-width:400px)--如果瀏覽器寬度小于400px {   .one{width:100%}   .two{width:100%}   .three{width:100%}   }

復(fù)制代碼

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

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

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

復(fù)制代碼

//html部分代碼<div id="fit"></div>//css代碼
html,body{margin:0;height:100%;}
#fit{width:200px;background:yellow;height:100%;border:1px solid red;}

--這里同時給html和body加樣式,是為了兼容各大瀏覽器。
  IE 處于混雜模式時,body以窗口為高度參照,body設(shè)置為100%就可以使得頁面和窗口一樣高,body里面的嵌套div也可以擴(kuò)展到窗口高度,
這樣的話可以使布局適應(yīng)瀏覽器窗口大小。窗體 》body》div  (html ,body {overflow:scroll}  一層滾動條)

     但是當(dāng)處于標(biāo)準(zhǔn)模式時,body以html標(biāo)簽為高度參照,html標(biāo)簽才以窗口為參照,所以僅僅body 100%,并不能使它的子div100% 占據(jù)整個屏幕
還要使得 html 100%使得 html獲得窗口大小才行。窗體》html》body》div (html ,body {overflow:scroll}  兩層滾動條 ,html的滾動條從來不會用到)

復(fù)制代碼

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

復(fù)制代碼

我是子級1
   我是子級2

復(fù)制代碼

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

復(fù)制代碼

我是子級11111111111111111111111111

復(fù)制代碼

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

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

復(fù)制代碼

<div id="div1" >222222222222222222222</div>//js部分
function setHeight(obj)
{
  var temHeight=null;
  //FF
  if(window.innerHeight)
  {
    temHeight=window.innerHeight;//包括頁面高度和滾動條高度
  }
  else 
  {
     temHeight=document.body&&document.body.clientHeight;
  }
  if(temHeight>document.body.clientHeight)//頁面高度
  {
     oDiv.style.height=temHeight+"px";
  }
  else
  {
    oDiv.style.height=document.body.clientHeight+"px";
  }
}
_window.onload=function()
{
  var oDiv=document.getElementById("div1");
  getHeight(oDiv);
}

復(fù)制代碼

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

復(fù)制代碼

function  setWidth(obj)
{     var screenWidth = window.screen.width;         var width;     var imgURL ;     if (screenWidth >= 1440)
    {         width = "1400px";         imgURL = "1400.png";//設(shè)置不同分辨率下的圖片     }
    else if (1024
< screenWidth && screenWidth < 1440)
    {         width
= "1200px";         imgURL = "1200.png";     }
     else {          width
= "980px";          imgURL = "980.png";        }       obj.style.width=width ;
      obj.style.backgroundImage="url(" + imgURL + ")";  })

復(fù)制代碼

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

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

    <meta name=”viewport” content=”width=device-width, initial-scale=1″ />

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

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

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

    3:使用流動布局

    4:自適應(yīng)網(wǎng)頁設(shè)計(jì)”的核心,就是CSS3引入的media query模塊。下載地址:http://download.csdn.net/download/song_121292057/8031781

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

    <link rel="stylesheet" type="text/css"  media="screen and (max-device-width: 400px)" href="style.css" /> 

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

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

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

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

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

溫馨提示:本文轉(zhuǎn)載自HTTPS://www.cnblogs.com/jtjds/p/5480857.html,如需轉(zhuǎn)載請備注出處!

【版權(quán)聲明】:本站內(nèi)容來自于與互聯(lián)網(wǎng)(注明原創(chuàng)稿件除外),供訪客免費(fèi)學(xué)習(xí)需要。如文章或圖像侵犯到您的權(quán)益,請及時告知,我們第一時間刪除處理!謝謝!

上一篇:現(xiàn)在交換友情鏈接還有用嗎?
下一篇:合肥網(wǎng)站建設(shè)小編告訴你網(wǎng)站在進(jìn)行改版的時候需要注意哪些問題?
熱門服務(wù)和內(nèi)容
體驗(yàn)從溝通開始,讓我們聆聽您的需求!
即刻與明圖聯(lián)系,開始您的數(shù)字化品牌體驗(yàn)!
139-6504-8393
一鍵撥號
咨詢留言
Top
咨詢留言
請放心填寫,我們將嚴(yán)格保密!10分鐘內(nèi)電話反饋!