響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)三步走
響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì),毫無(wú)疑問(wèn)地變得越來(lái)越重要了。如果你還沒(méi)聽(tīng)說(shuō)過(guò)響應(yīng)式設(shè)計(jì),可以先看看我之前發(fā)的文章響應(yīng)式網(wǎng)站。對(duì)新手來(lái)說(shuō), 響應(yīng)式設(shè)計(jì)聽(tīng)起來(lái)可能會(huì)有點(diǎn)復(fù)雜, 但事實(shí)上,它比你想象的簡(jiǎn)單得多。為了讓你能快速入門(mén),我準(zhǔn)備了一個(gè)簡(jiǎn)易的教程。通過(guò)這三個(gè)步驟,你一定可以了解響應(yīng)式設(shè)計(jì)的基本原理和media query(在你有一些CSS基礎(chǔ)的前提下)。
***步. Meta 標(biāo)簽 (查看 demo)
為了適應(yīng)屏幕,多數(shù)的移動(dòng)瀏覽器會(huì)把HTML網(wǎng)頁(yè)縮放到設(shè)備屏幕的寬度。你可以使用meta標(biāo)簽的viewport屬性來(lái)設(shè)置。下面的代碼告訴瀏覽器使用設(shè)備屏幕寬度作為內(nèi)容的寬度,并且忽視初始的寬度設(shè)置。這段代碼寫(xiě)在 <head>里面
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
IE8及以下的瀏覽器不支持media query。你可以使用media-queries.js 或 respond.js 。這樣IE就能支持media query了。
- <!--[if lt IE 9]>
- <script src="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
- <![endif]-->
第二步. HTML 結(jié)構(gòu)
這個(gè)例子里面,有header、content、sidebar和footer等基本的網(wǎng)頁(yè)布局。 header 有固定的高180px,content 容器的寬是600px,sidebar的寬是300px。
第三步. Media QueriesCSS3 media query 響應(yīng)式網(wǎng)頁(yè)設(shè)計(jì)的關(guān)鍵。它像一個(gè)if語(yǔ)句,告訴瀏覽器如何根據(jù)特定的屏幕寬口來(lái)加載網(wǎng)頁(yè)。
如果屏幕窗口小于980px,下面的規(guī)則就生效。在這里,我設(shè)置了容器的寬度為百分比的形式而不是像素單位,這樣會(huì)更加靈活。
如果屏幕窗口小于700px, 定義 #content 和 #sidebar 為自適應(yīng)寬度,并移除它的浮動(dòng)屬性,這樣它會(huì)全屏顯示。
如果屏幕窗口小于480px (移動(dòng)設(shè)備的屏幕), 設(shè)置#header 高為自適應(yīng),把h1字體設(shè)置為24px,并且隱藏#sidebar。
這些media query,你可以寫(xiě)很多。在這個(gè)demo,我只寫(xiě)了三個(gè)。media query的目的是應(yīng)用不同的CSS規(guī)則來(lái)實(shí)現(xiàn)屏幕的***布局。它可以寫(xiě)在同一個(gè)CSS文件,也可以寫(xiě)在不同的文件。
結(jié)論
這個(gè)教程的目的是展示響應(yīng)式設(shè)計(jì)的基本原理。如果你要更加深入的學(xué)習(xí),查看這個(gè):Responsive Design With Media Queries.


2009-08-18 10:11:09
2024-06-28 07:42:18




