聊聊3種最常見的響應式設計問題

響應式設計方法對開發者非常有用,因為它使我們的內容在各種設備上廣為傳播。不用保留幾個獨立版本的網站,也可以摒除諸如縮放和流式布局這些方法的弊端。

16a1fff27c396a1b6c25a77bfb0a50cfa8c0ce44


縮放、流式布局與響應式


這些術語容易造成混淆,設計師常常錯誤地交替互用。實際上,每個都是布局技巧的顯著進化過程,像技術演進那樣逐一顯現。

縮放布局,旨在相對縮放每一個元素。它們會隨著窗口大小變化動態縮放內容,就這方面而言,它們是響應式的。布局本身保持靜止,通過改變每一個元素來保持一致的表現。

9aaa63ef4cd548507064b71460543c605b93e6d8

上圖:不同分辨率下縮放布局的例子,這種設計為了統一犧牲了易讀性。

流式布局就不一樣,因為它們隨著窗口尺寸縮放容器元素。通過em這類相對單位可以做到這點,克服了縮小文字的問題。用戶主動縮放時,設計就被破壞了。

32c08bd3039a4db913aab64a721c2c4bb06aa1f4

上圖:不同分辨率下流式布局的例子,這種設計為了易讀性犧牲了統一。

響應式設計不會縮放任何東西。相反,它會根據窗口尺寸決定顯示哪些內容。

1d483199178726b64cd6e0d3d538d2a934177655

上圖:不同分辨率下響應式布局的例子。


災禍1:菜單折行


如果在頁面頂部使用了導航欄,當頁面展現在小屏幕上時,響應式設計通常會把它“掰”成更緊湊的格式,但這并非總是有效,如果顯示區域比斷點更寬,又不足以在一行顯示所有菜單項的話。結果會導致菜單的折行。

91e371900d252e5128ab45f44a2384754af3a46b

有些方法可以解決這個問題。其一,減少導航欄中橫排菜單項的數量,將它們分門別類。然后選中某類時,你可以通過下拉菜單來顯示子類。

其二,減少斷點的數值。應該以導航欄開始出問題的實際數值為準,而非具體設備尺寸。

其三,不同設備使用不同方式,例如滑動抽屜。


災禍2:使用固定寬度圖片


內容區域通常都隨窗口尺寸變化。所以當固定寬度圖片超出顯示區域時,圖片就被裁剪了。

4f1376d4cc89f46ce31fcd646418560083973ffe

上圖:糟糕的固定寬度圖片例子,它太大了。于是出現了滾動條,內容被推到屏幕之外。

通過給圖片設定相對單位,可以避免這個問題。或者使用支持響應式的框架(比如Bootstrap),使用響應式圖片class名來控制(例如 class=”img-responsive”)。

d5e7bf2f5ecc10b9766e8b18b09d22f289920b79

上圖:同樣的元素,用響應式圖片class名的方式,滾動條就不見了。


災禍3:元素的扭曲


這有點晦澀難懂,但本質上,布局顯示在小窗口上的時候,所有未經處理的列都會以行的形式呈現。這是個問題,因為內容的扭曲會不經意地改變設計的層級。

44b6db467f7595635191de0277436444cf591e1d

上圖:列變成了行,扭曲了內容。

解決方法顯而易見,但令人驚奇的是,仍有很多人在糾結它:只要明確地設定元素的寬度、高度、內邊距。如果它移出所處位置,蓋住了其他元素,可以通過將它包裹在div容器中,設置外邊距,迫使它回到原本的地方。


規劃有助于避免問題


本文只討論了3種最普遍遇到的響應式設計災禍,還有很多其他途徑會毀了一個好的設計。預防錯誤并不難。現代瀏覽器都有內置的響應式布局測試,好好規劃設計,多做測試。


原文發布時間:2018年04月05日

作者:web前端開發V

本文來源:CSDN??如需轉載請聯系原作者

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/451257.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/451257.shtml
英文地址,請注明出處:http://en.pswp.cn/news/451257.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

PV、TPS、QPS是什么

pv 是指頁面被瀏覽的次數,比如你打開一網頁,那么這個網站的pv就算加了一次;tps是每秒內的事務數,比如執行了dml操作,那么相應的tps會增加;qps是指每秒內查詢次數,比如執行了select操作&#xff…

AOP原理解析及Castle、Autofac、Unity框架使用

轉自:https://www.cnblogs.com/neverc/p/5241466.html AOP介紹 面向切面編程(Aspect Oriented Programming,英文縮寫為AOP),通過預編譯方式和運行期動態代理實現程序功能的統一維護的一種技術。 AOP是OOP的延續,是軟件…

bootstrap validator 提供了哪些驗證函數

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 目前提供的校驗方法有: "notEmpty" : "不能為空", "password" : "請輸入正確的密碼&q…

帕累托分布(Pareto distributions)、馬太效應

什么是帕累托分布 帕累托分布是以意大利經濟學家維弗雷多帕雷托命名的。 是從大量真實世界的現象中發現的冪次定律分布。這個分布在經濟學以外,也被稱為布拉德福分布。 帕累托因對意大利20%的人口擁有80%的財產的觀察而著名,后來被約瑟夫朱蘭和其他人概括…

