如何實現響應式布局

2021-08-27 21:24:43 字數 1886 閱讀 9736

首先,在網頁**的頭部,加入一行viewport元標籤。

所有主流瀏覽器都支援這個設定,包括ie9。對於那些老式瀏覽器(主要是ie6、7、8),需要使用css3-mediaqueries.js。

不使用絕對寬度

由於網頁會根據螢幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。

具體說,css**不能指定畫素寬度:width:*** px;只能指定百分比寬度:width: xx%;或者width:auto;

相對大小的字型

字型也不能使用絕對大小(px),而只能使用相對大小(em)。body

上面的**指定,字型大小是頁面預設大小的100%,即16畫素。h1

然後,h1的大小是預設大小的1.5倍,即24畫素(24/16=1.5)。small

small元素的大小是預設大小的0.875倍,即14畫素(14/16=0.875)。

流動布局(fluid grid)

「流動布局」的含義是,各個區塊的位置都是浮動的,不是固定不變的。

.main

.leftbar

float的好處是,如果寬度太小,放不下兩個元素,後面的元素會自動滾動到前面元素的下方,不會在水平方向overflow(溢位),避免了水平滾動條的出現。

另外,絕對定位(position: absolute)的使用,也要非常小心。

選擇載入css

「自適應網頁設計」的核心,就是css3引入的media query模組。

它的意思就是,自動探測螢幕寬度,然後載入相應的css檔案。

上面的**意思是,如果螢幕寬度小於400畫素(max-device-width: 400px),就載入tinyscreen.css檔案。

如果螢幕寬度在400畫素到600畫素之間,則載入smallscreen.css檔案。

除了用html標籤載入css檔案,還可以在現有css檔案中載入。

@import url("tinyscreen.css") screen and (max-device-width: 400px);

css的@media規則

同乙個css檔案中,也可以根據不同的螢幕解析度,選擇應用不同的css規則。

@media screen and (max-device-width: 400px)  #sidebar }
上面的**意思是,如果螢幕寬度小於400畫素,則column塊取消浮動(float:none)、寬度自動調節(width:auto),sidebar塊不顯示(display:none)。

的自適應(fluid image)

除了布局和文字,」自適應網頁設計」還必須實現的自動縮放。

這只要一行css**:img

老版本的ie不支援max-width,所以只好寫成:img

此外,windows平台縮放時,可能出現影象失真現象。這時,可以嘗試使用ie的專有命令:img

或者,ethan marcotte的imgsizer.js。

addloadevent(function() );
不過,有條件的話,最好還是根據不同大小的螢幕,載入不同解析度的。有很多方法可以做到這一條,伺服器端和客戶端都可以實現。

原文:

如何實現響應式布局

響應式與自適應的區別 響應式布局 不管使用者使用的是什麼裝置都是在伺服器把資料推送到瀏覽器後,指令碼或css自行偵測螢幕大小後執行對應的樣式表內容,並且一直通過本地指令碼在監聽螢幕大小的變化,隨時做出樣式響應的變化,所以是主動的。同一頁面在不同大小裝置可能呈現不一樣的頁面效果 px 相對於顯示器螢幕...

實現響應式布局

響應式網頁設計現在無疑是一件大事情。如果你還不了解響應式設計,可以看看我最近發表的 響應式站點列表 譯者注 可以好好看看示例中的 在不同解析度下的展現方式 對新手來說,響應式設計 可能有一點複雜,但是事實上比你想象的簡單。為了幫助你迅速的了解響應式設計,我起草了一篇快速教程。你可以在3個步驟中學習到...

響應式布局 響應式布局技巧

一理解幾種布局的概念 1 靜態布局 static layout 即傳統web設計,對於pc設計乙個layout,在螢幕寬高有調整時,使用橫向和豎向的滾動條來查閱被遮掩部分 意思就是不管瀏覽器尺寸具體是多少,網頁布局就按照當時寫 的布局來布置 對於移動裝置,單獨設計乙個布局,使用不同的網域名稱如wap...