国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

實戰:jQuery Mobile開發HTML5移動應用

移動開發
隨著移動互聯世界的到來,目前已發展到多種移動操作系統割據的局面,而開發者則急需要能運用原有的開發知識和技能,快速方便地構建移動應用程序,并期望能運行在不同的手機操作平臺上,比如Android,iOS,黑莓等。

而目前,出現了一批十分優秀的支持HTML5/CSS3的移動應用開發框架,其中最為大家熟悉的是jQuery Mobile框架(http:// jquerymobile.com),它可以讓熟悉jQuery框架的開發者快速開發出基于HTML5的移動應用,而且直接通過手機的瀏覽器即可瀏覽。除此以外,jQuery Mobile也有很好的擴展性,用戶可以很好地對其進行定制修改,本文將指導讀者對jQuery Mobile的提供的主題樣式進行自定義,從而創建符合用戶需要的樣式。

本文假設讀者已具備初步的jQuery Mobile相關知識,如果讀者不大了解jQuery Mobile,可以通過如下專題進行學習:jQuery Mobile基礎入門教程

jQuery Mobile中的主題

在jQuery Mobile中,有一個建議的頁面模版結構,其中包含了比如頁面頭部,頁面主體和頁腳等部分。jQuery Mobile使用HTML5中的data-role屬性進行定義,下面的代碼中就顯示了一個主體頁面的框架:

  1. <div data-role="page"> 
  2.  
  3.     <div data-role="header"> 
  4.         <h1>Page Title</h1> 
  5.     </div> 
  6.  
  7.     <div data-role="content"> 
  8.         <p>Page content goes here.</p>         
  9.     </div> 
  10.  
  11.     <div data-role="footer"> 
  12.         <h4>Page Footer</h4> 
  13.     </div> 
  14.      
  15. </div> 

而另外一個建議使用的元素是標簽,這個標簽的作用是指定瀏覽器以何種方式在手機上顯示網頁,代碼如下:

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

<meta viewport>標簽對于在移動設備上正確顯示移動網頁是十分重要的,如果不使用該標簽,則頁面內容在顯示時可能會失真或者變形,或者是根本不能適合移動設備瀏覽。在下圖中,顯示了一個使用標簽的頁面,可以看到,頁面內容的顯示能適合移動設備的大小。

jQuery Mobile中的主題

jQuery Mobile框架中,包含了一個頁面主題的框架,它提供了對頁面樣式的相關控制功能。通過使用HTML5的data-theme屬性標簽,能輕易為某一個頁面元素應用已有的jQuery Mobile的樣式。默認的主題樣式有5種,使用英文字母去區分,比如A-E開頭的都內置的樣式,開發者可以通過下載jQuery Mobile的代碼中去學習了解這樣樣式文件是如何編寫的。假如開發者要編寫新的樣式,可以使用F-Z字母中的任意一個去命名新建立的樣式,然后就可以編寫相關的代碼。

頁面的主題樣式

我們先來看下如何定義頁面主題樣式。頁面的主題樣式是通過data-role來指定屬性的值為page,再使用data-theme主題指定使用的樣式,如下代碼:

  1. <div data-role="page" data-theme="f"> 

這里指定了使用一個新的主題樣式,命名為”f”。實際上,jQuery mobile框架為自動為當前的頁面增加對應的CSS樣式,下面代碼就是瀏覽器在執行代碼后返回生成的代碼:

  1. <div data-role="page" data-theme="f" 
  2. class="ui-page ui-body-f ui-page-active" style="min-height: 580px;"> 

可以看到,其中的樣式class="ui-page ui-body-f ui-page-active"為jQuery mobile添加的樣式。其中ui-page和ui-page-active為根據data-role的設定樣式去進行設置賦值,而ui-body-f則 為用戶自定義的樣式,下面是一個自定義的ui-body-f樣式的代碼:

  1. .ui-body-f {  
  2.   background-color#f9f9f9;  
  3.   font-family"Lucida Sans Unicode""Lucida Grande"Arialsans-serif;  
  4. }  

在這個自定義的樣式中,定義了背景顏色和字體。如果要對某一個移動頁面中的某些元素進行自定義,也是可行的,可以使用的方法為在樣式中指定頁面的元素名,如下代碼所示:

  1. .ui-body-f input[type="text"],  
  2. .ui-body-f input[type="password"] {  
  3.   background-color#ccc;  
  4. }  

其中指定了對頁面中的文本框和密碼框,使用的是ui-body-f的CSS樣式。

因此,只要掌握了這種方法,開發者就可以對頁面中的各類元素進行樣式的定義了,十分方便。

工具欄樣式的定義

在jQuery Mobile框架中,工具條屬于頁面的頭部和底部元素。為了將工具條定義為頭部或者底部,可以使用data-role屬性去指定,如下代碼所示,表示在一個頁面中同時定義了頭部的工具欄和底部的工具欄:

  1. <div data-role="header"> 
  2.     <h1>Page Title</h1> 
  3. </div> 
  4.  
  5. <div data-role="footer"> 
  6.     <h4>Page Footer</h4> 
  7. </div> 

同樣,為頁面的頭部和底部指定一個樣式也是很簡單的,也是利用data-theme屬性,如下代碼所示:

  1. <div data-role="header" data-theme="f"> 
  2.     <h1>Page Title</h1> 
  3. </div> 

為此,需要創建一個CSS樣式,如下:

  1. .ui-bar-f {  
  2.   padding10px 0px;  
  3.   background-color#069;  
  4.   border-bottom2px solid #036;  
  5.   color#fff;  
  6. }  

就是說,新創建的這個樣式是裝飾所有的data-theme為F的頁面元素。然而,有的時候,可能需要頁面的底部使用不同的樣式,那么可以另外在新建一個名為g的樣式,創建的代碼如下:

  1.  .ui-bar-g { 
  2.   margin-top20px
  3.   padding10px 0
  4.   color#fff
  5.   border-bottom2px solid #000
  6.  
  7.   background-color#000
  8.   background: -moz-linear-gradient(top, rgba(204,204,204,10%, rgba(0,0,0,0.65100%); 
  9.   /* FF3.6+ */ 
  10.   background: -webkit-gradient(linear, left topleft bottom, color-stop(0%
  11.   rgba(204,204,204,1)), color-stop(100%,rgba(0,0,0,0.65))); /* Chrome,Safari4+ */ 
  12.   background: -webkit-linear-gradient(top, rgba(204,204,204,10%
  13.   rgba(0,0,0,0.65100%); /* Chrome10+,Safari5.1+ */ 
  14.   background: -o-linear-gradient(top, rgba(204,204,204,10%,rgba(0,0,0,0.65100%); 
  15.   /* Opera11.10+ */ 
  16.   background: -ms-linear-gradient(top, rgba(204,204,204,10%,rgba(0,0,0,0.65100%); 
  17.   /* IE10+ */ 
  18.   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#cccccc'
  19.   endColorstr='#a6000000',GradientType=0 ); /* IE6-9 */ 
  20.   background: linear-gradient(top, rgba(204,204,204,10%,rgba(0,0,0,0.65100%); 
  21.   /* W3C */ 

在這個樣式中,設置了一些基本的CSS3屬性外,還為不同的瀏覽器設計了不同的背景顏色和相關的漸變背景,更詳細的關于CSS3 漸變背景的設置請參考相關資料。

內容的主題樣式

接下來,我們學習下在內容頁部分,是如何應用主題樣式的。例子代碼如下:

  1. <div data-role="collapsible" data-collapsed="true" data-theme="f"> 
  2.     <h3>>Login</h3> 
  3.     Login form will go here 
  4. </div> 

注意,在這里,使用了data-role屬性的值為collaspsible,表明這個頁面的div是一個可折疊的層,并且設置了data- collapsed屬性為true,其效果為當頁面加載時,顯示的是折疊狀態,而當用戶點標題欄時,才會顯示登陸的表單。同樣,在data-theme屬 性中設置樣式為f,其樣式定義如下:

  1. ui-body-f .ui-collapsible-contain 
  2. .ui-collapsible-heading .ui-btn-up-f { 
  3.   background#666
  4.   color#fff
  5.   text-decorationnone
  6. .ui-body-f .ui-collapsible-contain 
  7. .ui-collapsible-heading .ui-btn-down-f, 
  8. .ui-body-f .ui-collapsible-contain 
  9. .ui-collapsible-heading .ui-btn-hover-f { 
  10.   background#999
  11.   color#fff
  12.   text-decorationnone

在上面的這段CSS中,為標題工具欄定義了三種狀態的樣式,即:非激活,激活中和鼠標移動在上面。其中的標簽會被CSS修飾轉變為一個帶有ui-collapsible-heading的樣式,而它包含的文字,這里是指“Login”將會被轉化為帶有樣 式的鏈接,其中有三種不同的鏈接的樣式,分別為ui-btn-up-f,ui-btn-down-f,ui-btn-hover-f,分別代表的工具條的 三種不同的狀態(up,down,hover)。以上的樣式中,會根據data-theme中指定的樣式號而有所變化,比如開發者指定的是使用g的新樣 式,則以上的CSS樣式中,則會全部以-g結尾。

列表樣式

在移動頁面應用中,列表樣式是十分普遍的,因為它們很容易地導航。在jQuery Mobile中,使用列表很簡單,只需要在data-role中指定為listview即可,如下代碼所示:

  1. <ul data-role="listview" data-inset="true" data-theme="f"> 
  2.   <li><a href="#">Title name</a></li> 
  3.   <li><a href="#">Title name</a></li> 
  4.   <li><a href="#">Title name</a></li> 
  5. </ul> 

默認的樣式如下圖所示:

列表樣式開發

如果要上面的列表實現圓角效果的話,可以增加data-inset屬性,并將其屬性值設置為true即可,如下效果圖,出現了圓角:

列表樣式開發

同樣,為列表增加樣式也十分簡單,只需要設置data-theme屬性的值為樣式的名稱即可,比如同樣增加樣式f,定義樣式f如下:

  1. .ui-listview .ui-btn-up-f a, 
  2. .ui-listview .ui-btn-down-f a, 
  3. .ui-listview .ui-btn-hover-f a { 
  4.   color#fff

這里,設定了文字的顏色為白色,并且使用ui-btn-up-f,ui-btn-down-f,ui-btn-hover-f設置了列表選項的三種不同狀態(up,down,hover)。

表單及按鈕的主題樣式

在jQuery mobile中,增加表單及按鈕,其實跟普通的網頁中增加差不多,只需要增加相關的input標簽元素或button標簽元素即可,代碼示例如下:

  1. <div data-role="collapsible" data-collapsed="true" data-theme="f"> 
  2.   <h3>>Login</h3> 
  3.   <form action="" method="post"> 
  4.     <label for="username">Username</label> 
  5.     <input type="text" name="username" id="username" /> 
  6.     <label for="username">Password</label> 
  7.     <input type="password" name="password" id="password" /> 
  8.     <fieldset class="ui-grid-a"> 
  9.       <div class="ui-block-a"> 
  10.         <button type="reset" data-inline="true">Reset</button> 
  11.       </div> 
  12.       <div class="ui-block-b"> 
  13.         <button type="submit" data-inline="true" data-theme="f">Submit</button> 
  14.       </div> 
  15.     </fieldset> 
  16.   </form> 
  17. </div> 

同樣,我們指定表單的樣式如下:

  1. .ui-body-f input[type="text"], 
  2. .ui-body-f input[type="password"] { 
  3.   background-color#ccc

這里我們在上文中已經談到,即將輸入文本框和密碼框都使用f樣式,在上面的代碼中,請留意

標簽一段,其中分別對兩個按鈕使用了不同的樣式,對于RESET按鈕,

使用的是默認的jQuery mobile的樣式,而對submit按鈕,則使用的是data-theme=f的樣式,

***看下f樣式的css代碼定義,如下:

  1. .ui-btn-up-f { 
  2.   background: -moz-linear-gradient(top, rgba(57,107,158,10%
  3.   rgba(78,137,197,0.65100%); /* FF3.6+ */ 
  4.   background: -webkit-gradient(linear, left topleft bottom, color-stop(0%
  5.   rgba(57,107,158,1)), color-stop(100%,rgba(78,137,197,0.65))); /* Chrome,Safari4+ */ 
  6.   background: -webkit-linear-gradient(top, rgba(57,107,158,10%
  7.   rgba(78,137,197,0.65100%); /* Chrome10+,Safari5.1+ */ 
  8.   background: -o-linear-gradient(top, rgba(57,107,158,10%
  9.   rgba(78,137,197,0.65100%); /* Opera11.10+ */ 
  10.   background: -ms-linear-gradient(top, rgba(57,107,158,10%
  11.   rgba(78,137,197,0.65100%); /* IE10+ */ 
  12.   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#396b9e'
  13.   endColorstr='#a64e89c5',GradientType=0 ); /* IE6-9 */ 
  14.   background: linear-gradient(top, rgba(57,107,158,10%
  15.   rgba(78,137,197,0.65100%); /* W3C */ 
  16.   border1px solid #225377
  17.   text-shadow#225377 0px -1px 1px
  18.   color#fff
  19. .ui-btn-down-f, 
  20. .ui-btn-hover-f { 
  21.   background: -moz-linear-gradient(top, rgba(114,176,212,10%
  22.   rgba(75,136,182,0.65100%); /* FF3.6+ */ 
  23.   background: -webkit-gradient(linear, left topleft bottom, color-stop(0%
  24.   rgba(114,176,212,1)), color-stop(100%,rgba(75,136,182,0.65))); /* Chrome,Safari4+ */ 
  25.   background: -webkit-linear-gradient(top, rgba(114,176,212,10%
  26.   rgba(75,136,182,0.65100%); /* Chrome10+,Safari5.1+ */ 
  27.   background: -o-linear-gradient(top, rgba(114,176,212,10%,rgba(75,136,182,0.65100%); 
  28.   /* Opera11.10+ */ 
  29.   background: -ms-linear-gradient(top, rgba(114,176,212,10%
  30.   rgba(75,136,182,0.65100%); /* IE10+ */ 
  31.   filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#72b0d4'
  32.   endColorstr='#a64b88b6',GradientType=0 ); /* IE6-9 */ 
  33.   background: linear-gradient(top, rgba(114,176,212,10%,rgba(75,136,182,0.65100%); 
  34.   /* W3C */ 
  35.   border1px solid #00516E
  36.   text-shadow#014D68 0px -1px 1px
  37.   color#fff

本文的代碼可以在如下這個連接下載(http://www.ibm.com/developerworks/apps/download/index.jsp?contentid=774893&filename=jquery-mobile-custom-themes.zip&method=http&locale= )

小結

本文講解了如何在jQuery Mobile 框架中,自定義合適各種布局的樣式主題,其中關鍵點在于使用data-theme屬性指定和命名新建立的CSS樣式,并且要注意樣式的命名和編寫要符合 jQuery Mobile的規范即可,更多的關于jQuery Mobile自定義樣式的內容,請參考其官方網站的文檔指引。

責任編輯:佚名 來源: it168
相關推薦

2012-11-20 10:16:47

JQuery MobiHTML5移動應用

2014-12-22 15:02:48

HTML5移動應用開發

2012-02-23 10:28:43

AppCanHTML5移動應用

2011-05-11 12:59:18

HTML5

2013-10-09 09:10:28

移動應用開發NativeHybrid

2011-11-28 13:15:25

HTML5移動應用

2011-09-05 10:49:14

Sencha ToucjQuery MobiHTML5

2014-03-18 09:20:17

HTML5移動開發

2015-07-03 11:07:39

HTML5移動Web

2012-03-07 10:02:35

AppCanHTML5移動應用

2015-05-13 10:04:36

ionicHtml5

2011-05-25 09:34:30

HTML5cssjavascript

2011-09-01 10:09:04

2011-06-30 09:46:59

jQuery MobiRails

2016-05-16 19:24:55

華為AnyOffice

2014-10-21 17:34:11

HTML5移動設計

2012-06-14 10:22:21

網易微博HTML5開發

2015-03-26 14:04:57

2011-11-28 10:03:29

HTML5移動應用

2013-11-28 09:38:04

移動開發jQuery Mobi
點贊
收藏

51CTO技術棧公眾號

精品偷拍一区二区三区在线看| 在线视频精品| 国产欧美1区2区3区| 国产精品制服诱惑| 26uuu亚洲电影| 欧美性极品xxxx做受| 看一级黄色录像| 亚洲第一网站| 国产97色在线| 亚洲欧美小说色综合小说一区| 国产精品久久久久久久久果冻传媒| 一区二区三区四区视频在线观看| 国产精品高清一区二区| 日韩欧美激情四射| 免费看a在线观看| 亚洲第一综合色| 热国产热中文视频二区| 99国产欧美久久久精品| 久久这里只有精品8| 老司机午夜精品视频| 国产精品亚洲精品| 黑丝美女一区二区| 91av中文字幕| 国产99精品| 国产mv久久久| 亚洲一区站长工具| 91女人视频在线观看| 亚洲人成77777| 国产劲爆久久| 亚洲国产三级网| 免费人成在线观看播放视频| 色悠悠亚洲一区二区| 一区二区三区在线视频111| 希岛爱理一区二区三区| 波多野结衣家庭教师视频| 丝袜一区二区三区| 亚洲精品无码专区在线播放| 亚洲国产日韩欧美在线图片| 亚洲都市激情| 午夜影院日韩| 欧美午夜精品在线| 最大av网站| 中文字幕精品国产| 欧美二区视频| 日日噜噜夜夜狠狠视频| 日韩中文理论片| 久久精品国产亚洲精品2020| 欧美不卡视频一区| 久久99国产精品久久| 亚洲成人tv| 草久在线视频| 午夜精品一区二区三区在线播放| 91综合久久| 影音先锋欧美资源| 欧美精品日韩精品| 成人在线免费观看网站| 亚洲国产日韩欧美| 亚洲一区二区三区不卡国产欧美| 激情久久久久久| 调教视频vk| 日日噜噜噜夜夜爽亚洲精品| 狠狠久久亚洲欧美| 91精品国产91久久久久久青草| 欧美放荡的少妇| 蜜桃一区二区三区在线| 国产一区二区精品调教| 少妇大叫太大太粗太爽了a片小说| 久久久久国产视频| 伊人久久影院| 五月天丁香婷| 欧美极品第一页| 老司机在线看片网av| 日韩免费在线播放| 国产欧美一区二区精品性色超碰| 污视频网站免费看| 欧美成在线观看| 久久一区二区中文字幕| 午夜精彩视频| 久久九九亚洲综合| 在线一区电影| 男人天堂久久久| 亚州av一区二区| 极品尤物av久久免费看| 伊人成综合网站| 久久久综合av| 最新国产の精品合集bt伙计| 久久影院资源站| 亚洲字幕成人中文在线观看| 久久精品国产理论片免费| 在线观看亚洲成人| 一区二区三区四区视频免费观看| 凹凸国产熟女精品视频| 国内偷自视频区视频综合| 国产欧美一区二区三区沐欲| 国产免费播放一区二区| www.亚洲免费| 日本人体一区二区| 97超级碰碰人国产在线观看| 狠狠狠色丁香婷婷综合激情| 成人亚洲欧美| 手机福利视频欧美| 成人黄色影片在线| 日韩av综合中文字幕| 中文av一区特黄| 亚洲调教视频在线观看| 黄色精品视频网站| 青少年xxxxx性开放hg| 久久久久久久久久久久av| 欧美电影一区二区| 2014亚洲片线观看视频免费| 91精品国产乱码久久久久久久| 久久精品女人天堂av免费观看| 午夜大尺度福利视频| 91中文字精品一区二区| 久久艳片www.17c.com | 久久99热这里只有精品国产| 精品美女国产在线| 久久亚洲捆绑美女| 日韩国产欧美三级| 欧美偷拍综合| 日韩免费高清视频网站| 欧美aa一级| 黄色成人在线| 黄色免费看片| 欧美日韩一区二区视频在线| 国产精品一二区| 在线观看免费一区| 精品电影在线观看| 亚洲精品日日夜夜| 国产精品视频yy9299一区| 久久成人18免费观看| 国产在线成人| 综合久久99| 精品成人影院| 九九久久婷婷| 蜜桃成人av| 精品国产乱码| 精品成人av| 深夜成人在线| av在线加勒比| 小草在线视频免费播放| 超碰资源在线| 国产精品亲子伦av一区二区三区| 女海盗2成人h版中文字幕| 国产裸舞福利在线视频合集| 好紧好硬好湿我太爽了| 中午字幕在线观看| 色偷偷福利视频| 在线播放av片| 国产一区电影| 欧美电影一二区| 日韩一区和二区| 在线视频一区二区三区| 日本乱码高清不卡字幕| 香蕉av福利精品导航| 亚洲成人免费在线观看| 91国产免费观看| 欧美日韩卡一卡二| 精品国产成人在线影院| 中文字幕av一区二区| 97婷婷涩涩精品一区| 国产日韩三区| 国产日韩专区在线| 亚洲一区 在线播放| 国产视频一区二区视频| 在线视频欧美一区| 日韩美女爱爱视频| 无人视频在线观看免费| 视频一区二区三区不卡| 日本超碰一区二区| 日韩一级电影| 图片婷婷一区| 亚洲中文字幕无码av永久| 免费看av大片| 欧美黑人巨大xxxxx| 成人嫩草影院| 91免费看`日韩一区二区| 欧美少妇性性性| 欧美激情在线观看视频| 欧美一区亚洲一区| 五码日韩精品一区二区三区视频| 狠狠干婷婷色| 国产精品一区二区三区四区在线观看| av成人app永久免费| 日韩高清不卡一区二区三区| 国产精品美女久久久久久| 亚洲免费电影在线观看| 久久精品av麻豆的观看方式| 亚洲午夜精品久久久久久久久| 精品亚洲aⅴ在线观看| 日本欧美爱爱爱| 国产91xxx| 国产原创一区| 日韩国产欧美三级| 欧美一级片在线看| 51国偷自产一区二区三区的来源| 亚洲中文字幕无码中文字| gay欧美网站| 国内久久精品视频| 最近2019年中文视频免费在线观看 |