很多Web前端新手對(duì)響應(yīng)式布局和自適應(yīng)布局的概念以及制作方法分不清,簡單來說響應(yīng)式布局相當(dāng)于流動(dòng)網(wǎng)格布局,而自適應(yīng)布局等于使用固定分割點(diǎn)來進(jìn)行布局。接下來就給大家講解用CSS做響應(yīng)式布局的方法。
做響應(yīng)式網(wǎng)站離不開CSS響應(yīng)式布局查詢代碼寫法,而在此之前,我們需要了解什么是媒體查詢以及如何才CSS中引入媒體查詢。
什么是媒體查詢?
媒體查詢可以讓我們根據(jù)設(shè)備顯示器的特性(如視口寬度、屏幕比例、設(shè)備方向:橫向或縱向)為其設(shè)定CSS樣式,媒體查詢由媒體類型和一個(gè)或多個(gè)檢測(cè)媒體特性的條件表達(dá)式組成。媒體查詢中可用于檢測(cè)的媒體特性有width、height和color(等)。使用媒體查詢,可以在不改變頁面內(nèi)容的情況下,為特定的一些輸出設(shè)備定制顯示效果。
如何在CSS中引入媒體查詢?
媒體查詢寫在CSS樣式代碼的最后,CSS是層疊樣式表,在同一特殊性下,靠后的的樣式會(huì)重疊前面的樣式。
如何用CSS做響應(yīng)式布局呢?
1、在HTML頭部添加以下代碼,用來顯示兼容移動(dòng)設(shè)備的顯示效果。
<meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
參數(shù)詳解:
width=device-width :寬度等于當(dāng)前設(shè)備的寬度
initial-scale=1 :初始的縮放比例(默認(rèn)為1)
minimum-scale=1 :允許用戶縮放到的最小比例(默認(rèn)為1)
maximum-scale=1 :允許用戶縮放到的最大比例(默認(rèn)為1)
user-scalable=no :用戶是否可以手動(dòng)縮放(默認(rèn)為no)
2、引入包含Media的CSS文件
一般情況HTMLCSS代碼都是分開寫的,Media也不例外。
<link rel="stylesheet" type="text/css" href="m320.css" media="only screen and (max-width:320px)"/>
<link rel="stylesheet" type="text/css" href="m480.css" media="only screen and (min-width:321px) and (max-width:375px)"/>
3、寫Media中的代碼
以某個(gè)網(wǎng)頁的響應(yīng)式布局為例
結(jié)構(gòu):@media設(shè)備類型and (設(shè)備特性){樣式代碼}
/*媒體查詢*/
/*當(dāng)頁面大于1200px時(shí),大屏幕,主要是PC端*/
@media (min-width: 1200px) {
}
/*在992 和1199 像素之間的屏幕里,中等屏幕,分辨率低的PC*/
@media (min-width: 992px) and (max-width: 1199px) {
#adver .center {
width: 50%;
margin: -10px 0 0 -25%;
}
main .center h2 {
font-size: 40px;
}
}
/*768和991像素之間的屏幕里,小屏幕,主要是PAD*/
@media (min-width: 768px) and (max-width: 991px) {
#adver .center {
width: 60%;
margin: -10px 0 0 -30%;
}
#adver .search, #adver .button {
font-size: 20px;
}
main .center h2 {
font-size: 35px;
}
}
/*在480和767像素之間的屏幕里,超小屏幕,主要是手機(jī)*/
@media (min-width: 480px) and (max-width: 767px) {
header, header .center, header .link {
height: 45px;
}
header .logo, .sm-hidden,.sidebar,.md-hidden {
display: none;
}
header .link {
width: 100%;
line-height: 45px;
}
#adver {
padding: 45px 0 0 0;
}
#adver .center {
width: 70%;
height: 53px;
margin: -10px 0 0 -35%;
}
#adver .search, #adver .button {
height: 45px;
font-size: 18px;
}
.sm-visible {
display: block;
}
main .center h2 {
font-size: 30px;
}
main .center p {
font-size: 15px;
}
main figure {
width: 49.2%;
}
}
/*在小于480像素的屏幕,微小屏幕,更低分辨率的手機(jī)*/
@media (max-width: 479px) {
header, header .center, header .link {
height: 45px;
}
header .logo, .xs-hidden, .sm-hidden, .sidebar, .md-hidden {
display: none;
}
header .link {
width: 100%;
line-height: 45px;
}
header .link li {
width: 25%;
}
#adver {
padding: 45px 0 0 0;
}
#adver .center {
width: 80%;
height: 48px;
margin: -10px 0 0 -40%;
}
#adver .search, #adver .button {
height: 40px;
font-size: 16px;
}
.sm-visible {
display: block;
}
footer .bottom, footer .version {
font-size: 13px;
}
main .center h2 {
font-size: 26px;
}
main .center p {
font-size: 14px;
}
main figure {
width: 99%;
}
}
響應(yīng)式布局的原理就是在不同的窗口大小下顯示不同的結(jié)構(gòu)和樣式。只要掌握好CSS的樣式,響應(yīng)式布局就沒問題。
個(gè)網(wǎng)站長得好看能吃嗎?還真能!一個(gè)“秀色可餐”的網(wǎng)站不僅能增加人們的食欲,還能讓你的營業(yè)額蹭蹭往上漲!但是,一個(gè)長得好看卻只能活在電腦端的網(wǎng)站,真的不能吃!2016年,已經(jīng)有超過80%的網(wǎng)民有在移動(dòng)端購物的經(jīng)歷,如果你的網(wǎng)站不能在移動(dòng)端“顏值在線”,就別怪客戶都被別家攬走了!
解決的辦法只有一個(gè),就是把自家網(wǎng)站做成響應(yīng)式的。要么也可以另外開發(fā)移動(dòng)站。要把網(wǎng)站變成響應(yīng)式網(wǎng)站,給大家說三個(gè)簡單的步驟。
1.布局
在建響應(yīng)式布局的時(shí)候,最好先建一個(gè)非響應(yīng)式的布局,測(cè)試沒問題后,再把布局改成響應(yīng)式的,添加響應(yīng)式代碼和媒體查詢。
在HTML頁面的<head>和</head>標(biāo)簽之間復(fù)制以下代碼:
媒體查詢的意思是根據(jù)不同設(shè)備設(shè)置不同的布局樣式。媒體查詢?nèi)Q于網(wǎng)站布局,我們可以這樣定義:第一個(gè),適合平板電腦橫向顯示,最大寬度為1060PX,#primary 占在其父容器寬度的67%,#senondary 占30%,再加上3%的左外邊距。 第二個(gè),適合豎向平板電腦和更小的屏幕尺寸。
編碼完成后,可以測(cè)試下布局是怎么響應(yīng)的。
2.媒體
響應(yīng)式布局是響應(yīng)式網(wǎng)站的“骨架”,媒體元素(視頻、圖像)是響應(yīng)式網(wǎng)站的“皮肉”。
下面這段CSS代碼能讓你的網(wǎng)站圖像不超過顯示終端尺寸。
用CSS3 來為匹配 min-device-width 條件的媒體指定替換圖像:
圖像能這樣設(shè)置,怎樣實(shí)現(xiàn)響應(yīng)式的視頻呢?
HTML:
CSS:
3.字體
CSS3 規(guī)范引入了一個(gè)新的單位叫 rem,和 em 類相似,但相對(duì)于 HTML 元素來說, rem 更易于使用。
rem 是相對(duì)于 HTML 元素的,不要忘了重置 HTML 的字體大小:
完成后,您可以定義響應(yīng)式的字體大小,如下所示:
完成這三步后,你就能擁有一個(gè)響應(yīng)式的網(wǎng)站了。不過這個(gè)教程對(duì)大部分用戶來說,還是有點(diǎn)復(fù)雜了。如果不會(huì)程序,是不是就不能做響應(yīng)式網(wǎng)站了呢?并不是。目前一些自助建站工具已經(jīng)非常強(qiáng)大,以建站寶盒為代表的H5模板建站,非常適合不懂編程的小白。拖拽操作,能打字就能建站,網(wǎng)站做出來高端大氣,尤其適合要做營銷型響應(yīng)式網(wǎng)站的企業(yè)。
零基礎(chǔ)建響應(yīng)式網(wǎng)站:http://www.iisp.com/design/?s=yuqiuping
應(yīng)式布局就是讓網(wǎng)站自動(dòng)適應(yīng)用戶終端設(shè)備如:PC、手機(jī)、平板等,首先我們應(yīng)該遵循移動(dòng)端優(yōu)先,交互和設(shè)計(jì)以移動(dòng)端為主,pc則作為移動(dòng)端的擴(kuò)展,我這里使用媒體查詢的方法取得客戶端屏幕尺寸,你也可以自己再擴(kuò)展。
響應(yīng)式布局
響應(yīng)式布局CSS代碼:
/*響應(yīng)式布局*/ .tpt-wp{margin:0 auto;width:100%} .tpt-cm{font-size: 18px;color: #333;text-align: center;background: #f2f2f2;height: 200px;line-height: 200px;padding: 10px;margin: 10px;} .tpt-md-4{float:left} .tpt-md-3{float:left} .tpt-md-2{float:left} /*瀏覽器寬度小于767px*/ @media only screen and (max-width:767px){ .tpt-md-4{width:50%} .tpt-md-3{width:100%} .tpt-md-2{width:100%} .tpt-ml-3{display:none} .tpt-mr-3{display:none} .tpt-ml-7{width:100%} .tpt-mr-7{width:100%} } /*瀏覽器寬度大于768px,小于1023px*/ @media only screen and (min-width:768px) and (max-width:1023px){ .tpt-md-4{width:50%} .tpt-md-3{width:50%} .tpt-md-2{width:50%} .tpt-ml-3{display:none} .tpt-mr-3{display:none} .tpt-ml-7{width:100%} .tpt-mr-7{width:100%} } /*瀏覽器寬度大于1024px,小于1199px*/ @media only screen and (min-width:1024px) and (max-width:1199px){ .tpt-md-4{width:33.33333333%} .tpt-md-3{width:33.33333333%} .tpt-md-2{width:50%} .tpt-ml-3{float:left;width:30%} .tpt-mr-3{float:right;width:30%} .tpt-ml-7{float:left;width:70%} .tpt-mr-7{float:right;width:70%} } /*瀏覽器寬度大于1200px*/ @media only screen and (min-width:1200px){ .tpt-md-4{width:25%} .tpt-md-3{width:33.33333333%} .tpt-md-2{width:50%} .tpt-ml-3{float:left;width:30%} .tpt-mr-3{float:right;width:30%} .tpt-ml-7{float:left;width:70%} .tpt-mr-7{float:right;width:70%} .tpt-wp{width:1200px;margin:0 auto} } /*NET*/
四等分布局:
<div class="tpt-wp"> <div class="tpt-md-4"><div class="tpt-cm">4</div></div> <div class="tpt-md-4"><div class="tpt-cm">4</div></div> <div class="tpt-md-4"><div class="tpt-cm">4</div></div> <div class="tpt-md-4"><div class="tpt-cm">4</div></div> </div>
三等分布局:
<div class="tpt-wp"> <div class="tpt-md-3"><div class="tpt-cm">3</div></div> <div class="tpt-md-3"><div class="tpt-cm">3</div></div> <div class="tpt-md-3"><div class="tpt-cm">3</div></div> </div>
二等分布局:
<div class="tpt-wp"> <div class="tpt-md-2"><div class="tpt-cm">2</div></div> <div class="tpt-md-2"><div class="tpt-cm">2</div></div> </div>
左七右三布局:
<div class="tpt-wp"> <div class="tpt-ml-7"><div class="tpt-cm">7</div></div> <div class="tpt-mr-3"><div class="tpt-cm">3</div></div> </div>
左三右七布局:
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。