国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

讓您的頁面隨“機”應變
——淺談響應式Web設計方法

2015-10-31 09:02:36曾瑤
中國傳媒科技 2015年9期
關鍵詞:瀏覽器代碼頁面

文|曾瑤

讓您的頁面隨“機”應變
——淺談響應式Web設計方法

文|曾瑤

隨著3G、4G的普及,媒體融合的發(fā)展,移動設備正超過桌面設備,成為訪問互聯(lián)網(wǎng)的最常見終端。于是,幾乎每個網(wǎng)站都希望有專門的移動設備版本。最完美的情況,就是為iPhone、iPad、主流Android設備……各自打造一款頁面。但不同設備的屏幕尺寸規(guī)格、分辨率甚至屏幕定向方式都可能不同,況且又如何應對不斷被研發(fā)出來的各種新設備呢?在當前多屏、多終端、多媒體融合發(fā)展新形式下如何讓我們的頁面隨“機”應變,適應各種設備終端?本文要介紹的響應式Web設計就是一套可行解決方案。

響應式Web設計的理念

響應式Web設計是由Ethan Marcotte在2010年提出,其理念就是,頁面設計能自動適應設備環(huán)境(屏幕尺寸、分辨率和系統(tǒng)平臺等)和用戶行為(屏幕定向),實現(xiàn)一套頁面適配多種終端。主要的實現(xiàn)方法包含彈性布局、液態(tài)網(wǎng)格、液態(tài)圖片、媒體查詢(media query)的使用等多方面。

響應式Web設計的方法

1、彈性布局(flexible layout)

我們可以通過響應式的設計和開發(fā)思路讓頁面更加“彈性”,無論用戶切換設備的屏幕定向方式,還是從臺式機轉(zhuǎn)到iPad上瀏覽,頁面都會富有彈性。彈性布局使用獨立的樣式表,或者使用CSS media query。多數(shù)樣式設置不會被影響和改變,只有一些特定的元素會通過浮動、寬度和高度等的設定發(fā)生變化。如果窗口或容器變的過窄或是過寬,則通過一個子級樣式表來繼承主樣式表的設定,并專門針對某些布局結(jié)構(gòu)進行樣式覆寫。我們來看以下示例:

默認主樣式表style.css(圖1)

子級樣式表mobile.css,專門針對移動設備進行樣式設置(圖2):

圖1 

圖2 

再使用下文將重點論述的媒體查詢代碼,實現(xiàn)根據(jù)屏幕寬度,自動加載不同樣式表(圖3):

以上代碼實現(xiàn)的大致視覺效果如下圖所示(圖4):

2、液態(tài)網(wǎng)格(fluid grid)

圖3 

圖4 

“液態(tài)網(wǎng)格”是指各個區(qū)塊的位置都是浮動的,不是固定不變的。各區(qū)塊的大小都采用百分比而不是使用絕對值。例如(圖5):

圖5 

float的好處是,如果寬度太小,放不下兩個元素,后面的元素會自動浮動到前面元素的下方,不會在水平方向溢出,避免出現(xiàn)水平滾動條。

3、液態(tài)圖片(fluid image)

響應式Web設計的思路中,一個重點考慮的因素是怎樣實現(xiàn)圖片的自動縮放。這只要一行CSS代碼:

img { max-width∶ 100%;}

老版本的I E不支持m a xwidth,所以只好寫成:

img { width∶ 100%; }

此外,windows平臺縮放圖片時,可能出現(xiàn)圖像失真現(xiàn)象。這時,可以嘗試使用IE的專有命令:

img { -ms-interpolationmode∶ bicubic; }

或者,Ethan Marcotte的imgSizer.js(圖6)。

圖6 

圖7 

圖8 

只要沒有其他涉及到圖片寬度的樣式代碼覆蓋掉這行規(guī)則,且其容器可視部分的寬度不小于圖片原始寬度,圖片就會以其原始寬度進行加載。同時當窗口或容器變窄時,圖片的寬度也會相應減小,保證圖片不會被容器隱藏或覆蓋。

4、媒體查詢(Media Queries)

實現(xiàn)響應式Web設計的關鍵技術(shù)是CSS3。CSS 3的media query是對 media type(媒體類型)的一種增強,它為我們在不同設備和環(huán)境下實現(xiàn)豐富的界面提供了一種方法。

CSS3添加了很多功能屬性,包括max-width(最大寬度)、devicewidth(設備寬度)、orientation(屏幕定向)。在CSS3發(fā)布之后出現(xiàn)的蘋果或Android設備,都可以很好的支持這些屬性。媒體查詢功能主要依賴于min-width和max-width這兩個屬性,可以同時判斷屏幕尺寸與瀏覽器實際寬度(圖7)。

以上代碼中定義的類(bigScreenClass)只有在瀏覽器或屏幕寬度超過720px時才會有效。

如果我們希望通過媒體查詢作用于某種特定的設備,而忽略其上運行的瀏覽器與設備屏幕寬度不一致(比如沒有最大化)的情況,那么我們就需要使用min-devicewidth與max-device-width屬性來判斷設備本身的屏幕寬度(圖8)。

對于iPad來說,orientation屬性尤其有用(圖9)。

圖9 

