標籤:html5+css3 媒體查詢 響應式設計
眾所周知,隨著移動端高速發展,對於前端開發人員來說,HTML5+CSS3的地位越發的舉足輕重了。其中的響應式設計也真正的流行起來。可能此時小碼哥寫這篇文章來說,也已經有些晚了,但,鄙人的目的是方便自己以後翻閱的,當然,也希望能對看到該文章的人有所協助。什麼是響應式設計,什麼又是媒體查詢?
所謂響應式設計:就是依據不同的裝置尺寸來開發前端頁面,以保證頁面能在所想要的裝置上能正常顯示。
媒體查詢:就是HTML5中針對不同裝置設定的一些尺寸的區間範圍,依據不同的區間編寫不同的代碼。以適應不同的裝置。
經過小碼哥查閱:當今主流裝置解析度:240*320像素,320*480像素,480*800像素(居多),640*960像素(居多),480*854(9:16)像素(少),1280*720像素(多),1280*800像素,1920*1080像素以及現如今的什麼2k,4k等等。
下面是小碼哥,自己閑來無事做的一個三級響應式案例頁面,重點是媒體查詢:
代碼:
HTML部分:
<!doctype html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1,minimum-scale=1,user-scalable=no"/>
<title>無標題文檔</title>
<link href="css/style.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div class="content">
<section id="top">
<div class="top_bar">
<a href="#" target="_blank" title="">歡迎光臨B2C100.COM 百裡挑一,獨一無二</a>
</div>
</section>
<section id="main">
<div class="cont1 floatLeft">
<div class="cont1-1">
<div class="cont1-1-1 floatLeft"><a href="#" target="_blank" title="首頁">首頁</a></div>
<div class="cont1-1-2 floatLeft">
<div class="cont1-1-2-1"><a href="#" target="_blank" title="瓷器">瓷器</a></div>
<div class="cont1-1-2-2"><a href="#" target="_blank" title="石器">石器</a></div>
</div>
</div><!--cont1-1-->
<div class="cont1-2">
<div class="cont1-2-1"><a href="#" target="_blank" title="木器">木器</a></div>
<div class="cont1-2-2">
<div class="cont1-2-2-1 floatLeft"><a href="#" target="_blank" title="剪紙">剪紙</a></div>
<div class="cont1-2-2-2 floatLeft"><a href="#" target="_blank" title="布藝">布藝</a></div>
</div>
</div><!--cont1-2-->
</div><!--cont1-->
<div class="cont2 floatLeft">
<div class="cont2-1">
<div class="cont2-1-1"><a href="#" target="_blank" title="DIY">DIY</a></div>
<div class="cont2-1-2"><a href="#" target="_blank" title="古玩文玩">古玩文玩</a></div>
</div>
<div class="cont2-2">
<div class="cont2-2-1"><a href="#" target="_blank" title="五行綜合">五行綜合</a></div>
<div class="cont2-2-2"><a href="#" target="_blank" title="新聞">新聞</a></div>
</div>
</div><!--cont2-->
<div class="cont3 floatLeft">
<div class="cont3-1"><a href="#" target="_blank" title="廣告一">廣告一</a></div>
<div class="cont3-2"><a href="#" target="_blank" title="廣告二">廣告二</a></div>
</div><!--cont3-->
</section>
</div><!--content-->
</body>
</html>
CSS部分:
@charset "utf-8";
/* CSS Document*/
/**
* Author: zhaijiwei
* Version: 1.0
* Last Changed by ZhaiJiwei
* Last Update : 2015-03-13
*/
body,h1,h2,h3,h4,h5,h6,blockquote,p,pre,
dl,dd,menu,ol,ul,
caption,th,td,
form,fieldset,legend,input,button,textarea,
header,footer,nav,article,aside,section,figure,figcaption{margin:0;padding:0}
h1,h2,h3,h4,h5,h6{font-size:100%}
menu,ol,ul{list-style:none}
table{border-collapse:collapse;border-spacing:0}
fieldset,img{border:0}
legend{display:none;}
a:active,a:focus{outline: none;}
address,cite,dfn,em,var{font-style:normal}
code,kbd,pre,samp{font-family:‘courier new‘,courier,monospace}
input,button,textarea,select{font-size:100%}
abbr[title]{border-bottom:1px dotted;cursor:help}
a{text-decoration:none;}
body,input,button,textarea,select,option,optgroup{font:12px/1 tahoma,\5b8b\4f53,sans-serif}
header,footer,nav,article,aside,section,figure,figcaption{display:block;}
.clear{zoom:1;}
.clear:after{visibility:hidden;display:block;font-size:0;content:"\0020";clear:both;height:0;}
/*S body*/
body{width:100%;height:100%;background:#CCFFFF;}
/*S conent*/
.content{width:100%;}
/*S #top*/
#top{width:100%;position:absolute;left:0;top:0;}
.top_bar{width:100%;height:40px;background:rgba(0,0,0,.5);line-height:40px;}
.top_bar a{margin-left:10px;color:#fff;}
/*S #main*/
.floatLeft{float:left;display:inline;}
#main{width:800px;height:600px;position:absolute;left:50%;top:50%;margin-left:-400px;margin-top:-300px;overflow:hidden;zoom:1;}
#main a{display:block;color:#fff;text-align:center;font-size:16px;}
.cont1{width:400px;}
.cont2,.cont3{width:200x;}
.cont1-1{overflow:hidden;zoom:1;}
.cont1-1-1{width:200px;height:300px;background:#666666;}
.cont1-1-1 a{width:200px;height:300px;line-height:300px;}
.cont1-1-2-1,.cont1-1-2-2{width:200px;height:150px;}
.cont1-1-2-1{background:#999999;}
.cont1-1-2-2{background:#CCCCCC;}
.cont1-1-2-1 a,.cont1-1-2-2 a{width:200px;height:150px;line-height:150px;}
.cont1-2-1{width:400px;height:150px;background:#FF0000;}
.cont1-2-1 a{width:400px;height:150px;line-height:150px;}
.cont1-2-2{overflow:hidden;zoom:1;}
.cont1-2-2-1,.cont1-2-2-2{width:200px;height:150px;}
.cont1-2-2-1{background:#00FF00;}
.cont1-2-2-2{background:#0000FF;}
.cont1-2-2-1 a,.cont1-2-2-2 a{width:200px;height:150px;line-height:150px;}
.cont2-1-1,.cont2-1-2,.cont2-2-1,.cont2-2-2{width:200px;height:150px;}
.cont2-1-1{background:#FFFF00;}
.cont2-1-2{background:#00FFFF;}
.cont2-2-1{background:#FF00FF;}
.cont2-2-2{background:#999999;}
.cont2-1-1 a,.cont2-1-2 a,.cont2-2-1 a,.cont2-2-2 a{width:200px;height:150px;line-height:150px;}
.cont3-1,.cont3-2{width:200px;height:300px;}
.cont3-1{background:#0000FF;}
.cont3-2{background:#666666;}
.cont3-1 a,.cont3-2 a{width:200px;height:300px;line-height:300px;}
/*螢幕尺寸小於768px的*/
@media (max-width:768px){
#main{width:600px;height:600px;margin-left:-300px;}
.cont1-1-1{width:200px;height:250px;}
.cont1-1-1 a{width:200px;height:250px;line-height:250px;}
.cont1-1-2-1,.cont1-1-2-2{width:200px;height:125px;}
.cont1-1-2-1 a,.cont1-1-2-2 a{width:200px;height:125px;line-height:125px;}
.cont1-2-1{width:400px;height:125px;}
.cont1-2-1 a{width:400px;height:125px;line-height:125px;}
.cont1-2-2-1,.cont1-2-2-2{width:200px;height:125px;}
.cont1-2-2-1 a,.cont1-2-2-2 a{width:200px;height:125px;line-height:125px;}
.cont2-1-1,.cont2-1-2,.cont2-2-1,.cont2-2-2{width:200px;height:125px;}
.cont3{float:none;overflow:hidden;zoom:1;width:600px;}
.cont3-1,.cont3-2{width:300px;height:100px;float:left;display:inline;}
.cont2-1-1 a,.cont2-1-2 a,.cont2-2-1 a,.cont2-2-2 a{width:200px;height:125px;line-height:125px;}
.cont3{float:none;overflow:hidden;zoom:1;width:600px;}
.cont3-1 a,.cont3-2 a{width:300px;height:100px;line-height:100px;}
}
/*螢幕尺寸小於480px的*/
@media (max-width:480px){
#top{display:none;}
#main{width:320px;height:560px;margin-left:-160px;margin-top:-280px;}
.cont1-1-1{width:160px;height:200px;}
.cont1-1-2-1,.cont1-1-2-2{width:160px;height:100px;}
.cont1-2-1{width:320px;height:100px;}
.cont1-2-2-1,.cont1-2-2-2{width:160px;height:100px;}
.cont1-1-1 a{width:160px;height:200px;line-height:200px;}
.cont1-1-2-1 a,.cont1-1-2-2 a{width:160px;height:100px;line-height:100px;}
.cont1-2-1 a{width:320px;height:100px;line-height:100px;}
.cont1-2-2-1 a,.cont1-2-2-2 a{width:160px;height:100px;line-height:100px;}
.cont2,.cont3{width:320px;overflow:hidden;zoom:1;}
.cont2-1-1,.cont2-1-2,.cont2-2-1,.cont2-2-2{width:80px;height:80px;float:left;display:inline;}
.cont3-1,.cont3-2{width:160px;height:80px;float:left;display:inline;}
.cont2-1-1 a,.cont2-1-2 a,.cont2-2-1 a,.cont2-2-2 a{width:80px;height:80px;line-height:80px;}
.cont3-1 a,.cont3-2 a{width:160px;height:80px;line-height:80px;}
}
以上三級轉換分別對應下面三種圖:
1、650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5B/65/wKiom1UH0oDjoxxgAAD1qS_Q45c224.jpg" title="mtcx-1.jpg" alt="wKiom1UH0oDjoxxgAAD1qS_Q45c224.jpg" />
2、
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5B/60/wKioL1UH08HgISStAADAz702lbA520.jpg" title="mtcx-2.jpg" alt="wKioL1UH08HgISStAADAz702lbA520.jpg" />
3、
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/5B/65/wKiom1UH0sDBP3glAAChTLe3dXg742.jpg" title="mtcx-3.jpg" alt="wKiom1UH0sDBP3glAAChTLe3dXg742.jpg" />
媒體查詢是當前非常流行的一種響應式設計方式。其核心還是要弄清楚每種裝置的尺寸問題,及布局問題。
本文出自 “關注技術專註前端” 部落格,請務必保留此出處http://oxoxo.blog.51cto.com/9301862/1621451
媒體查詢---響應式設計小執行個體