響應式網頁設計與應用

2020-12-23 51CTO

每個射擊溼都想自己的網站可以在任何設備上體驗都很牛,神馬iPhone、ipad、黑莓、kindle……無所不能啊~ 苦逼的是這些東東的系統不一樣,解析度也不一樣啊;電腦的屏幕越來越大,但是還有一半的用戶還是用的17寸CRT;手機、pad層出不窮,沒有個統一標準,我們又不想失去任何一個用戶,這可苦了我這些設計師了,需要付出更多的心血來獲得更好的體驗,誰讓我們是射擊溼呢。

電子產品更新換代節奏都快成馬了,跟都跟不上。對於網站來說根本不可能為每種設備都開發個版本出來,結果就是贏得魚,卻失去了熊掌,不過我們還是有辦法的。

響應式Web設計(Responsive Web design),理念是設計和開發應根據屏幕的大小、平臺的用戶的行為和環境基礎上自動調整;他應該有一個靈活的網格和布局,圖像和CSS能夠智能的組合使用。比如說用戶從電腦切換到ipad,網站能夠自動切換以適應解析度,圖像大小和腳本。換句話說,網站應該具備根據用戶的使用環境來自動調整,這可以減少不必要的重複設計。

響應式Web設計的概念

Ethan Marcotte曾經在A List Apart發表過一篇文章「Responsive Web Design」,文中援引了響應式建築設計的概念:

所謂響應式建築設計就是設計師嘗試建造一種使用一些傳感器檢測周圍環境,比如說溫度、溼度、光線等等自動進行調整的房子。現在我們把這個思路延伸到WEB設計領域。我們可以想,為啥我們要為每個用戶群各自打造一套設計方案呢?我們太笨了,有沒有更智能的做法?和響應式建築設計一樣,web設計也應該做到智能調整。

顯然web設計不能使用傳感器,這就要更多的抽象思維。好在現在一些概念已經得到實踐了,比如液態布局、 幫助頁面重新格式化的media queries和腳本等。但是響應式Web設計不僅僅是關於屏幕解析度自適應以及自動縮放的圖片等等,它更像是一種對於設計的全新思維模式。

調整解析度

不同的設備都有各自的屏幕解析度、清晰度以及屏幕定向方式,不斷被研發的各種新設備也將出現新的屏幕尺寸規格。有些設備基於橫屏 (portrait),有些是豎屏(landscape),甚至還有正方形;對於日益流行的iPhone、iPad及其他一些智慧型手機、平板電腦,用戶還可以通過轉動設備來任意切換屏幕的定向方式。怎樣才能做到讓一種設計方案滿足所有情況?

要想做到同時兼容橫、豎屏(用戶還有可能在頁面加載的過程中切換方向),我們就必須考慮N種屏幕尺寸規格。我們可以將這些規格劃分為幾個大類,然後為每一類做一種方案,確保該方案至少在本組中儘量具有彈性。但即使這樣,結果也將是非常不爽的,誰知道某類設備在5年之後的佔有率是多少?而且很多用戶甚至不去將瀏覽器的窗口最大化;天哪,哥受不了了……

Morten Hjerde和他的哥們對2005至2008年市場中的400餘種行動裝置進行了統計(查看報告),下圖為大致統計結果:

在08年之後,更多更有代表性的新設備問世並普及了。顯然,我們不可以沿著「多方案」的思路繼續走下去;那麼我們應該怎樣做呢?

部分解決方案:一切彈性化

幾年前,彈性布局(flexible layout)幾乎是一種奢侈品,所謂彈性,也只是體現在豎排布局以及字號等方面;圖片尺寸無法變化,這就導致圖片破壞了頁面結構,而且即使是有彈性的元素,在很多情況下他會亂彈,仍然是一塌糊塗。所以,所謂的彈性布局其實並非那樣彈性,它有時甚至不能適應臺式機與筆記本的屏幕解析度差異,更不用說手機等行動裝置了。

現在,我們可以通過響應式的設計和開發思路讓頁面更加」彈性」了。圖片的尺寸可以自動調整,頁面布局再不會被破壞。雖然永遠沒有最完美的方案,但它給了我們更多選擇。無論用戶切換設備的屏幕定向方式,還是從臺式機屏幕轉到iPad上瀏覽,頁面都會真正的富有彈性。

在前文提到的Ethan Marcotte的文章中,他通過一個實例展示了響應式Web設計在頁面彈性方面的特性:

該實例的實現方式完美的結合了液態網格和液態圖片技術,並且聰明的在正確的地方使用了正確的HTML標記。」液態網格」是一種很常見的實現方式;對於「液態圖片」技術,下面的文章做了不錯的介紹:

Hiding and Revealing Portions of Images

