1. 程式人生 > >響應式佈局詳解

響應式佈局詳解

響應式佈局的目的:為移動裝置提供更好的體驗,用技術使網頁適應從小到大不同解析度的螢幕

有一句話對響應式佈局的形容非常貼切:content like water。

1.viewpoint

viewpoint:螢幕上用於顯示網頁的一塊區域(可能比瀏覽器的視區要寬,也可能要窄)

viewpoint理論

移動裝置上的viewpoint可分為:1)layout viewpoint (如顯示器的寬度,大於瀏覽器的可視寬度)

                                                   2)visual viewpoint (瀏覽器的可視寬度,和瀏覽器的大小相同)

                                                   3)ideal viewpoint  (移動裝置的理想寬度,隨移動裝置的大小不同而不同)

利用<meta>元資料標籤對viewpoint進行控制

<meta name="viewpoint" content="width=device-width", initial-scale="1.0">

content="width=device-width"  表示viewponit的寬度採用裝置寬度(即ideal viewpoint的寬度)

initial-scale="1.0"

  表示縮放比例為1.0,也就是viewpoint的一倍,也就是和ideal viewpoint是一樣的。

2.css媒體查詢

媒體查詢有兩種方式

1)<link>元素中的css媒體查詢

<link rel="stylesheet" media="max-width:800px">

2)樣式表中的css媒體查詢

@media screen and(min-width:600px){
...
...
...
}

事實上,媒體查詢就是做出一些限制條件,滿足哪些限制條件,就採用哪一個樣式,由於移動裝置的螢幕的大小各不相同,所以媒體查詢的使用就會很廣泛,因為不同的裝置的佈局方式等等都是不一樣的。

3.如何下手響應式

1)設定viewpoint

2)用媒體查詢設定斷點(min-width, max-width, max-height, min-height, landscape, portrait)

       ·先規劃好斷點,如(手機,平板,PC)

       ·遇到具體情況在增加具體斷點

       ·幾個關鍵點,手機橫屏,平板豎屏,PC寬屏和窄屏

注意:要知道設定min-width和的區別:min-width是移動端有限的設定方式,螢幕從小到大向上面相容,max-width相反

4.響應式佈局

1)流體                       設定較少的斷點(利用媒體查詢)所有內容使用flex:1;

2)固定+流體              設定較多的斷點,部分內容使用flex:1;

3)表現形式改變        就是螢幕不斷變化時,display:hidden與display:block以及寬高等等的變化

5.響應式圖片

<img src="img/small.png"

          srcset="img/large.png 960w,  img/medium.png 640w,  img/small.png 320w"

          sizes="(max-width:414px) 100vw, 640px"

          alt="響應式圖片">

 sizes="(max-width:414px) 100vw, 640px" 表示我們對圖片的需求,當小於414px時,就去原值,大於414px時,取640px,其中的100vw表示螢幕的100%顯示,就是全屏顯示。

srcset="img/large.png 960w,  img/medium.png 640w,  img/small.png 320w" 表示可供我們選擇的圖片規格,其中w是寬度描述符,在這裡就是px的意思。圖片選取原則:完全吻合原尺寸>大於原尺寸>小於原尺寸的最接近的尺寸

補充:上面w是寬度描述符,常用的還有x(裝置畫素比描述符)

如:

srcset="img/large.png 2x"

裝置畫素比(devicepixelradio):dpr=物理畫素/獨立畫素(CSS畫素)              值為1時為標準屏,值為2時為2倍屏

更多關於移動裝置的資訊(畫素密度,裝置畫素比,retina屏)參考我的下一篇文章retina顯示屏

本部落格由博主原創,如需轉載需說明出處!謝謝支援!