自適應佈局又稱「響應式佈局」,是指可以自動識別螢幕寬度、並做出相應調整的網頁佈局;這樣的網頁能夠相容多個不同的終端,而不是為每個終端做一個特定的版本。自適應佈局是為解決行動端瀏覽網頁而誕生的,能夠為使用不同終端的使用者提供很好的使用者體驗。
本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
什麼是自適應佈局
自適應佈局又稱「響應式佈局」,可以自動識別螢幕寬度、並做出相應調整的網頁佈局,簡單來講就是網頁能夠相容多個不同的終端(裝置),而不是為每個終端做一個特定的版本。
其實簡單來講自適應與非自適應的不同就是一個頁面不管在什麼裝置的解析度下都能自動識別適應,為瀏覽的使用者帶來了更好的體驗效果。
這個概念是為解決行動端瀏覽網頁而誕生的。自適應佈局能夠為使用不同終端的使用者提供很好的使用者體驗,而且隨著大屏智慧手機的普及,用「大勢所趨」來形容也不為過。
css3實現自適應佈局的方法
常用的方式有以下幾種:
使用 CSS 中的媒體查詢(最簡單);
使用 JavaScript(使用成本比較高);
使用第三方開源框架(例如 bootstrap,可以很好的支援各種瀏覽器)。
接下來我們以媒體查詢為例來具體演示一下自適應佈局的實現。
1、設定 meta 標籤
首先,我們需要設定 meta 標籤來告訴瀏覽器,讓視口(網頁的可視區域)的寬度等於裝置的寬度,並禁止使用者對頁面的縮放,如下所示:
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
在設定視口時需要注意,視口就是網頁可見區域的尺寸,設定視口時只設定寬度就行,不用在乎高度,具體高度由網頁內容自動撐開。上面 meta 標籤中內容的含義如下:
viewport:即視口,表示網頁的可視區域;
width:控制 viewport 的大小,可以指定一個具體的值,例如 600,也可以是由關鍵字組成的特殊值,例如 device-width 就表示裝置的寬度;
initial-scale:表示初始縮放比例,也就是頁面第一次載入時的縮放比例;
maximum-scale:表示允許使用者縮放的最大比例,範圍從 0 到 10.0;
minimum-scale:表示允許使用者縮放到最小比例,範圍從 0 到 10.0;
user-scalable:表示使用者是否可以手動縮放,「yes」表示允許縮放,「no」表示禁止縮放。
2、媒體查詢
CSS 媒體查詢可以根據指定的條件,針對不同的媒體型別(screen print)定義不同的 CSS 樣式,讓使用不同裝置的使用者都能得到最佳的體驗。
關於媒體查詢有以下三種實現方式:
1)、直接在 CSS 檔案中使用,範例程式碼如下:
@media (max-width: 320px) { /*0~320*/ body { background: pink; } } @media (min-width: 321px) and (max-width: 375px) { /*321~768*/ body { background: red; } } @media (min-width: 376px) and (max-width: 425px) { /*376~425*/ body { background: yellow; } } @media (min-width: 426px) and (max-width: 768px) { /*426~768*/ body { background: blue; } } @media (min-width: 769px) { /*769~+∞*/ body { background: green; } }
2)、使用 @import 匯入,範例程式碼如下:
@import 'index01.css' screen and (max-width:1024px) and (min-width:720px) @import 'index02.css' screen and (max-width:720px)
3)、在 link 標籤中使用,範例程式碼如下:
<link rel="stylesheet" type="text/css" href="index01.css" media="screen and (max-width:1024px) and (min-width:720px)"/> <link rel="stylesheet" type="text/css" href="index02.css" media="screen and (max-width:720px)"/>
下面通過一個綜合的範例來演示一下響應式佈局的實現:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>自適應佈局(響應式佈局)</title> <meta name="viewport"content="width=device-width,initial-scale=1.0,maximum-scale=1,user-scalable=no" /> <style> *{ margin: 0px; padding: 0px; font-family: "微軟雅黑"; } #head, #foot, #main { height: 100px; width: 1200px; /*width: 85%;*/ background-color: goldenrod; text-align: center; font-size: 48px; line-height: 100px; margin: 0 auto; } #head div{ display: none; font-size: 20px; height: 30px; width: 100px; background-color: green; float: right; line-height: 30px; margin-top: 35px; } #head ul{ width: 80%; } #head ul li{ width: 20%; float: left; text-align: center; list-style: none;font-size: 20px; } #main{ height: auto; margin: 10px auto; overflow: hidden; } .left, .center, .right{ height: 600px; line-height: 600px; float: left; width: 20%; background-color: red } .center{ width: 60%; border-left: 10px solid #FFF; border-right: 10px solid #FFF; box-sizing: border-box; } @media only screen and (max-width: 1200px) { #head, #foot, #main{ width: 100%; } } @media only screen and (max-width: 980px) { .right{ display: none; } .left{ width: 30%; } .center{ width: 70%; border-right: hidden; } } @media only screen and (max-width: 640px) { .left, .center, .right{ width: 100%; display: block; height: 200px; line-height: 200px; } .center{ border: hidden; border-top: 10px solid #FFFFFF; border-bottom: 10px solid #FFFFFF; height: 600px; line-height: 600px; } #head ul{ display: none; } #head div{ display: block; } } </style> </head> <body> <div> <header id="head"> <ul> <li>header1</li> <li>header2</li> <li>header2</li> <li>header2</li> <li>header2</li> </ul> <div>icon</div> </header> <section id="main"> <div class="left"> left </div> <div class="center"> center </div> <div class="right"> right </div> </section> <footer id="foot"> footer </footer> </div> </body> </html>
當瀏覽器視窗小於 1200 畫素大於 980 畫素時,和大於 640 畫素小於 980 畫素時的樣式是不同的
(學習視訊分享:、)
以上就是css3什麼是自適應佈局的詳細內容,更多請關注TW511.COM其它相關文章!