使用jQuery Mobile 和 CSS3 實現響應式設計

2021-01-08 開源中國

jQuery Mobile 框架是一個 JavaScript 庫,您可以用它來輕鬆地創建了一個移動版本的網站,將現有的 Web 頁面轉換成觸摸友好的網站和應用程式。jQuery Mobile 框架允許用戶通過 Web 瀏覽器直接連接到觸摸友好的應用程式,這無疑將改變行動應用程式在手機及平板設備上的訪問和分布方式。還有許多其它的移動開發選項,但它們與 jQuery Mobile 正採用的方法的不同之處是,它們的目標是針對各種移動平臺。

智慧型手機和平板設備的採用率不斷暴漲,jQuery Mobile 框架可以幫助開發人員滿足日益增長的移動 Web 體驗需求。提供移動 Web 體驗要求 Web 開發人員和設計人員掌握一套新的技能。 在 2010 年,Nielsen 預計每兩個美國人中就有一個會擁有智慧型手機,與 2008 年的結果(每 10 個人裡只有一個擁有智慧型手機)相比,這是一個巨大的增長;並且,在 2011 年 6 月,AMI-Partners 預測 「平板在企業(員工人數介於 1 和 1000 之間)中的採用率到 2015 年將增長 1000%」。由於這些設備採用率的增加,對於能創建移動 Web 體驗的 Web 開發人員和設計人員的需求將會非常強勁。jQuery Mobile 框架對於創建移動 Web 體驗而言是一個優秀的解決方案,因為它增加了移動網站的生成速度,並可支持多種移動平臺。

陷阱和解決方案

jQuery Mobile 框架對於創建手機或平板版本的 Web 頁面而言是一個優秀的解決方案,但它完全依賴於對網站的內容附加特定的數據角色屬性。在比較少見的情況下,有可能無法將這些屬性附加到 HTML 標記,並可能要求您創建一個單獨的移動網站。然而,本文將通過一些預見和規劃,向您展示如何結合使用 jQuery Mobile 框架和級聯樣式表版本 3 (CSS3) 的媒體查詢,來創建一個響應式設計,並確定布局如何對用戶的設備作出反應。目的是創建一個單一的網站,可以針對用戶設備的屏幕解析度顯示適當的布局,從而 動態地響應用戶的設備。

響應式設計是根據用戶設備的屏幕解析度來響應用戶設備的一種設計。這意味著,無論用戶是在移動、平板還是桌面設備上瀏覽 Web 頁面,設計都將根據該設備的屏幕解析度顯示特定的布局,從而適當地響應設備。雖然 jQuery Mobile 框架提供了一種方法,可快速、輕鬆地創建移動版本的網站,但它目前沒有(而且很有可能永遠也不會)提供一種固有的方法來根據設備的屏幕解析度動態響應用戶 的設備。事實上,jQuery Mobile 網站作出聲明,原有的 Media Query Helper Classes 特性 在 beta 中已被棄用,並且已從最新的版本中刪除。實際上,該框架的創建者反而推薦使用 CSS3 媒體查詢。CSS3 媒體查詢和 jQuery Mobile 框架的結合使用,可以實現一個能適應移動、平板和桌面環境的響應式設計。該框架的文檔實際上結合使用了 jQuery Mobile 框架和 CSS3 媒體查詢來實現自己的響應式設計。就對不同屏幕解析度的反應方式而言,該文檔實際上與您在本文中將會創建的示例相當類似。

憑藉對媒體類型的使用,CSS 自版本 2.1 起包括了與設備相關的編碼措施。使用媒體類型的一種常見方式是為桌面計算機屏幕和 Web 頁面的列印版本分別定義單獨的樣式表。CSS3 通過引進媒體查詢,將設備相關的編碼措施這個概念再推進了一步。媒體查詢可以用於確定與 Web 頁面交互的設備類型,並使開發人員能夠確定正在查看 Web 頁面的設備的物理屬性。無需多說,媒體查詢已經成為交付特定於設備的樣式表的一種流行方式,正如您在 清單 1 中所看到的,這些代碼會根據屏幕解析度交付特定於手機和平板設備的樣式表。