Creating Sliding Composite Images

Foreground Images That Scale With the Layout

說到創建液態頁面,最好看看Zoe Mickley Gillenwater的那本《Flexible Web Design: Creating Liquid and Elastic Layouts with CSS》 「怎樣創建彈性圖片」。另外,Zoe的這篇」Essential Resources for Creating Liquid and Elastic Layouts.「提供了不少關於創建彈性網格和布局的教程、資源、創意指導和實現方式。

從技術角度講,雖然聽上去這些都很簡單,但它著實相當複雜。舉個例子,仔細觀察Ethan Marcotte提供的實例中的logo圖片:

如果我們將瀏覽器窗口不斷調小,會發現logo圖片的文字部分始終會保持同比縮小,保證其完整可讀,而不會和周圍的插圖一樣被兩邊裁掉。所以整個logo其實包括兩部分:插圖作為頁面標題的背景圖片,會保持尺寸,但會隨著布局調整而被裁切;文字部分則是一張單獨的圖片。

  1. <h1 id="logo"><a href="#"><img src="site/logo.png" alt="The Baker Street Inquirer" /></a></h1> 

其中,<h1>元素使用插圖作為背景,文字部分的圖片始終保持與背景的對齊。

這個實例小小的展示一下響應式Web設計的思路。不過這點小努力還不足以避免整個布局在小尺寸窗口中變的過窄或過短,並且logo文字最終會變的小到難以識別,背景圖片也會被過多的裁切。

彈性圖片

響應式Web設計的思路中,一個重要的因素是怎樣處理圖片方面的問題。有很多同比縮放圖片的技術,其中有不少是簡單易行的。其中,由Richard Rutter最先嘗試的一種做法比較流行,即使用CSS的max-width屬性。這個方法在Ethan Marcotte的液態圖片一文中也有提到。

  1. img { max-width100%; } 

只要沒有其他涉及到圖片寬度的樣式代碼覆蓋掉這一行規則,頁面上所有的圖片就會以其原始寬度進行加載,除非其他設備可視部分的寬度小於圖片的原始寬度。上面的代碼確保圖片最大的寬度不會超過瀏覽器窗口或是其容器可視部分的寬度,所以當窗口或容器的可視部分開始變窄時,圖片的最大寬度值也會相應的減小,圖片本身永遠不會容器邊緣隱藏和覆蓋。實際上,就像Jason Grigsby在他的CSS Media Query for Mobile is Fool’s Gold一文中提到的,」液態圖片背後的思路,就是無論何時,都確保在其原始寬度範圍內,以最大的寬度同比完整的顯示圖片。我們不必在樣式表中為圖片設置寬度和高度,只需要讓樣式表在窗口尺寸發生變化時輔助瀏覽器對圖片進行縮放。」 一種簡而美的方法。

圖片本身的解析度及加載時間是另外一個需要考慮的問題。雖然通過上面的方法,可以很輕鬆的縮放圖片,確保在行動裝置的窗口中可以被完整瀏覽,但如果原始圖片本身過大,便會顯著降低圖片文件的下載速度,對存儲空間也會造成沒有必要的消耗。

響應式圖片

由Filament Group提出的」響應式圖片」技術思想,有助於解決上面提到的問題:不僅要同比的縮放圖片,還要在小設備上降低圖片自身的解析度。可以看下demo頁面先。

這個技術的實現需要使用幾個相關文件,我們可以在Github上獲取。包括一個JavaScript文件(rwd-images.js),一個.htaccess文件,以及一些範例資源文件。具體使用方法可以參考Responsive Images的說明文檔。 大致的原理是,rwd-images.js會檢測當前設備的屏幕解析度,如果是大屏幕設備,則向頁面head部分中添加BASE標記,並將後續的圖片、腳本和樣式表加載請求定向到一個虛擬路徑」/rwd-router」。當這些請求到達伺服器端,.htacces文件會決定這些請求所需要的是原始圖片還是小尺寸的」響應式圖片」,並進行相應的反饋輸出。對於小屏幕的行動裝置,原始尺寸的大圖片永遠不會被用到。

  1. <img src="smallRes.jpg" data-fullsrc="largeRes.jpg"> 

Date-fullsrc是html5中的一個定義文件的屬性,寬度超過480px的屏幕,就會加載較大解析度的圖片(largeRes.jpg),小屏幕解析度的就會加載較小的圖片(smallRes.jpg)。

JS文件中插入一個基本元素,允許頁面將圖像重新定向,當頁面加載時只是加載適合屏幕解析度的圖片,而其他圖像不會被下載。尤其是帶有大量圖片的網站,這種技術可以節省很大的帶寬和加載時間。

