1.什麼是響應式 Web 設計?
響應式 Web 設計讓你的網頁能在所有設備上有好顯示。
響應式 Web 設計只使用 HTML 和 CSS。
響應式 Web 設計不是一個程序或Javascript腳本。
2.響應式的作用:設計最好的用戶體驗
友好的用戶體驗是網頁可以在任何設備上展示和操作,設備包括桌面系統設備,平板電腦,iPhone等手機等。
網頁應該根據設備的大小自動調整內容。
頁面的設計與開發根據用戶行為以及設備環境(系統平臺、屏幕尺寸、屏幕定向等)進行相應的響應和調整稱之為響應式 Web 設計。
3.自適應設計或者響應式設計的方法
(1)使用@media,條件(min-width: 768px)判斷當瀏覽器的寬度小於768px值時,改變樣式。
@media (min-width: 768px) {
.main {
width: 25%;
float: left;
}
}
通過媒體查詢選擇性加載css,意思是自動探測屏幕寬度,然後加載相應的CSS文件。
media="screen and (max-device-width: 400px)"
href="tinyScreen.css" />
上面的代碼意思是,如果屏幕寬度小於400像素(max-device-width: 400px),就加載tinyScreen.css文件。
link rel="stylesheet" type="text/css"
media="screen and (min-width: 400px) and (max-device-width: 600px)"
href="smallScreen.css" />
上面的代碼意思是:如果屏幕寬度在400像素到600像素之間,則加載smallScreen.css文件。
(2)寬度使用百分比,儘量少使用絕對值寬度。
由於網頁會根據屏幕寬度調整布局,所以不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素。這一條非常重要。
例如:
不能使用一下css代碼:
div{width:xxx px}
在響應式中,應該這麼使用:
div{
width:100%;
//或者
width:auto;
}
(3)字體的設置相對大小
移動端字體也不能使用絕對大小(px),而只能使用相對大小(em)或者高清方案(rem),rem不局限於字體大小,前面的寬度width也可以使用,代替百分比
body{
font: normal 100% Helvetica, Arial, sans-serif;//設置字體大小為默認大小,16像素
}
移動端設置字體大小:
在移動端上,設置字體為24px,則24/16=1.5,p的大小是默認大小的1.5倍,即24像素(24/16=1.5)。
p{font-size: 1.5em}
(4)流動布局(fluid grid)
「流動布局」的含義是,各個區塊的位置都是浮動的,不是固定不變的。
.leftDiv{
float: left;
width: 70%;
}
.rightDiv {
float: right;
width: 25%;
}
4.具體理解
在網頁上,寫一個普通的網頁效果
測試
p{border: 1px solid black;}
模擬手機上看到的樣式,字體很小,看不清,是因為按照電腦上的像素對字體進行設置的,解析度不一樣。
加上代碼後的樣式:
viewport: 一般指的是瀏覽器窗口內容區的大小,不包含工具條、選項卡等內容
width: 瀏覽器寬度,輸出設備中的頁面可見區域寬度
device-width: 設備解析度寬度,輸出設備的屏幕可見寬度
initial-scale: 初始縮放比例
maximum-scale: 最大縮放比例