全國服務熱線400-0000000 企業熱線0561-3023030

html5/css3響應式布局介紹

一、什么是響應式布局?

響應式布局是Ethan Marcotte在2010年5月份提出的一個概念,簡而言之,就是一個網站能夠兼容多個終端——而不是為每個終端做一個特定的版本。

這個概念是為解決移動互聯網瀏覽而誕生的。響應式布局可以為不同終端的用戶提供更加舒適的界面和更好的用戶體驗,而且隨著目前大屏幕移動設備的普及,用大勢所趨來形容也不為過。

隨著越來越多的設計師采用這個技術,我們不僅看到很多的創新,還看到了一些成形的模式。

二、響應式布局有哪些優點和缺點?

優點:

面對不同分辨率設備靈活性強能夠快捷解決多設備顯示適應問題

缺點:

兼容各種設備工作量大,效率低下

代碼累贅,會出現隱藏無用的元素,加載時間加長

其實這是一種折衷性質的設計解決方案,多方面因素影響而達不到最佳效果

一定程度上改變了網站原有的布局結構,會出現用戶混淆的情況

三、響應式布局該怎么設計?

1、 如何解決不同設備間的兼容問題?

CSS3中的Media Query(媒介查詢)可以解決這個問題。

2、media query能夠獲取哪些值?

設備的寬和高device-width,device-heigth顯示屏幕/觸覺設備。

渲染窗口的寬和高width,heigth顯示屏幕/觸覺設備。

設備的手持方向,橫向還是豎向orientation(portrait|lanscape)和打印機等。

畫面比例aspect-ratio點陣打印機等。

設備比例device-aspect-ratio-點陣打印機等。

對象顏色或顏色列表color,color-index顯示屏幕。

設備的分辨率resolution

3、語法結構及用法

語法:@media 設備名 only (選取條件) not (選取條件) and(設備選取條件),設備二{sRules}

用法:

a、示例一:在link中使用@media:

<link rel=”stylesheet” type=”text/css” media=”only screen and (max-width: 480px),only screen and (max-device-width: 480px)” href=”link.css” rel=”external nofollow” />

上面使用中only可省略,限定于計算機顯示器,第一個條件max-width是指渲染界面最大寬度,第二個條件max-device-width是指設備最大寬度。

b、在樣式表中內嵌@media:

@media (min-device-width:1024px) and (max-width:989px),screen and (max-device-width:480px),(max-device-width:480px)and (orientation:landscape),(min-device-width:480px) and (max-device-width:1024px) and (orientation:portrait) {srules}

設置了電腦顯示器分辨率(寬度)大于或等于1024px(并且最大可見寬度為989px);屏寬在480px及其以下手持設備;屏寬在480px以及橫向(即480尺寸平行于地面)放置的手持設備;屏寬大于或等于480px小于1024px以及垂直放置設備的css樣式。

四、實現響應式布局

<!DOCTYPE html>

<html lang=”en”>

<head>

<meta charset=”UTF-8″>

<!– 必須加這句話

width – viewport的寬度

height – viewport的高度

initial-scale – 初始的縮放比例

minimum-scale – 允許用戶縮放到的最小比例

maximum-scale – 允許用戶縮放到的最大比例

user-scalable – 用戶是否可以手動縮放

–>

<meta name=”viewport” content=”width=device-width, initial-scale=1.0″>

<!–最后對于在IE瀏覽器中不支持media query的情況,我們可以使用Media Query JavaScript來解決,

只需要在頁面頭部引用css3-mediaqueries.js即可 –>

<script src=”<a href=”http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js”></script”>http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js”></script</a>>

<title>Document</title>

<style>

/**

設計思路很簡單,首先先定義在標準瀏覽器下的固定寬度(假如標準瀏覽器的分辨率為1024px,那么我們設置寬為980px),

然后用Media Query來監測瀏覽器的尺寸變化,當瀏覽器的分辨率小于1024px的時候,

則通過Media Query預設的樣式表來將頁面的寬度設置為百分比顯示,

這樣子頁面的結構元素就會根據瀏覽器的的尺寸來進行相對應的調整。

同理,當瀏覽器的可視區域改變到某個值(假如為650px)的時候,

頁面的結構元素根據Media Query預設的層疊樣式表來進行相對應的調整。看看我們的例子:

**/

/* 當瀏覽器的可視區域小于980px */

@media screen and (max-width: 980px) {

#wrap {width: 90%; margin:0 auto;}

#content {width: 60%;padding: 5%;}

#sidebar {width: 30%;}

#footer {padding: 8% 5%;margin-bottom: 10px;}

}

/* 當瀏覽器的可視區域小于650px */

@media screen and (max-width: 650px) {

#header {height: auto;}

#searchform {position: absolute;top: 5px;right: 0;}

#content {width: auto; float: none; margin: 20px 0;}

#sidebar {width: 100%; float: none; margin: 0;}

}

/** 為了更好的顯示效果,我們往往還要格式化一些CSS屬性的初始值:***/

/* 禁用iPhone中Safari的字號自動調整 */

html {

-webkit-text-size-adjust: none;

}

/* 設置HTML5元素為塊 */

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {

display: block;

}

/* 設置圖片視頻等自適應調整 */

img {

max-width: 100%;

height: auto;

width: auto\9; /* ie8 */

}

.video embed, .video object, .video iframe {

width: 100%;

height: auto;

}

</style>

</head>

<body>

</body>

</html>

聲明:文章"html5/css3響應式布局介紹"為相王科技 Array原創文章,轉載請注明出處,謝謝合作!

推薦閱讀

深圳风采走势图100期 神计划人工时时彩pk10 在码头装卸工赚钱吗 飞艇五码在线搞准计划版 广西快乐十分开奖搜索 安徽快3开奖结果今天 聚富视界app最新版 七星彩玩法 河南481开奖结果60期 足胜平负14场预测 黑龙江36选7几点开奖 天龙里刷天外马赚钱吗 捕鱼大师变态版 彩票管理主任与下属 全民如意麻将官网 71期稳赚六肖 西游争霸怎么看颜色