這項技術支持多數的現代瀏覽器,包括IE8+、Safari、Chrome和Opera,以及這些瀏覽器的行動裝置版本;在FireFox及一些舊瀏覽器中,則會優雅降級:我們仍可得到小圖片的輸出,但同時,原始大圖也會被下載。

禁用iPhone中的圖片自動縮放

在iPhone及iPod Touch中,頁面會被自動的同比例縮小至最適合屏幕大小的尺寸,x軸不會產生滾動條,用戶可以上下拖拽瀏覽全部頁面,或在需要的時候放大頁面的局部。這裡會產生一個問題,即使我們運用響應式Web設計的思想,專門為iPhone的小屏輸出小圖片,它同樣會隨著整個頁面一起被同比例縮小,如下圖左側所示。

我們可以使用蘋果專有的一些meta標記來解決類似的問題。在頁面的<head>部分添加以下代碼(詳情可以參考Think Vitamin的相關文章):

  1. <meta name="viewport" content="width=device-width; initial-scale=1.0"> 

將initial-scale的值設定為」1″,即可覆寫默認的縮放方式,保持原始的尺寸及比例。更多關於viewport meta標記的用法,可以參考蘋果官方的文檔。

打造布局結構

當頁面所需要適應的不同設備的屏幕尺寸差異過大時,除了圖片方面,我們也應該考慮到整個布局結構的智能化調整;我們可以使用獨立的樣式表,或者更有效的,使用CSS media query。這不會引起多大的麻煩,多數樣式設定不會被影響和改變,只有一些特定的元素會通過浮動、寬度和高度等的設置來改變位置。

我們可以使用一個默認主樣式表來定義頁面的主要結構元素,比如#wrapper、#content、#sidebar、#nav等的默認布局方式,以及一些全局性的配色和字體方案。

我們可以監測頁面布局隨著不同的瀏覽環境而產生的變化,如果它們變的過窄過短或是過寬過長,則通過一個子級樣式表來繼承主樣式表的設定,並專門針對某些布局結構進行樣式覆寫。我們來看下代碼示例:

下面的代碼可以放在默認主樣式表style.css中:

  1.  
  2. html,body{  
  3.    background...  
  4.    font...  
  5.    color...  
  6. }  
  7. h1,h2,h3{}  
  8. p, blockquote, precode, ol, ul{}  
  9.  
  10. #wrapper{  
  11.     width80%;  
  12.     margin0 auto;  
  13.     background#fff;  
  14.     padding20px;  
  15. }  
  16. #content{  
  17.     width54%;  
  18.     floatleft;  
  19.     margin-right3%;  
  20. }  
  21. #sidebar-left{  
  22.     width20%;  
  23.     floatleft;  
  24.     margin-right3%;  
  25. }  
  26. #sidebar-right{  
  27.     width20%;  
  28.     floatleft;  
  29. }  
  30. 下面代碼可以放在子級樣式表mobile.css中,專門針對行動裝置進行樣式覆寫:  
  31.  
  32. #wrapper{  
  33.     width90%;  
  34. }  
  35. #content{  
  36.     width100%;  
  37. }  
  38. #sidebar-left{  
  39.     width100%;  
  40.     clearboth;  
  41.      
  42.     border-top1px solid #ccc;  
  43.     margin-top20px;  
  44. }  
  45. #sidebar-right{  
  46.     width100%;  
  47.     clearboth;  
  48.      
  49.     border-top1px solid #ccc;  
  50.     margin-top20px;  

大致的視覺效果如下圖所示:

Media Queries

CSS3支持CSS2.1所支持的所有媒體類型,例如screen、print、handheld等,同時添加了很多涉及媒體類型的功能屬性,包括 max-width(最大寬度)、device-width(設備寬度)、orientation(屏幕定向,橫屏或豎屏)和color。在CSS3發布 之後出現的新玩具,如iPad或Android相關設備,都可以完美的支持這些屬性。所以我們可以通過media query為新設備設置獨特的樣式,而忽略那些不支持CSS3的臺式機中的舊瀏覽器。

在Ethan的文章中,我們能看到一段media query使用實例:

  1. <link rel="stylesheet" type="text/css"  media="screen and (max-device-width: 480px)"    href="shetland.css" /> 

代碼本身可以很好的說明工作機制:如果頁面通過屏幕呈現(非列印一類),並且屏幕寬度不超過480px,則加載shetland.css樣式表。要了解更多關於CSS3媒體新屬性的信息,可以參考」The Orientation Media Query「一文。

