html5/css3響應式佈局介紹及設計流程

 

html5/css3響應式佈局介紹

html5/css3響應式佈局介紹及設計流程,利用css3的media query媒體查詢功能。移動終端通常都是對css3支持比較好的高級瀏覽器不須要考慮響應式佈局的媒體查詢media query兼容問題

一個普通的自適應顯示的三欄網頁,當你用不一樣的終端來查看這個頁面的時候,他會根據幾種終端來顯示不一樣的樣式,在電腦上是三列,在pad上應該也是 三列,在大屏手機上是三行,在屏幕小於320的手機上只顯示主要內容,隱藏掉了次要元素。(這裏關於響應式佈局還有個比較好的消息,就是拖動瀏覽器也能夠 觸發判斷條件,測試的時候你不須要去找一堆手機,只要把本身的瀏覽器窗口縮小到必定尺寸就能夠了。)css

咱們認識下media query屬性吧。html

  1. @media screen and (min-width: 320px) and (max-width : 479px)

就從這個條件語句開始介紹,media屬性後面跟着的是一個 screen 的媒體類型(上面說過的十種媒體類型之一)。而後用 and 關鍵字來鏈接條件(其餘關鍵字還有 not, only,看字面你們能理解,就很少說。),而後括號裏就是一個媒體查詢語句,稍微懂點css的同窗都能看懂,這個條件語句意思是在大於320小於479 的分辨率下所激活的樣式表。前端

這個語句,就是響應式佈局的基礎應用了。在判斷終端分辨率大小以後,賦予不一樣的樣式進去,就像咱們的例子裏html5

  1. @media screen and (max-width : 320px){
  2. body{...}
  3. }
  4. @media screen and (min-width: 800px) and (max-width: 1024px){
  5. body{...}
  6. }

至於要判斷多少種分辨率,徹底取決於你產品的需求,常見的分辨率有手機,平板(注意這些終端是存在 橫屏 豎屏 區別的,這個下一篇裏提),桌面顯示器。本身爲本身所面對的終端定製樣式。css3

通常大於960的顯示器均可以用默認樣式而沒必要在媒體查詢裏判斷了。有一種狀況除外,就是高像素比的終端,好比 iphone4以上的retina屏,一個iphone5的小小的屏幕(iphone的屏幕是真小啊),他的分辨率居然達到了1136*640,幾乎等於 一個筆記本的分辨率。你在這樣小的物理顯示界面打開一個網頁,他用1136的分辨率來顯示,結果就是全部元素小的可憐。web

在面對這種分辨率精細的終端,咱們有另一個條件查詢語句 device-pixel-ratio。瀏覽器

好比例子裏的iphone

  1. @media only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)

就是判斷終端的像素比是2的話,所渲染的樣式。iphone4以上像素比是2,高分辨率Andriod設備像素比是1.5,例子裏只有像素比爲2的查詢,1.5的或者其餘比例方法同樣,前面用的是幾種瀏覽器的私有屬性,最後一種是通用屬性,ide

  1. @media only screen and (-moz-min-device-pixel-ratio: 2), only screen and (-o-min-device-pixel-ratio: 2/1), only screen and (-webkit-min-device-pixel-ratio: 2), only screen and (min-device-pixel-ratio: 2)

等於svn

  1. @media only screen and (min-device-pixel-ratio: 2)

爲了一些版本的兼容性,不得已寫的長了。

  1. body{
  2. font-size:24px;
  3. }
  4. .box2{
  5. background: url(d/20.png) #ccc;
  6. background-size:50%;
  7. }

在像素比爲2的終端裏這樣寫的目的,就是讓他顯示的更容易識別,通常來講顯示一張1px的背景圖片,咱們要準備一張2px的,而後再background-size:50%這樣。1.5像素比同例。

好比上面的demo,若是你用iphone4以上的蘋果手機來看,中間的背景圖片應該是顯示「2.0像素比」。

這裏也暴露了響應式一個很大的缺點:須要多作若干背景圖(做爲內容顯示的圖片暫時無視,彈性圖片與彈性字體,下次單獨寫一篇介紹博文介紹)。

對於media query的兼容性,我想不是很重要,由於不多有終端自帶IE9如下的瀏覽器。基本都是高級瀏覽器。若是特殊須要,能夠下載一個兼容的JS文件

  1. <!--[if lt IE 9]>
  2. <scriptsrc="http://css3-mediaqueries-js.googlecode.com/svn/trunk/css3-mediaqueries.js"></script>
  3. <![endif]-->

以條件註釋的方式加在文件裏。

 

html5/css3響應式頁面的設計流程

第一步:肯定須要兼容的設備類型、屏幕尺寸

經過用戶研究,瞭解用戶使用的設備分佈狀況,肯定須要兼容的設備類型、屏幕尺寸。

設備類型:包括移動設備(手機、平板)和pc。對於移動設備,設計和實現的時候注意增長手勢的功能。

屏幕尺寸:包括各類手機屏幕的尺寸(包括橫向和豎向)、各類平板的尺寸(包括橫向和豎向)、普通電腦屏幕和寬屏。

須要考慮的問題:

  • 某個頁面進行響應式設計時其適用的尺寸範圍是哪些?好比,1688搜索結果頁面,跨度能夠從手機到寬屏,而1688首頁,因爲結構過於複雜,想直接遷移到手機上,不太現實,不如直接設計一個手機版的首頁。
  • 結合用戶需求和實現成本,對適用的尺寸進行取捨。好比一些功能操做的頁面,用戶通常沒有在移動端進行操做的需求,沒有必要進行響應式設計。

第二步:製做線框原型

針對肯定下來的幾個尺寸分別製做不一樣的線框原型,須要考慮清楚不一樣尺寸下,頁面的佈局如何變化,內容尺寸如何縮放,功能、內容的刪減,甚至針對特殊的環境做特殊化的設計等。這個過程須要設計師和前端開發人員保持密切的溝通。

第三步:測試線框原型

將圖片導入到相應的設備進行一些簡單的測試,可幫助咱們儘早發現可訪問性、可讀性等方面存在的問題。

第四步:視覺設計

注意,移動設備的屏幕像素密度與傳統電腦屏幕不同,在設計的時候須要保證內容文字的可讀性、控件可點擊區域的面積等。

第五步:前端實現

與傳統的web開發相比,響應式設計的頁面因爲頁面佈局、內容尺寸發生了變化,因此最終的產出更有可能與設計稿出入較大,須要前端開發人員和設計師多溝通。

 

本文來源:http://www.51xuediannao.com/html+css/htmlcssjq/694.html

相關文章
相關標籤/搜索