一、什么是響應式網站:
現在,隨著智能手機手機的普及,站長們發現,從手機上來的流量一點不比在PC上來的少,所以,作為一種能夠自動適應不同屏幕尺寸的網頁設計辦法,響應式設計(Responsive Design)正日益成為*受推崇的移動網頁優化方式。今天北斗網絡就跟大家分享一下設計響應式網站的哪些些事?希望對大家有所幫助。 網站響應式設計的原理就是在CSS中,有一個不常用到的屬性media。為了達到響應式設計的目的,讓css根據屏幕寬度(例如 media screen only @(max-width:480px)),使用不同的CSS代碼,從而達到自動調整頁面DIV寬度的目的。當然,除了CSS,還可以使用JS對頁面內容進行動態的調整,不過這個技術不是很流行。在網站開發過程中根據用戶行為以及設備環境進行相應的操作和布局,使網站可針對不同平臺、尺寸和定向進行智能化調整,實現了在智能手機和平板電腦等多種智能移動終端瀏覽效果的流暢,防止頁面變形,并可在任一瀏覽終端進行網站數據的同步更新。
二、為什么要采用響應式設計開發網站:
如果你還對網站是否需要實現響應式設計存在質疑的話,相信下面的9點會讓您會更加認可網站實現響應式布局的必要性。
1、86%的用戶認為企業的手機網站也應該好看。
2、智能手機用戶的數量在2014年已經超過PC端的用戶數量。
3、73%的用戶會同時使用多種設備(或者他們有智能手機)。
4、49%的用戶稱:如果企業的手機網站做的不夠好,往往會給人不重視用戶體驗的錯覺。
5、74%的智能手機擁有者之用手機上網。
6、49%的手機用戶認為企業的移動網站還有改進的空間。
7、據統計目前有17%的網絡流量都來自于手機。
8、68%的網民表示,更喜歡用手機在那些用戶友好度高的電商網站平臺上進行購物。
9、67%的移動設備用戶反應移動網站的加載速度有待提高,響應式設計的普及迫在眉睫!
總結:隨著越來越多的智能移動設備( 手機,平板 )加入到互聯網中來,互聯網上的訪問設備是爆炸性的增長(屏幕的分辨率也是爆炸性的增長)。為了給手機和平板設備提供更好的體驗,必須在網站設計中使用響應式網站設計,并且整合從PC端到手機的各種屏幕尺寸和分辨率,用技術來使網頁適應不同分辨率的屏幕。
三、設計響應式網站的難點有哪些?
1、響應式網站設計難
因為不能使用絕對定位,那么在設計的時候需要考慮可讀性以及區域面積以及在不同的設備下的行為。這對一般的設計師來說簡直是一場災難。所以很少有出眾的響應式網站出現。
2、響應式網站實現更難
響應式設計出的稿子,當然還需要響應式的實現。響應式的基礎就是HTML5, CSS3。一般的建站公司,一般是沒有錢去聘用精通HTML5和CSS3技術的高手的。*多是讓程序員在寫代碼之前看2天書,然后就趕鴨子上架。這就導致了即使設計師設計出了很棒的模板,但是在實現了之后,怎么看怎么不舒服。
3、屏幕尺寸多,很難做到一次編碼,到處運行
目前,主流的大家用來訪問網頁的設備有:計算機(廢話),iPad,Android Pad(例如小米的),智能手機。那么做一個網站,必須到這些設備上去測試和運行。普通的網站作坊很少有人會愿意花這么多的精力去測試一個網站。
4、響應式網站成本大
因為響應式設計需要對多個界面兼容、功能調試,導致整個制作過程需要UI設計師和前端工程師要不斷磨合制作。
總之,響應式網站設計,為計算機、手機、平板電腦等不同設備的訪問用戶了提供更加舒適的界面和更好的用戶體驗(和速度),而且隨著目前移動設備的增長,已成為大勢所趨。
四、響應式網站的缺點有哪些?
1:對 IE 老板兼容性不友好
對于老版本 IE(IE6、IE7、IE8)支持不好,這是一個致命的問題,如果你的網站用戶大多還采用老版本 IE 的話,建議不做響應式網頁設計。
2:靈活性有所欠缺
基于不同終端的設備屬性不同,對產品用戶體驗要求就會截然不同。內容比較多帶有功能性的網站不適合做響應式網站設計,如:電商類型網站,寬屏的 pc 端內容如果全部要在手機端進行展示,勢必導致手機端的界面非常長,需要根據手機端屬性進行重新信息,框架設計,這樣對響應網站要求非常高,實現難度與成本非常高。但是大型網站為了提高用戶體驗,通常做法,把高分辨率寬屏網站*小的響應尺寸響應到 1024px,不再適配手機端,手機端重新設計開發一套手機網站,簡單理解為 2.5 響應,如:電商網站亞馬遜、Calvin Klein、Nike、視頻網站 Youtube,等。
3:速度可能會變慢
由于響應式頁面是同時下載多套 CSS 樣式代碼,可能在手機上就下載 PC、Pad 的冗余代碼,導致文件變大,影響加載速度。不過 CSS 樣式的代碼占用內存相對圖片來說不算大,所以如果前端編程處理得好前提之下,這就不會影響網站加載速度。根據響應式網站的優缺點,我們不難看出:企業官網、單頁宣傳網站非常適合做響應式網站設計,由于它們的界面內容比較少,結構比較簡單,所以在不同終端、不同尺寸設備上進行網站信息框架調整、內容加減、圖片、文字、柵格響應比較容易。內容比較多帶有功能性的網站不適合做響應式網站設計,如:電商類型網站。但是隨著科技不斷發展,響應技術逐漸完善,給響應式設計提供強有力的技術支持;響應式設計可以在不同終端提
供完美展示效果與友好的用戶體驗,吻合用戶體驗至上的趨勢。所以說,響應式設計必定是未來發展趨勢。
五、讓你的網站變成響應式的3個簡單步驟
1 – 響應式網站的布局
當創建一個響應式網站,或讓現有的網站變成響應式的,*先要關注的元素的布局。我在建立響應式的網站,總是先創建一個非響應的布局,頁面寬度固定大小。如果非響應版本完成得非常不錯,我再添加媒體查詢(Media Queries)和響應式代碼。這種操作方式更容易實現響應式特性,在同一時間專注于一個任務。
當你已經完成了無響應的網站,做的*件事是在你的 HTML 頁面,粘貼下面的代碼到和標簽之間。這將設置屏幕按1:1的尺寸顯示,在 iPhone 和其他智能手機的瀏覽器提供網站全視圖瀏覽,并禁止用戶縮放頁面。
現在是時候添加一些媒體查詢了。根據 W3C 網站,媒體查詢由媒體類型和零個或多個媒體查詢的條件表達式組成。通過使用媒體查詢,外觀呈現可以針對特定范圍內的輸出設備,而不需要改變內容本身。換句話說,媒體查詢讓您的網站在各種各種顯示器上看起來都很好,從小的智能手機到大的電腦屏幕等等。
媒體查詢取決于你的網站布局,所以對我來說為您提供一個現成可以使用的代碼片段有點困難。但是,下面的代碼對于大多數網站都是一個很好的起點。在這個例子中,#primary 是主要內容區域,#secondary 是側欄。
從代碼中你可以看到,我定義了兩種規格:*先有一個*大寬度為1060px,為平板電腦優化的橫向顯示。#primary 占在其父容器寬度的67%,#senondary 占30%,再加上3%的左外邊距。 第二個規格是用于平板電腦和更小的屏幕尺寸。
由于智能手機的屏幕尺寸小,我決定給 #primary 設置100%的寬度,#secondary 也設置100%的寬度,他將在 #primary 下面。 正如我已經說過的,你可能必須要對這段代碼位進行修改才能適應您的網站的具體需求。
/* Tablet Landscape */
@media screen and (max-width: 1060px) {
#primary { width:67%; }
#secondary { width:30%; margin-left:3%;}
}
/* Tabled Portrait */
@media screen and (max-width: 768px) {
#primary { width:100%; }
#secondary { width:100%; margin:0; border:none; }
}
完成以后,讓我們看看你的布局是如何響應的。要做到這一點,我用這 Matt Kersley 創建的一款非常的響應式測試工具。
2 – 媒體
一個響應式的布局是實現響應網站的第一步。現在,讓我們把注意力集中在另外一個現代化網站非常重要的方面:媒體,如視頻或圖像。 下面的 CSS 代碼將確保您的圖像將永遠不會大于他們的父容器,代碼非常簡單,適用于大多數網站。請注意,IE6 等舊的瀏覽器不支持 max-width 指令。
img { max-width: 100%; }
雖然上述技術是有效的,有時你可能需要有更多的圖像控制權,例如根據客戶端的顯示大小,顯示不同的圖像。
這是由 Nicolas Gallagher 發明的好方法。讓我們看看 HTML:
正如你可以看到,我們使用 data-* 屬性來存儲替換圖像的 URL。現在,讓我們使用強大的 CSS3 來為匹配 min-device-width 條件的媒體指定替換圖像:
@media (min-device-width:600px) {
img[data-src-600px] {
content: attr(data-src-600px, url);
}
}
@media (min-device-width:800px) {
img[data-src-800px] {
content: attr(data-src-800px, url);
}
}
3 – 響應式網站的字體
本教程的*后一步絕對非常重要,但往往被網站開發人員忽視——字體。到現在為止,大多數開發人員(包括我自己)使用像素來定義字體的大小。雖然像素在普通網站使用是OK的,但是對于響應式網站來說應該有響應式的字體。事實上,一個響應式的字體大小應關聯它的父容器的寬度,這樣它才可以適應客戶端的屏幕。
CSS3 規范引入了一個新的單位叫 rem,和 em 類相似,但相對于 HTML 元素來說, rem 更易于使用。
rem 是相對于 HTML 元素的,不要忘了重置 HTML 的字體大小:
html {
font-size
:
100%
; }
完成后,您可以定義響應式的字體大小,如下所示:
1 2 3 | @media ( min-width : 640px ) { body { font-size : 1 rem;} } @media ( min-width : 960px ) { body { font-size : 1.2 rem;} } @media ( min-width : 1100px ) { body { font-size : 1.5 rem;} } |
請注意,舊瀏覽器不支持 rem 單元,所以不要忘了實現一個替代。