我們可以創建多個樣式表,以適應不同設備類型的寬度範圍。Ethan的文章中的」Meet the media query」部分有更多的範例及解釋。更有效率的做法是,將多個media queries整合在一個樣式表文件中:

  1.  
  2. @media only screen 
  3. and (min-device-width : 320px)  
  4. and (max-device-width : 480px) {  
  5.  
  6. }  
  7.  
  8. @media only screen 
  9. and (min-width : 321px) {  
  10.  
  11. }  
  12.  
  13. @media only screen 
  14. and (max-width : 320px) {  
  15.  

上面的代碼來自於Andy Clark創建的可以兼容各種主流設備的免費模板。這樣整合多個media queries於一個樣式表文件的方式,與通過media queries調用不同樣式表的方式之間的區別與聯繫,可以參考」Hardboiled CSS3 Media Queries「一文。

CSS3 Media Queries

上面演示的一些代碼範例是CSS2.1與CSS3通吃的。現在讓我們來看看怎樣使用CSS3專有的media queries功能來創建響應式Web設計。其中某些方法在當前就有切實的使用價值,不久的將來則一定會全部派上用場。

min-width和max-width這兩個屬性很靠譜。通過min-width的設置,我們可以在瀏覽器窗口或設備屏幕寬度高於這個值的情況下,為頁面指定一個特定的樣式表;max-width則反之。

下面的幾個示例中,我們使用的是將多個media queries整合在單一樣式表中進行編碼的句法。如前文所述,這樣做更加高效,減少請求數量。

  1. @media screen and (min-width600px) {  
  2.      .hereIsMyClass {  
  3.           width30%;  
  4.           floatright;  
  5.      }  

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

  1. @media screen and (max-width600px) {  
  2.      .aClassforSmallScreens {  
  3.           clearboth;  
  4.           font-size1.3em;  
  5.      }  

而這段代碼的作用則相反:aClassforSmallScreens類只有在瀏覽器或屏幕寬度小於600px時才會有效。

可以看出min-width和max-width可以同時判斷設備屏幕尺寸與瀏覽器實際寬度。有些時候,我們希望通過media queries作用於某種特定的設備,而忽略其上運行的瀏覽器是否由於沒有最大化而在尺寸上與設備屏幕尺寸產生不一致的情況。這時,我們需要使用min-device-width與max-device-width,用來判斷設備本身的屏幕尺寸。

  1. @media screen and (max-device-width480px) {  
  2.      .classForiPhoneDisplay {  
  3.           font-size1.2em;  
  4.      }  
  5. }  
  6. @media screen and (min-device-width768px) {  
  7.      .minimumiPadWidth {  
  8.           clearboth;  
  9.           margin-bottom2px solid #ccc;  
  10.      }  

還有一些其他方法,可以幫我們有效的使用media queries鎖定某些指定的設備。可以參考下面兩篇出自Thomas Maier的文章:

CSS for iPhone 4 (Retina display)

How To: CSS for the iPad

對於iPad來說,orientation屬性尤其有用。它的值可以是landscape(橫屏)或portrait(豎屏)。

  1. @media screen and (orientation: landscape) {  
  2.      .iPadLandscape {  
  3.           width30%;  
  4.           floatright;  
  5.      }  
  6. }  
  7. @media screen and (orientation: portrait) {  
  8.      .iPadPortrait {  
  9.           clearboth;  
  10.      }  

不幸的是,這個屬性目前確實只在iPad上有效。對於其他可以轉屏的設備,譬如iPhone,可以使用min-device-width和max-device-width來變通實現;詳情可以參考」Determine iPhone orientation using CSS「一文。

我們還可以將上述屬性組合使用,來鎖定某個屏幕尺寸範圍:

  1. @media screen and (min-width: 800px) and (max-width: 1200px) {  
  2.      .classForaMediumScreen {  
  3.           background: #cc0000;  
  4.           width: 30%;  
  5.           float: right;  
  6.      }  

上面的代碼可以作用於瀏覽器窗口或屏幕寬度在800px至1200px之間的所有設備。

其實,很多設計師和開發者仍會選擇使用多個樣式表的方式來實現media queries。如果從資源的組織和維護的角度出發,其益處確實高於效率的損耗的話,那麼這樣做也完全不壞:

  1. <link rel="stylesheet" media="screen and (max-width: 600px)" href="small.css" />  
  2. <link rel="stylesheet" media="screen and (min-width: 600px)" href="large.css" />  
  3. <link rel="stylesheet" media="print" href="print.css" /> 

所以吶,凡事沒有絕對,最好根據實際情況決定使用media queries的方式。比如,對於iPad,我們可以將多個media queries直接寫在一個樣式表中。因為iPad用戶隨時有可能切換屏幕定向,這種情況下,要保證頁面在極短的時間內響應屏幕尺寸的調整,我們必須選擇 效率最高的方式。

JavaScript

JavaScript也是我們的武器之一,特別是當某些舊設備無法完美支持CSS3的media query時,它可以作為後備支援。幸運的是,已經有專門的JS庫來幫助舊瀏覽器(IE 5+,Firefox 1+,Safari 2等)支持CSS3的media queries。使用方法很簡單,下載css3-mediaqueries.js並在你的頁面中調用它。

而下面的代碼則演示了怎樣使用簡單的幾行jQuery代碼來檢測瀏覽器寬度,並為不同的情況調用不同的樣式表:

  1. <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>  
  2. <script type="text/javascript">  
  3.     $(document).ready(function(){  
  4.         $(window).bind("resize", resizeWindow);  
  5.         function resizeWindow(e){  
  6.             var newWindowWidth = $(window).width();  
  7.              
  8.             if(newWindowWidth < 600){                $("link[rel=stylesheet]").attr({href : "mobile.css"});              }            
  9.                 $("link[rel=stylesheet]").attr({href : "style.css"});  
  10.             }  
  11.         }  
  12.     });  
  13. </script> 

類似這樣的解決方案還有很多。所以我們要清楚,media queries不是一個絕對唯一的答案,它只是一個以純CSS方式實現響應式Web設計思路的手段。藉助JavaScript,我們則可以實現更多的變化。這篇」Combining Media Queries and JavaScript「向我們展示了JavaScript配合media queries的更多細節信息。

顯示或隱藏內容

通過前文的學習,我們已經了解到,對於響應式Web設計,同比例縮減元素尺寸以及調整頁面結構布局,是兩個重要的方式方法。但是對於頁面中的文字內 容信息來說,則不能簡單的只從」同比縮小」和」調整布局結構」這兩方面去處理。對於手機等行動裝置來說,在文字內容方面,已經有了很多最佳實踐方式和指導 原則:簡化的導航、更易聚焦的內容、以信息列表代替傳統的多行文案內容等。

響應式Web設計的思想,一方面要保證頁面元素及布局具有足夠的彈性,來兼容各類設備平臺和屏幕尺寸;另一方面,則是增強可讀性和易用性,幫助用戶在任何設備環境中都能更容易的獲取最重要的內容信息。

有一條樣式代碼,我們已經使用了多年:

  1. displaynone

我們可以在一個針對某類小屏幕設備的樣式表中使用它來隱藏掉頁面中的某些塊級元素,也可以使用前文的方法,通過JS判斷當前硬體屏幕規格,在小屏幕設備的情況下直接為需要隱藏的元素添加工具類class。比如,對於手機類設備,我們可以隱藏掉大塊的文字內容區,而只顯示一個簡單的導航結構,其中的導 航元素可以指向詳細內容頁面。

注意,不要使用visibility: hidden的方式,因為這只能使元素在視覺上不做呈現;display屬性則可幫助我們設置整塊內容是否需要被輸出。對於行動裝置來說,避免這些不必要的資源浪費還是很重要的。我們來看一個簡單的示例:

圖中上半部分是大屏幕設備所顯示的完整頁面,下面的則是該頁面在小屏幕設備的呈現方式。頁面HTML代碼如下:

  1. <p class="sidebar-nav"><a href="#">Left Sidebar Content</a> | <a href="#">Right Sidebar Content</a></p> 
  2. <div id="content"> 
  3.     <h2>Main Content</h2> 
  4. </div> 
  5. <div id="sidebar-left"> 
  6.     <h2>A Left Sidebar</h2> 
  7. </div> 
  8. <div id="sidebar-right"> 
  9.     <h2>A Right Sidebar</h2> 
  10. </div> 

下面是默認的主樣式表,其中,我們要隱藏掉連結導航部分(sidebar-nav),因為默認樣式適用的設備屏幕會足夠大,足夠顯示包括兩個側邊欄在內的所有內容。

  1. #content{  
  2.     width54%;  
  3.     floatleft;  
  4.     margin-right3%;  
  5. }  
  6. #sidebar-left{  
  7.     width20%;  
  8.     floatleft;  
  9.     margin-right3%;  
  10. }  
  11. #sidebar-right{  
  12.     width20%;  
  13.     floatleft;  
  14. }  
  15. .sidebar-nav{displaynone;} 

下面是用於小屏幕行動裝置的樣式表代碼。現在,我們要隱藏掉兩個側邊欄,並使sidebar-nav顯示出來。藉助JavaScript,當用戶點擊sidebar-nav中的連結時,對應的側邊欄可以恢復顯示。當然,觸發恢復顯示的方式有很多種,即可以通過JS改變側邊欄的display屬性值, 也可以為其添加額外的布局樣式。

  1. #content{  
  2.     width100%;  
  3. }  
  4. #sidebar-left{  
  5.     displaynone;  
  6. }  
  7. #sidebar-right{  
  8.     displaynone;  
  9. }  
  10. .sidebar-nav{displayinline;} 

