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