兩個class寫在同一個java文件中

第一種: 一個public類,多個非public類,例如:public class A{}class B{}第二個class前面不能加public。 第二種: 第二種是內部類,寫在公共類體里面的&#xff…

微信小程序的一些數據調用方式

1.模板數據的調用 一張圖了解一下在wxml頁調用預先定義好的模板: 可以看到上面調用了兩個模板,數據調用卻是不同的,obj是一個對象,對象內包含多個鍵值對形式的數據; tabbar是一個一維數組,每個數組項又都是…

手機廠商探路互聯網:硬件高利潤時代已成歷史

華為消費者業務集團CEO兼終端公司董事長余承東近日出席“2012年全球移動互聯網大會”期間證實,華為計劃與奇虎360合作推出一款智能手機。 余承東表示,華為終端將嘗試與多家互聯網公司就智能手機業務展開合作,但他未透露與奇虎360合作的更多細…

解決:按截圖 ctrl+alt+a QQ聊天窗口就自動最小化(QQ以外的可以截圖)

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 一、問題如題 ,想截圖QQ聊天記錄都不行 二、 解決方法: 如圖找到QQ截圖按鈕,點擊下拉倒三角&…

數據庫備份DBS商業化發布

數據庫備份DBS商業化發布將在2018年7月11日 15:00-16:00直播,敬請關注! 數據庫備份DBS為數據庫提供連續數據保護、低成本的備份服務。 它可以為多種環境的數據提供強有力的保護,包括企業數據中心、其他云廠商及公共云。數據庫備份提供數據備份…

堡壘機(跳板機)

堡壘機(跳板機)?現在一定規模互聯網企業,往往都擁有大量服務器,如何安全并高效的管理這些服務器是每個系統運維或安全運維人員必要工作。現在比較常見的方案是搭建堡壘機環境作為線上服務器的入口,所有服務…

2018-09-18

12.1 LNMP架構介紹 和LAMP不同的是,提供web服務的是Nginx并且php是作為一個獨立服務存在的,這個服務叫做php-fpmNginx直接處理靜態請求,動態請求會轉發給php-fpm12.2 MySQL安裝 二進制免編譯包安裝 [rootlocalhost ~]# cd /usr/local/src/ [r…

舉例說明Java中代碼塊的執行順序

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 結論 這里先把整理好的結論拋給大家,然后我在寫個程序來驗證我們的結論。在Java類被new的過程中,執行順序如…

Google 正式開源 Jib ,幫助 Java 應用快速容器化

Google 本周宣布開源一款新的 Java 工具 Jib ,旨在讓開發者使用他們熟悉的工具更輕松地將 Java 應用程序容器化。在7月9日發布的博客文章中,Google 軟件工程師 Appu Goundan 和 Qingyang Chen 將 Jib 描述為一個容器鏡像構建器,旨在處理將 Ja…

“公敵”京東:眾同行將其拖入價格戰

倒京東語錄 當當網董事長李國慶: 京東的資金只能維持到8月至12月。當當網是賺一個花兩個,而京東則是賺一個花四個。 蘇寧電器董事長張近東: 我至今沒有看見過哪個企業能通過這種方式取得最后勝利。這種違背正常商業邏輯的做法&#xff0c…

跨域與跨域訪問

什么是跨域 跨域是指從一個域名的網頁去請求另一個域名的資源。比如從www.baidu.com 頁面去請求 www.google.com 的資源。跨域的嚴格一點的定義是:只要 協議,域名,端口有任何一個的不同,就被當作是跨域 為什么瀏覽器要限制跨域訪…

thymeleaf 使用javascript定義數組報錯

js中免不了的要用的數組,一維的二維的三維的 但是當用到thymeleaf作為模版時候會有一些坑,導致數組不能用 org.thymeleaf.exceptions.TemplateProcessingException: Could not parse as expression: "{checkbox: true, fixed: true}, {field: origi…

解決:Failed to execute goal on project aopcore: Could not resolve dependencies for project com.cmos:

前些天發現了一個巨牛的人工智能學習網站,通俗易懂,風趣幽默,忍不住分享一下給大家。點擊跳轉到教程。 一、問題描述 maven工程 jar包無法下載,報錯如下 : [ERROR] Failed to execute goal on project aopcore: Cou…

從Xbox和Zune中學到的四門創業課

導讀:微軟前娛樂與設備部門總裁Robbie Bach領導他的團隊,實現了Xbox的暢銷。然而,他領導該部門推出的Zune音樂播放器,卻沒那么成功。從Robbie這兩個經歷中,我們們能學到什么?本文是Robbie自己的總結&#x…

服務容錯保護斷路器Hystrix之七:做到自動降級

從《高可用服務設計之二:Rate limiting 限流與降級》中的“自動降級”中,我們這邊將系統遇到“危險”時采取的整套應急方案和措施統一稱為降級或服務降級。想要幫助服務做到自動降級,需要先做到如下幾個步驟: 可配置的降級策略&am…

from表單提交和JSON區別

form表單是“鍵值對”的數據格式,例如: a1&b2&c3 而json格式則與之不同,如下: {"a":1,"b":2,"c":3} 傳遞的數據比較簡單,那么兩種方式基本上沒什么大區別(當然后臺接…