現在,我們的頁面已經可以隨著設備和屏幕規格的變更,響應式的做到元素的同比縮放、布局結構的改變、內容的優化調整。特別是對於手機設備,我們還要 在實踐過程中注意一些該類設備共有的設計指導原則。比如,針對手機設備,使用一個特定的樣式,將頁面原有的文字導航元素變為更易操作的圖標形式。下面的一 些文章資源可作參考閱讀:

Mobile Web Design Trends For 2009

7 Usability Guidelines for Websites on Mobile Devices

觸屏與滑鼠

觸屏設備已經成為主流。雖然目前多數觸屏設備還是小屏幕類型的產品,比如手機,但是市場上越來越多的大屏幕設備也開始使用觸屏技術;且不說iPad一類的平板電腦,就連一些筆記本和臺式機也加入了這一行列。比如HP Touchsmart tm2t,即使用傳統的鍵鼠設備,同時也加入了觸屏技術。

相比於傳統的基於滑鼠指針的互動,觸屏技術顯然帶來了截然不同的交互方式與相應的設計規範;兩者又有各自所適用的領域。所幸,要使我們的設計方案同時滿足這兩類設備的規範,並非一件難事,只是有些地方需要注意。比如,觸屏設備無法反映CSS定義的hover行為及相應的樣式,因為它沒有滑鼠指針的概 念,手指點擊就是click行為。所以不要讓任何功能依賴於對hover狀態的觸發。