但是,這個屬性目前只在iPad上有效。對于其他可以轉(zhuǎn)屏的設備,可以通過min-device-width和max-device-width來變通實現(xiàn)。

另外,我們還可以組合使用上述屬性,對某種屏幕尺寸范圍進行鎖定,例如(圖10):

圖10 

上述代碼可應用于窗口或屏幕寬度在760px至1200px之間的所有設備。

其實,我們也可以選擇使用多個樣式表的方式來實現(xiàn)媒體查詢(如上文“彈性布局”小節(jié)中代碼示例),這樣做的好處是利于資源的組織和維護,但效率不高。

我們需要根據(jù)實際情況決定使用媒體查詢的方式。比如,對于iPad,就盡量將媒體查詢直接寫在一個樣式表中,因為使用iPad的用戶隨時可能切換屏幕定向,我們必須選擇效率最高的方式以保證頁面快速響應屏幕尺寸的變化。

5、禁用圖片自動縮放

圖11 

在蘋果的某些設備中,頁面將自動同比例縮小至最適宜屏幕尺寸的大小,橫向不出現(xiàn)滾動條,用戶可通過放大頁面的局部并進行拖拽來瀏覽整個頁面。于是就會產(chǎn)生一個問題,我們應用響應式Web設計,專門為iPhone的小屏輸出的小圖片,也會隨著整個頁面一起被同比縮小。

使用meta標記,禁用圖片自動縮放可以解決類似問題。在頁面的〈head〉部分添加一行代碼:

viewport是網(wǎng)頁默認的尺寸,代碼的意思是,頁面寬度默認等于設備寬度(width=devicewidth),初始縮放比例(initialscale=1)為1,即網(wǎng)頁原始大小占屏幕面積的 100%,maximumscale 表示最大縮放比例。

包括IE9在內(nèi)的所有主流瀏覽器都支持這個屬性設置,而對于老式瀏覽器(主要是IE6、7、8),則需要使用css3-mediaqueries.js腳本。

6、使用相對值

響應式web頁面要根據(jù)屏幕尺寸調(diào)整布局,因此不能使用絕對寬度的布局,也不能使用具有絕對寬度的元素,即我們的CSS代碼不能指定像素值寬度,而要指定百分比寬度:width∶ xx%或者width∶ auto。字體也不能使用絕對大小(px),而只能使用相對大?。╡m)。另外,絕對定位(position∶ absolute)的使用,也要非常小心。

響應式web設計的應用

目前響應式web設計現(xiàn)在還是個很時髦的技術(shù),而蘋果官網(wǎng)已經(jīng)成功實現(xiàn),不愧為為IT領域的時尚代表。

響應式web設計的優(yōu)缺點

響應式 Web 設計是當前媒體融合,移動互聯(lián)網(wǎng)應用及終端被廣泛使用的新形勢下產(chǎn)生的需求,它的優(yōu)點是顯而易見的:

1. 響應式Web 設計向用戶提供的 Web 界面可以適應多樣化的設備屏幕。隨著移動終端越來越多,有利于提升用戶體驗。

2. 由于響應式網(wǎng)站只需設計一個布局便可適配所有類型的設備,維護成本大大降低,可以明顯地減少您的工作量。而開發(fā)一個獨立的移動網(wǎng)站,則需要維護兩個網(wǎng)站,而且還涉及到兩個網(wǎng)站的數(shù)據(jù)同步。

但響應式web設計并不完美,它不是萬能解決方案,并不能真正替代移動網(wǎng)站。主要表現(xiàn)在:

1. 對于CPU和資源都緊張的移動設備來講,下載了一些不必要的HTML/CSS、圖片等資源,占用帶寬。

2. 由于響應式 Web 設計方法主要依賴于CSS3,很多老版本的瀏覽器并不能很好的支持。

(作者單位:新華社技術(shù)局)

猜你喜歡
瀏覽器代碼頁面
刷新生活的頁面
反瀏覽器指紋追蹤
電子制作(2019年10期)2019-06-17 11:45:14
創(chuàng)世代碼
動漫星空(2018年11期)2018-10-26 02:24:02
創(chuàng)世代碼
動漫星空(2018年2期)2018-10-26 02:11:00
創(chuàng)世代碼
動漫星空(2018年9期)2018-10-26 01:16:48
創(chuàng)世代碼
動漫星空(2018年5期)2018-10-26 01:15:02
環(huán)球瀏覽器
再見,那些年我們嘲笑過的IE瀏覽器
英語學習(2015年6期)2016-01-30 00:37:23
同一Word文檔 縱橫頁面并存
淺析ASP.NET頁面導航技術(shù)
固原市| 梧州市| 延川县| 尉犁县| 叙永县| 巴彦淖尔市| 青阳县| 西乡县| 枣强县| 衡东县| 日喀则市| 宁国市| 古丈县| 连平县| 庆城县| 上杭县| 叙永县| 锦屏县| 苍梧县| 鹰潭市| 定远县| 平遥县| 柯坪县| 乐平市| 黄龙县| 顺昌县| 隆尧县| 白玉县| 庆元县| 宜宾市| 蛟河市| 布拖县| 营口市| 合肥市| 临澧县| 惠东县| 丰原市| 祁连县| 锡林浩特市| 绍兴县| 安丘市|