關於PC端自適應分辨率的問題。

一.根據不同的分辨率,加載不同的CSS樣式文件

這個方法的思路是,分別針對800、1280、1440、1600、1920等分辨率,創建不同的css文件。然後在各種分辨率下,寫css樣式表。

可能你會感覺針對一個頁面,要寫這麼多不同的css樣式表,這個工作量肯定很大。其實也不盡然,根據我在這個項目中的實踐,發現這個工作量其實是比較小的。

首先,我們在做項目的時候,一般情況下會有一些範圍限制,比如這個項目只需要適配1280~1920分辨率即可。而且各個分辨率之間,我們有的時候只是對頁面上的元素進行寬高、尺寸、位置等進行調整,整體的一個框架是相似或者說是相同的。

不僅如此,有的時候項目的要求不高,沒有比較1:1高度還原設計稿,那麼這個時候,我們在1440分辨率下的樣式表,在1280分辨率下也是實用的,這個時候,我們的工作量又進一步減少。

這個時候,我們可以先完成一個分辨率下的css樣式表。然後在這個基礎之上,對其他分辨率進行調整即可。這個過程我們只需要調整一些參數即可。

比如在我的項目裏面,這對不同的分辨率,我只做了三個樣式表

img_eddf428561a7ded16aa22ee5a91b08d1.png

樣式表

這個時候,我們只需要在我們的HTML頁面的<head></head>標籤中,使用js,根據不同的電腦分辨率,加載不同的css樣式表。注意這裏的js一定要寫在<head></head>標籤裏面,這樣在加載頁面內容之前,可以提前把css樣式表加載出來


 
  1. <script>

  2. // 分辨率大於等於1680,大部分爲1920的情況下,調用此css

  3. if(window.screen.width >= 1680){

  4. document.write('<link rel="stylesheet" href="css/index_1920.css">');

  5. }

  6. // 分辨率再在1600-1680的情況下,調用此css

  7. else if(window.screen.width >= 1600){

  8. document.write('<link rel="stylesheet" href="css/index_1600.css">');

  9. }

  10. // 分辨率小於1600的情況下,調用此css

  11. else{

  12. document.write('<link rel="stylesheet" href="css/index.css">');

  13. }

  14. </script>

這樣的話,就可以根據不同電腦的分辨率,就在不同的css樣式表。由此我們便完成了頁面使用不同的分辨率。

二.採用媒體查詢

媒體查詢是CSS3的新特性,絕大多數瀏覽器都可兼容這一特性。這個方法的思路也是根據不同的分辨率,應用不同的css樣式。

如果你對媒體查詢不熟悉,可以點擊鏈接進行學習這一新特性。菜鳥教程-CSS3 @media 查詢

這個思路和和方法一差不多,或者說方法一的思路和這個思路差不多,畢竟這也是官方的做法。我們有兩種使用媒體查詢的方式。

1.根據不同的分辨率,引入不同的css樣式表

這個方法和方法一相同,也是通過判斷電腦的分辨率,來引入相對應的css樣式表。


 
  1. <!-- 分辨率低於1280,採用test-01.css樣式表 -->

  2. <link rel="stylesheet" media="screen and (max-device-width:1280px)" href="test-01.css">

  3. <!-- 分辨率高於1400,採用test-02.css樣式表 -->

  4. <link rel="stylesheet" media="screen and (min-device-width:1440px)" href="test-02.css">

2.在同一個css樣式表中,根據不同的分辨率,寫不同的css樣式

這個方法只有一個css演示表,在這個樣式表裏面,根據不同的分辨率,寫不同的css樣式。

<style media="screen">

/*分辨率低於1280,採用下面的樣式*/

@media screen and (max-device-width:1280px){

div{

width: 200px;

height: 200px;

background-color: green;

}

}


/*分辨率高於1440,採用下面的樣式*/

@media screen and (min-device-width: 1440px){

div{

width: 300px;

height: 300px;

background-color: red;

}

}

</style>

三. 總結

以上的方法的思路大同小異,根據我自己的經歷,給大家提出一些小的建議。

因爲我在公司的電腦的分辨率是1440,所以一開始我實在1440分辨率下寫得css樣式表,然後在這個基礎之上,去調整其他的分辨率。發現根據小分辨率樣式去調整大分辨率樣式比較簡單。當然,也許你喜歡由大到小,這都無所謂,看個人興趣。

還有就是,我們在寫css樣式標的時候,儘量寫得規整一點。某一部分的css樣式寫在一起,最好有註釋,這樣我們在其他分辨率下去調整的時候,不至於一頭霧水。

本文是轉載,如果作者,不願意,請私信我,我會及時刪除該貼。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章