有興趣的話,可以讀讀這篇」Designing for Touchscreen「, 這裡提到的很多建議即有利於改進針對觸屏設備的設計方式,同時也不會削弱傳統鍵鼠設備上的用戶體驗。比如,放在頁面右側的導航列表可以對觸屏設備的用戶更加友好。因為多數人習慣用右手點擊操作,而左手負責握住設備;這樣,放在右側的導航列表即方便右手的點擊,又可以避免被握著設備的左手不小心觸碰到。而這 一點與鍵鼠設備用戶的習慣完全不矛盾。

結論

這篇文章真是又臭又長,終於快完了。我們確實進入了web開發的新時代,隨著科技進步我們還會繼續優化我們的體驗。今天我們設計的網站應該能夠適應未來和現在,了解響應式web設計不需要太多的學習,他絕對比為每款設備提供設計方便的多。

響應式web設計並不是最好的,這只是個單純的概念,它可以有效的提高用戶體驗但是卻不能徹底解決。我們要面對不斷出現的新設備出現,找出一個更好的解決方案,不斷的改善用戶體驗。

響應式web設計可以提供一個比較滿意的效果,他給廣泛的應用設備提供了一個自定義的解決方案,無論是一個老式舊筆記本還是最先進的設備都能夠獲得比較好的體驗,這才是作為網頁設計師最想看到的,設計師眼中只有用戶,用戶感覺好自己就高興,自己苦點累點又算什麼呢?

原文連結:http://tid.tenpay.com/?p=2849

英文原文:http://coding.smashingmagazine.com/2011/01/12/guidelines-for-responsive-web-design/

【編輯推薦】

【責任編輯:

張偉

TEL:(010)68476606】

點讚 0

