jQuery Mobile 框架是一套JavaScript库,用来帮助你快速创建适合移动设备访问的网站。它可以把目前的页面转换成适合触摸操作的页面。jQuery Mobile可以让用户通过浏览器直接访问到触摸友好的应用。
jQuery Mobile有很多套主题供你的网页应用界面使用。
jQuery Mobile有一套推荐的页面结构,包括一些常用的元素,header,conent和footer。这些元素是通过HTML5 data-role 这个属性定义的。下面的代码就是jQuery Mobile推荐的页面模板:
<div data-role="page">
<div data-role="header">
<h1>头部</h1>
</div>
<div data-role="content">
<p>中间内容</p>
</div>
<div data-role="footer">
<h4>底部</h4>
</div>
</div>
另外一个重要元素是 <meta viewport>标签。这个标签定义了浏览器应该如何显示这个网站
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta viewport>标签是一个很重要的标签,它会根据访问的设备不同而以不同的方式呈现网页。
jQuery Mobile框架包含了一个页面主题系统,为页面的元素的样式提供了全方位的控制。HTML5标签<data-theme>可以被添加到不同的元素上,以指定这个元素的主题。jQuery Mobile默认提供了7套主题,从A至G。你也可以创建你自己的样式,用其他没有用过的字母命名,例如H至Z。
页面主题
页面主题包括为HTML元素提供样式。jQuery Mobile建议使用<div>元素,加上data-role属性。为了给这个div加样式,我们需要再添加data-theme属性。在这里,我们将用“G”来作为名字:
<div data-role="page" data-theme="g">
当你指定data-role和data-theme后,jQuery Mobile实际上创建并添加了一些CSS类给这个页面的元素。下面这段代码就是我们上面代码的浏览器输出:
<div data-role="page" data-theme="g" class="ui-page ui-body-g ui-page-active" style="min-height: 580px;">
正如你所见,ui-page和ui-page-active是根据data-role为page来添加的,而ui-body-g是根据data-theme这个属性添加的。
工具栏样式
在jQuery Mobile框架中,工具栏就是header和footer元素。要定义一个工具栏是header或者footer,你可以使用data-role这个属性。这个属性的值应该是 header 或者 footer。样例如下:
<div data-role="header">
<h1>头部标题</h1>
</div>
<div data-role="footer">
<h4>底部</h4>
</div>
给工具栏添加样式也是使用data-theme属性,并赋予一个自定义的样式值。例如:
<div data-role="header" data-theme="g">
<h1>标题e</h1>
</div>
内容主题
和上面两个元素类似,我们可以通过以下方式来格式化内容元素:
<div data-role="collapsible" data-collapsed="true" data-theme="g">
<h3>标题</h3>
内容
</div>
这个块在页面装载的时候是会收起的,当用户点击标题的时候,才会展示块的内容。
列表样式
列表是移动设备页面的常用组件。而把普通的HTML列表转化为触摸设备易于使用的列表,你只需要设置一个data-role属性就行了,例如
<ul data-role="listview" data-inset="true" data-theme="g">
<li><a href="#">标题1</a></li>
<li><a href="#">标题2</a></li>
<li><a href="#">标题3</a></li>
</ul>
列表默认是全屏宽度的,
不过如果你想要使用圆角的话,你可以设置data-insert属性,赋值为true,
表单和按钮主题
使用jQuery Mobile创建表单和正常的网站没有什么区别,添加输入元素,添加标签,这些元素会使用现有的页面样式:
<div data-role="collapsible" data-collapsed="true" data-theme="g">
<h3>登陆</h3>
<form action="" method="post">
<label for="username">用户名</label>
<input type="text" name="username" id="username" />
<label for="username">密码</label>
<input type="password" name="password" id="password" />
<fieldset class="ui-grid-a">
<div class="ui-block-a">
<button type="reset" data-inline="true">重设</button>
</div>
<div class="ui-block-b">
<button type="submit" data-inline="true" data-theme="g">提交</button>
</div>
</fieldset>
</form>
</div>
当然,表单元素也能够被单独定制样式,这里我们还是用“g”这个样式名:
正如你所见,submit按钮有一个自定义的渐变效果,让这个按钮看起来更显眼。