清單 1. 使用媒體查詢交付特定於設備的樣式表

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

本示例中的 media 屬性包含一個被設置為 screen 的媒體類型值,以及一個媒體查詢(在括號中)。這個特定的媒體查詢,檢查用戶當前設備的屏幕解析度是否小於或等於 799px。如果是,則交付這個手機/平板樣式表;否則,不交付這個樣式表。您可以在單個 Web 頁面中包括多個樣式表連結,每一個樣式表連結都有自己的媒體查詢,根據您所需要的多種不同的解析度,有所不同地呈現您的頁面。我注意到,最常見的基於分辨 率的樣式表似乎有三種,一種用於手機和平板設備、一種用於較低解析度的桌面顯示器,還有一種用於較高解析度的桌面顯示器。如果您準備使用清單 1 中的代碼,解析度小於 799px 的所有設備將使用這個樣式表,所以這是一個完美的示例,說明如何可以針對手機和平板設備使用一種樣式表,而臺式計算機則使用不同的樣式表。

也可以在單個樣式表的 CSS 內直接使用多個媒體查詢。清單 2 顯示了用於一組導航項的 CSS 類示例,稍後您將在本文中創建它。當設備的屏幕解析度是 800px 寬或以上時,導航的寬度設置為 300px;當屏幕解析度為 799px 或以下時,導航的寬度設置為 100%。

清單 2. 使用媒體查詢來交付特定於設備的 CSS