相關焦點

  • web產品設計全新操作指南|產品設計|響應式布局|框架|柵格|設計師
    02 響應式布局與柵格應用首先我們先理清網頁的響應是指系統對媒介(web運行的設備)以及視窗(顯示web的窗口——瀏覽器)的適應變化。所以現在市面上實現全局響應的web產品還是比較少的,但也仍然有很經典的全局響應式例子:Ant Design,大家可以體驗感受一下它是如何實現媒介與視窗的完美響應的。不過呢無論響應式做到什麼程度,我們都建議在設計web系統初期建立一個web柵格系統,它會影響到響應式布局的開發效果,下文我們會說到它是如何影響的。
  • 為什網站採用響應式網站設計?(順茂網絡)
    當客戶的產品需要移動化的時,有很多解決方案可供我們選擇,可以是客戶端應用(APP),也可以是Web應用,多平臺端應用等。該採用什麼方式更合適,還是取決於具體的客戶需求情況。也許響應式站點並不能算是一種純粹的移動化解決方案,但是,在某些情況下,這種方式是非常值得考慮的。
  • jquery響應式布局
    jquery響應式布局 設計師使用的一些最有用的jQuery響應式布局插件的廣泛列表,這些插件旨在為其網站設計響應式布局。 響應式布局在Web設計領域中相對較新,並且由於移動Web設計的普及和屏幕解析度的提高而變得越來越流行。 請享用!
  • 使網頁設計更加現代化的10種方法
    因此,網頁設計必須成為網站管理計劃的動態組成部分,以確保您始終了解有效的方法和無效的方法。網頁設計的結構方式可以幫助您講故事,出售產品和/或甚至結識訪問者。這完全取決於您在網頁設計中使用的元素,而使用過時的方法將無濟於事。因此您需要確保您的網頁設計保持最新。為了幫助您,本期網頁製作機構Angle匯總了十大方法來使您的網頁設計更加現代化。
  • 淺談中國元素在當代網頁設計中的應用
    因為中國傳統思想的深遠影響,當 前我國的網頁設計也呈現出中國傳統文化的包容性、和諧性與多樣性。在此基礎上,具有中國特色的網頁設計就更要注 意掌握好「度」:既要體現中國文化兼收並蓄的傳統思想, 又要防止一味模仿他人而失去自我。二、中國元素在網頁中的體現及應用隨著科技的發展,中國元素越來越多地以科技為媒介 傳達著我們的傳統文化和思想理念。
  • bootstrap響應式布局
    什麼是響應式 Web 設計   響應式 Web 設計是一個讓用戶通過各種尺寸的設備瀏覽網站獲得良好的視覺效果的方法。例如,您先在計算機顯示器上瀏覽一個網站,然後在智慧型手機上瀏覽,智慧型手機的屏幕尺寸遠小於計算機顯示器,但是你卻沒有感覺到任何差別,兩者的用戶體驗幾乎一樣,這說明這個網站在響應式設計方面做得很好。   我們已經在我們的流動布局實例中應用了響應性能,並請您在不同的屏幕尺寸下進行瀏覽。您可以通過 Chrome 或 FireFox 的窗口大小調整的擴展來調整瀏覽器。。
  • 5步響應式Web設計和瀑布模式說拜拜
    瀑布模式只按照標準的桌面瀏覽器進行設計,除此之外,幾乎沒有考慮任何其它的設計開發環境,這是它最大的缺點。而敏捷的響應式設計從一開始就考慮到這些跨平臺問題,從而進行更詳細的前期框架構圖、設計和測試,而這些工作恰恰在瀑布模式中被省略了。基於響應式設計的網站一旦完成實施,將正確的呈現在PC、行動裝置和平板電腦上。響應式設計在不同設備上的效果展示圖:
  • 響應式網站的優勢都有哪些,老獅為您解析
    老獅從產品的角度理解,搜尋引擎之所以被大家廣泛使用,是因為在上面能找到我們想要的結果,而這個結果是通過網頁展現出來的。所以為什麼搜尋引擎要對H5響應式網站更友好呢?HTML5+CSS3實現的響應式網站,相對於傳統的網站為什麼更快。從技術角度說不出什麼,因為老獅根本就不是一個開發者。但是從我閱站無數的經驗中。我們發現太多的老網站為了有設計感,或者布局,都犧牲了網站的質量——直接就是設計圖稿切出來的圖片貼在網站上。
  • 2017年不容錯過的8大網頁設計趨勢
    響應式網站盛行之後,「漢堡包導航」大受歡迎。它確實是針對行動裝置瀏覽的可行選擇,但它也表現出來一些問題:不夠直觀,影響操作效率等等。那麼我們可以期待一下,接下來的一年中會出現更多實用性更強的導航設計。不防先來看幾種目前優秀網頁設計中用到的幾種菜單設計方式:▼ 相框式菜單欄組合網頁上部、左右,以及向下滾動,形成一個獨特的相框式菜單。▼ 乾脆不要菜單!不使用菜單,取而代之用滾動的方式等提示用戶進行滾動以獲取更多頁面內容。
  • Google對只有PC版本的網頁將不再收錄
    谷歌不收錄只有pc埠的網站01其實早在 2018 年 8 月,谷歌就明確建議網頁製作時使用響應式技術,並給出 6 點理由:1.頁面唯一性,PC/移動統一管理2.響應式網頁更利於Google對頁面索引屬性的創建3.相同內容,PC和移動無需單獨維護4.降低可能影響移動端頁面表現的風險5.減少加載時間
  • 東航M網站在UC網頁及百度網頁推出應用
    民航資源網2013年11月6日消息:近日,東航M網站完成了與UC網頁應用及百度網頁應用的合作,並在上面成功推出應用,擴大了M網站入口,拓寬了直銷渠道。  M網站是東航推出的一款移動網際網路的手機網站產品,旅客只需在手機網頁輸入東航官網網址(www.ceair.com),即會跳轉至M網站,進行相應的操作。目前,M網站已實現了行程預訂、手機值機、航班查詢、機票驗真等功能。  隨著移動網際網路不斷發展壯大,越來越多的人傾向於使用手機進行社交溝通、搜索查閱、日常生活。
  • 響應式三合一網站開發及關鍵詞推廣解決方案
    近幾年內不斷發展的行動裝置、電腦設備、平板設備還將極速發展,移動端的用戶群體越來越龐大,為兼顧各種終端以合適的方式並顯示同一套內容,若是沒有響應式Web設計誰知道我們誰會知道究竟還要開發多少個不同的頁面。
  • 牡丹江網站製作報價牡丹江網頁設計製作費用牡丹江網站建設多少錢牡丹江seo網絡推廣價格牡丹江網站優化推廣費用
    牡丹江網站製作報價牡丹江網頁設計製作費用牡丹江網站建設多少錢牡丹江seo網絡推廣價格牡丹江網站優化推廣費用在企業進行網頁設計之初想必就有這樣的疑問:什麼樣的網頁是有利於後期網站的推廣和優化的呢?接下來,跟大家分享一下什麼樣的網站更利於網站推廣和優化,希望對需要的人們有所幫助。
  • 12個經典大氣的HTML5/CSS3應用動畫
    昨天為大家收集了15個華麗的HTML5動畫應用,有幾個應用還比較實用。今天我們就接著來分享第二波乾貨,也是基於HTML5和CSS3的動畫應用,將涉及到HTML5表單、HTML5圖片特效以及HTML5圖表等應用領域,希望大家會喜歡。
  • 讓你不再戀家的9款小眾時尚的酒店網站設計
    作為主觀性非常強的視覺性動物,選擇酒店的時候除了看價格,當然也會更看重酒店的網頁設計風格。如果酒店的網站設計都亂糟糟,那酒店自身可想而知。作為提升酒店形象的門戶,酒店網站設計一定不能馬虎。如何設計具有現代感的酒店網站?個人分析可以從以下幾點要素出發:1.
  • 宿遷網頁設計製作費用|宿遷網頁設計製作價格|宿遷網頁設計製作公司|宿遷網頁設計製作哪家好|宿遷網頁設計製作哪家專業
    宿遷網頁設計製作費用|宿遷網頁設計製作價格|宿遷網頁設計製作公司|宿遷網頁設計製作哪家好|宿遷網頁設計製作哪家專業|宿遷網頁設計製作多少錢|
  • 創意網頁設計畫廊
    Boss有話說Landingfolio 收集全球優秀 Web 設計靈感,網頁模板,設計資源等等,可謂是一個優秀 Web 網頁設計畫廊。Landingfolio 在網際網路上整理了最佳的網頁設計案例,每天不斷更新的 1,982 個著網頁設計案例和 3,829 個組件案例資源,讓網頁設計師能夠學習到優秀的設計版式!最讓人動心的是提供免費和高級的優質設計資源,比如 UI 套件、線框套件、圖標、樣機、原型插圖等等,都是最好的免費設計資源,經過精心挑選,以確保您下一個設計項目獲得最佳質量。
  • 網頁設計中的「點、線、面」
    怎樣的網頁設計才稱得上是優秀?想必很多人都和我有同樣的疑問。個人認為所謂優秀的網頁設計就是能以合理的功能布局、賞心悅目的顏色(圖片)搭配傳遞出設計想法的網頁設計。其實這些就是我今天要和諸位探討的內容——網頁設計中的「點、線、面」——平面構成在網頁設計中的運用。點、線、面?平面構成?網頁設計?我們首先要明確:一個網頁作品的基礎並不是那些不理想的素材,也不是那些斑斕的顏色,而是基礎的幾何圖形。
  • 谷歌翻譯網頁版更新:全新材料設計界面
    谷歌翻譯網頁版更新:全新材料設計界面 在近幾個月的時間裡,谷歌全新的材料設計(Material Design)語言已經面向全線產品推出,覆蓋網頁端和安卓應用端。今日,這一更新又來到了谷歌翻譯的網頁版上。
  • 繞過蘋果,谷歌雲遊戲將以網頁應用形式登陸iOS
    來源:IT之家原標題:繞過蘋果,谷歌雲遊戲將以網頁應用形式登陸iOS美國當地時間周四,谷歌正式宣布其雲遊戲服務Stadia將以網頁應用的形式登陸蘋果iOS平臺。此舉旨在追隨微軟的腳步,以繞過蘋果應用商店的限制。谷歌表示,該公司始終在開發Stadia的網頁應用版,它將可以在蘋果Safari瀏覽器的移動版上運行,類似於微軟打算在明年某個時候在iOS上提供的競爭服務XCloud。不過,谷歌打算在未來幾周即對其Stadia網頁應用版進行公開測試,從而搶佔先機。