一.根據不同的分辨率,加載不同的CSS樣式文件
這個方法的思路是,分別針對800、1280、1440、1600、1920等分辨率,創建不同的css文件。然後在各種分辨率下,寫css樣式表。
可能你會感覺針對一個頁面,要寫這麼多不同的css樣式表,這個工作量肯定很大。其實也不盡然,根據我在這個項目中的實踐,發現這個工作量其實是比較小的。
首先,我們在做項目的時候,一般情況下會有一些範圍限制,比如這個項目只需要適配1280~1920分辨率即可。而且各個分辨率之間,我們有的時候只是對頁面上的元素進行寬高、尺寸、位置等進行調整,整體的一個框架是相似或者說是相同的。
不僅如此,有的時候項目的要求不高,沒有比較1:1高度還原設計稿,那麼這個時候,我們在1440分辨率下的樣式表,在1280分辨率下也是實用的,這個時候,我們的工作量又進一步減少。
這個時候,我們可以先完成一個分辨率下的css樣式表。然後在這個基礎之上,對其他分辨率進行調整即可。這個過程我們只需要調整一些參數即可。
比如在我的項目裏面,這對不同的分辨率,我只做了三個樣式表
樣式表
這個時候,我們只需要在我們的HTML頁面的<head></head>
標籤中,使用js,根據不同的電腦分辨率,加載不同的css樣式表。注意這裏的js一定要寫在<head></head>
標籤裏面,這樣在加載頁面內容之前,可以提前把css樣式表加載出來
-
<script>
-
// 分辨率大於等於1680,大部分爲1920的情況下,調用此css
-
if(window.screen.width >= 1680){
-
document.write('<link rel="stylesheet" href="css/index_1920.css">');
-
}
-
// 分辨率再在1600-1680的情況下,調用此css
-
else if(window.screen.width >= 1600){
-
document.write('<link rel="stylesheet" href="css/index_1600.css">');
-
}
-
// 分辨率小於1600的情況下,調用此css
-
else{
-
document.write('<link rel="stylesheet" href="css/index.css">');
-
}
-
</script>
這樣的話,就可以根據不同電腦的分辨率,就在不同的css樣式表。由此我們便完成了頁面使用不同的分辨率。
二.採用媒體查詢
媒體查詢是CSS3的新特性,絕大多數瀏覽器都可兼容這一特性。這個方法的思路也是根據不同的分辨率,應用不同的css樣式。
如果你對媒體查詢不熟悉,可以點擊鏈接進行學習這一新特性。菜鳥教程-CSS3 @media 查詢
這個思路和和方法一差不多,或者說方法一的思路和這個思路差不多,畢竟這也是官方的做法。我們有兩種使用媒體查詢的方式。
1.根據不同的分辨率,引入不同的css樣式表
這個方法和方法一相同,也是通過判斷電腦的分辨率,來引入相對應的css樣式表。
-
<!-- 分辨率低於1280,採用test-01.css樣式表 -->
-
<link rel="stylesheet" media="screen and (max-device-width:1280px)" href="test-01.css">
-
<!-- 分辨率高於1400,採用test-02.css樣式表 -->
-
<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樣式寫在一起,最好有註釋,這樣我們在其他分辨率下去調整的時候,不至於一頭霧水。