@media all and (min-width: 800px) { #nav { width: 300px; }}@media all and (max-width: 799px) { #nav { width: 100%; }}

關於媒體查詢還有另一件很酷的事情,那就是如果您在一個現代 Web 瀏覽器(包括清單 2 中的 CSS 以及相關的 HTML 元素)中查看一個 Web 頁面,該 Web 頁面實際上也將響應瀏覽器的大小。因此,如果瀏覽器寬度被設置為 799px 或以下,導航的寬度將是 100%;如果瀏覽器的寬度被設置為 800px 或更大,導航的寬度將被設置為 300px。

成為響應式

媒體查詢是一種條件語句,用來確定將什麼 CSS 應用到 Web 頁面。與 jQuery Mobile 框架一起使用,您可以創建一些強大的移動網站,同時保持獨立的桌面布局。jQuery Mobile 框架本身可以用於快速、輕鬆地創建觸摸友好的網站。該框架有大量組件,可以很容易地添加按鈕、工具欄、對話框、列表視圖等等。然而,當涉及到處理 Web 頁面布局時,CSS 仍然是首選的語言。幸運的是,如本文前面所介紹的,CSS3 已引入媒體查詢,它為開發人員提供根據設備解析度改變 Web 頁面布局的功能。

結合使用 jQuery Mobile 框架,您可以創建一些響應式布局。出於本文的目的,我用一個簡單的示例,其中包括一組導航項和一個網格。導航項和網格將被根據不同屏幕解析度安排不同的布 局。在 jQuery Mobile 框架在 Web 頁面中運行之前,您需要做的第一件事是嵌入與 jQuery Mobile 框架關聯的 JavaScript 文件和 CSS(參見 清單 3)。

清單 3. 嵌入 jQuery Mobile 框架

<link rel="stylesheet" href="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.css" /><script src="http://code.jquery.com/jquery-1.6.2.min.js"></script><script src="http://code.jquery.com/mobile/1.0b3/jquery.mobile-1.0b3.min.js"></script>

jQuery Mobile 框架包括一個 listview 組件,您將使用它顯示您的導航項。要創建一個列表視圖,只需將一個 data-role 屬性添加到其值為 listview 的導航列表 ul 元素中。jQuery Mobile 框架還包括一些有用的工具,允許您創建多列的網格布局。在 清單 4 中,我已經包含了一個兩行三列的網格,這是使用 ui-grid-b、ui-block-a 和 ui-bar 類組合構造的。 清單 4. 將一個 listview 和網格添加到內容區域

<div data-role="content"> <ul id="nav" data-role="listview" data-inset="true"> <li><a href="#">Nav item</a></li> <li><a href="#">Nav item</a></li> <li><a href="#">Nav item</a></li> </ul> <div id="grid"> <div><div>A</div></div> <div><div>B</div></div> <div><div>C</div></div> <div><div>A</div></div> <div><div>B</div></div> <div><div>C</div></div> </div></div>

字母被附加到某些類名稱的末尾:這些是主題相關的字母,是 jQuery Mobile 框架用來確定使用哪個主題呈現組件。

現在您已經創建了您的 Web 頁面,您可以使用 CSS3 創建一個可以根據用戶的屏幕解析度進行動態調整的響應式布局。要實現這一點很簡單:只需使用您之前在本文中了解到的媒體查詢來確定屏幕解析度,然後編寫專門處理不同場景的 CSS。清單 5 使用一個媒體查詢檢查 800px 或以上的屏幕解析度,使用另一個媒體查詢檢查 799px 或以下的屏幕解析度。第一個媒體查詢將導航和網格浮動到左側,它們可以自己定位為彼此相鄰,以填滿在更高解析度的屏幕上的更寬的空間。第二個媒體查詢沒有 使用浮動,並將導航和網格的寬度設置為 100%,並最終將導航定位在網格的上方,以適應屏幕解析度較小的設備,如智慧型手機和平板電腦。

清單 5. 使用媒體查詢創建響應式布局

@media all and (min-width: 800px) { #nav { width: 300px; float: left; margin-right: 20px; } #grid { width: 450px; float: left; }}@media all and (max-width: 799px) { #nav { width: 100%; } #grid { width: 100%; }}

具有較高屏幕解析度的設備將顯示一個類似於 圖 1 的並排布局。 圖 1. 解析度較大的設備如何呈現 Web 頁面

具有較小屏幕解析度的設備將顯示一個類似於 圖 2 的並排布局。

圖 2. 解析度較小的設備如何渲染 Web 頁面

當然,這是一個極其簡單的示例,但它顯示了使用 jQuery Mobile 框架和 CSS3 創建一個響應式布局是多麼容易。這種可能性令人興奮,而這僅僅是一個幫助您入門的墊腳石。將幾個簡單的數據角色屬性添加到您的 HTML,您就可以創建 Web 頁面的移動版本;通過包括 CSS3 媒體查詢,您就可以讓您的設計根據屏幕解析度響應用戶的設備。當有人使用桌面計算機查看您的 Web 頁面時,您甚至可以修改 jQuery Mobile 的主題,使 Web 頁面在更高的解析度中看起來並不像一個移動的 Web 頁面。您需要做的只是使用媒體查詢來檢查更高的解析度,然後更改那些 jQuery Mobile 組件的 CSS,基本上覆蓋用於創建主題的默認樣式。

結束語

響應式設計的目的是儘可能以最好的布局顯示您的數據,以實現用戶友好的 Web 頁面。jQuery Mobile 框架和 CSS3 的結合,可以創建一套功能強大的布局,您可以用它們來響應每個用戶的設備。

下載源碼:jquery-mobile-responsive-design.zip

文章出處:IBM developerWorks

相關焦點

  • jquery實現響應式布局專題及常見問題 - CSDN
    使用 jQuery Mobile 和 CSS3 實現響應式設計創建可以適應每個用戶的屏幕解析度的 Web 頁面布局然而,本文將通過一些預見和規劃,向您展示如何結合使用 jQuery Mobile 框架和級聯樣式表版本 3 (CSS3) 的媒體查詢,來創建一個響應式設計,並確定布局如何對用戶的設備作出反應。目的是創建一個單一的網站,可以針對用戶設備的屏幕解析度顯示適當的布局,從而動態地響應用戶的設備。響應式設計是根據用戶設備的屏幕解析度來響應用戶設備的一種設計。
  • bootstrap響應式布局
    什麼是響應式 Web 設計   響應式 Web 設計是一個讓用戶通過各種尺寸的設備瀏覽網站獲得良好的視覺效果的方法。例如,您先在計算機顯示器上瀏覽一個網站,然後在智慧型手機上瀏覽,智慧型手機的屏幕尺寸遠小於計算機顯示器,但是你卻沒有感覺到任何差別,兩者的用戶體驗幾乎一樣,這說明這個網站在響應式設計方面做得很好。
  • 一篇文章帶你用jquery mobile設計顏色拾取器
    我們可以通過 jquery mobile去設計顏色的拾取器,得到我們想要的顏色值。同時可以驗證RGB表的顏色值。mobile軟體:Dreamweaver1、去官網 jQuerymobile.com 下載jquery mobile。
  • 利用jQuery marquee實現響應設計
    利用jQuery marquee實現響應設計 模板的設計綜合多屏幕響應式設計和自運行的jQuery marquee(無間斷滾動)技術,主要解決的難題是如何根據顯示屏幕的大小利用jQuery的Ajax技術加載額外的互操作數據到模板中。
  • 響應式網頁設計與應用
    響應式Web設計(Responsive Web design),理念是設計和開發應根據屏幕的大小、平臺的用戶的行為和環境基礎上自動調整;他應該有一個靈活的網格和布局,圖像和CSS能夠智能的組合使用。比如說用戶從電腦切換到ipad,網站能夠自動切換以適應解析度,圖像大小和腳本。換句話說,網站應該具備根據用戶的使用環境來自動調整,這可以減少不必要的重複設計。
  • 說一說你不了解的Tailwind CSS響應式設計
    導語響應式相信大家都不陌生,就是使用css的媒體查詢設計,進行不同尺寸,顯示不同效果,但是Tailwind CSS的響應式設計使用起來會更加爽,更加快捷方便,到底怎麼搞呢?我們一起來探討一下。. */ }},簡單使用使用起來當然非常簡單,省去了繁雜的過程,直接對應尺寸顯示的樣式即可,不加限制則全尺寸顯示一樣的效果。默認情況下,Tailwind使用移動優先斷點系統,類似於您可能在Bootstrap或Foundation中使用的系統。
  • 分享一個超棒的響應式幻燈jQuery插件 - refineslide
    分享一個超棒的響應式幻燈jQuery插件 - refineslide jQuery的幻燈插件我們介紹過很多了,不過今天我們介紹的這個幻燈插件能夠幫助我們使用響應式的方式展示圖片幻燈
  • 《前端5分鐘》之使用純css實現網站換膚和焦點圖切換動畫
    本文轉載自【微信公眾號:趣談前端,ID:beautifulFront】經微信公眾號授權轉載,如需轉載與原文作者聯繫今天我們來繼續復盤一些工作中常用的css技巧和知識,以便我們可以更加優雅的用css實現富有動感的網站.
  • 10款幫助你設計超酷響應式布局的jQuery插件
    相對於傳統的頁面設計來說,今天的設計者需要考慮的用戶來源和用戶體驗對於設計者來說是一個非常大的挑戰,因為隨著硬體的更新,新設備的出現,你需要能夠 使得你的網站能夠針對不同的設置做出最好顯示響應。最初這個名稱來自於Ethan Marcotte的文章「Responsive Web Design」,設計的理念在於為了有效的利用空間和布局來滿足用戶閱讀過程中產生的不同使用行為,並且及時的做出響應。
  • pure.css——輕量級、響應式純css模塊,適用於任何Web項目
    這類框架的作用就是通過給相應元素添加預設好的class,來快速的實現預設效果。pure只有短短數千行代碼,但是可控拓展,非常實用,對於新手來說,pure是css框架入門的一個比較好的選擇。在後期做項目時也可能用到類似於boostrap這樣的大型框架。所以前期對於輕量級框架源碼的理解是很有幫助的。
  • jquery中$的作用與使用方法總結
    使用jquery.js框架使用起來方便多了!突然相起來把以住的學習資料整理一下放在這樣的一個個人知識庫中存儲下來。總體感覺Jquery.js框架最有用,這裡的有用指的就大不了就是使用起來更好理解,更方便,代碼更少,jquery體系中最重要的工具就那個代表國際財富的$!
  • 響應式設計在攜程火車票的應用
    一、什麼是響應式設計?可能很多人腦海中已經出現了這樣一個動畫,當瀏覽器中頁面尺寸不斷變化時,內容也在隨之變化。簡單說,響應式網站設計是一種允許設計和代碼響應設備屏幕大小的方法。二、響應式設計的優勢有哪些?
  • 10款超酷響應式布局的jQuery插件
    如果你關注最近幾年的web設計,那麼響應式布局(responsive layout)設計對於你來說肯定不是一個陌生的詞彙。相對於傳統的頁面設計來說,今天的設計者需要考慮的用戶來源和用戶體驗對於設計者來說是一個非常大的挑戰,因為隨著硬體的更新,新設備的出現,你需要能夠 使得你的網站能夠針對不同的設置做出最好顯示響應。
  • 最新的 Javascript 和 CSS 應用技巧薈萃
    隨著前端技術的發展,javascript和css在 網站和web應用中展現出強大的統治力,特別是隨著HTML5和CSS3的標準的成熟,我們可以使用javascript和css開發出你想都沒有想到過
  • 前端框架bootstrap4.4入門教程,使用方法實例響應式布局實戰
    bootstrap是我最喜歡的前端框架,沒有之一,當前的最新版本是bootstrap4.4.1,和之前的3.X版本相比較有較大的變化,不過都是屬於各種標籤的分離,方法還是一樣的,在網上各種教程雖多,但是對於入門還不是不夠,很多入門教程講得雲裡霧裡,看不懂到底在說些什麼。我覺得使用具體的實例來結合相關的標籤使用才能真正的加深理解。
  • 使用jQuery的animate()+CSS樣式實現動畫效果及stop()停止動畫
    第4節:animate()方法使用已有的值在jQuery中,animate()方法可以使用已經存在的值,可把CSS樣式屬性的動畫值使用show/hide/toggle這3個值,用於配置動畫的運動效果。使用隊列的功能,可以做成像電影一樣的功能,讓多個畫面連續性的動轉,可持續一段時間,形成連續動畫效果。Html和jQuery完整代碼如下:<!
  • pc端響應式布局 - CSDN
    1.什麼是響應式 Web 設計?響應式 Web 設計讓你的網頁能在所有設備上有好顯示。響應式 Web 設計只使用 HTML 和 CSS。響應式 Web 設計不是一個程序或Javascript腳本。2.響應式的作用:設計最好的用戶體驗友好的用戶體驗是網頁可以在任何設備上展示和操作,設備包括桌面系統設備,平板電腦,iPhone等手機等。網頁應該根據設備的大小自動調整內容。頁面的設計與開發根據用戶行為以及設備環境(系統平臺、屏幕尺寸、屏幕定向等)進行相應的響應和調整稱之為響應式 Web 設計。
  • 10個頂級的CSS UI開源框架
    隨著CSS3和HTML5的流行,我們的WEB頁面不僅需要更人性化的設計理念,而且需要更酷的頁面特效和用戶體驗。作為開發者,我們需要了解一些 寶貴的CSS UI開源框架資源,它們可以幫助我們更快更好地實現一些現代化的界面,包括一些行動裝置的網頁界面風格設計。
  • jQuery 3.0 Alpha 發布,Deferred 兼容 Promise
    jQuery 3.0 Alpha 和 jQuery Compat 3.0 Alpha 都支持 Yandex,一個 2012 年發布的瀏覽器,可以從 jQuery CDN 或者這裡直接下載:使用 npm 安裝:npm install jquery@3.0.0-alpha1npm install jquery-compat@3.0.0
  • jquery實現無限循環滾動
    DOCTYPE html><html> <head> <meta charset="utf-8"> <title></title> <style type="text/css"> *{ margin: 0; padding: 0; } div#outer{