HTML5与JQuery.Mobile(二)

接下来我们开始讨论工具栏:


首先我们看一个简单的例子:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Contact</title>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.1.min.css">
<script src="jquery.mobile/jquery-1.8.0.min.js"></script>
<script src="jquery.mobile/jquery.mobile-1.1.1.min.js"></script>
</head>
<body>
<!-- This is the Phone page. -->
<section data-role="page" data-dom-cache="true">
  <header data-role="header">
    <h1>Page Header</h1>
    <nav data-role="navbar">
      <ul>
        <li><a href="#" class="ui-button-active ui-state-persist">Phone</a></li>
        <li><a href="#">Email</a></li>
        <li><a href="#">Fax</a></li>
        <li><a href="#">Forum</a></li>
        <li><a href="#">Help Form</a></li>
        <li><a href="#">Help</a></li>
      </ul>
    </nav>
  </header>
  <div class="content" data-role="content">Page Content.</div>
  <footer data-role="footer" data-position="fixed">
    <nav data-role="navbar">
      <ul>
        <li><a href="#">Mainpage</a></li>
        <li><a href="#">Map</a></li>
        <li><a href="#" class="ui-button-active ui-state-persist">Contact</a></li>
      </ul>
    </nav>
  </footer>
</section>
</body>
</html>

我们可以发现:

  1. 当用来导航的按钮个数大于等于6时,原来一行显示的按钮自动变为两行显示。
  2. 当导航按钮移动到content中而不是在header中时,原来的黑底白字按钮的风格也变了;
  3. 当导航按钮的ul和li标记去掉后,按钮由原来的横向布局变为纵向布局;

我们接下来看看组织header的情况:

  1. 一般情况下header栏内的文字用<h1>到<h6>的标题展示;
  2. header栏可以包含两个按钮;
  3. 当我们需要在header中添加按钮的时候,我们需要组织一个按钮和文字,通常情况下我们可以使用a标签的data-icon="xxx"指定图标,在a标签内容中输入显示文字;
  4. 我们可以使用data-rel="back"属性指定返回按钮(记得我们可以使用data-rel="dialog"指定一个打开对话框的链接么?);
  5. 我们可以使用data-theme="d"选择不同的配色方案;
  6. 如果仅有一个按钮且需要将其设置到屏幕右边,可以使用class="ui-btn-right"属性设置;

示例代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Contact</title>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.1.min.css">
<script src="jquery.mobile/jquery-1.8.0.min.js"></script>
<script src="jquery.mobile/jquery.mobile-1.1.1.min.js"></script>
</head>
<body>
<!-- This is the Phone page. -->
<section data-role="page" data-dom-cache="true"> 
  <!--  data-position="inline" 是默认属性 -->
  <header data-role="header"> 
    <!--
  <a href="#" data-icon="delete">Cancel</a>
  -->
    <h1>Page Header</h1>
    <a href="#" data-icon="gear" class="ui-btn-right">Option</a>
    <!--
    <a href="#" data-icon="check" data-theme="d">Save</a>
    -->
    </header>
  <div class="content" data-role="content" data-rel="back">
    <p>Page Content.</p>
    <nav data-role="navbar">
      <ul>
        <li><a href="#" class="ui-button-active ui-state-persist">Phone</a></li>
        <li><a href="#">Email</a></li>
        <li><a href="#">Fax</a></li>
        <li><a href="#">Forum</a></li>
        <li><a href="#">Help Form</a></li>
        <li><a href="#">Help</a></li>
      </ul>
    </nav>
  </div>
  <footer data-role="footer" data-position="fixed">
    <nav data-role="navbar">
      <ul>
        <li><a href="#">Mainpage</a></li>
        <li><a href="#">Map</a></li>
        <li><a href="#" class="ui-button-active ui-state-persist">Contact</a></li>
      </ul>
    </nav>
  </footer>
</section>
</body>
</html>

紧接着我们来学习footer:

  1. 在footer中我们使用class="ui-bar"使得footer成为一个toolbar;
  2. 在footer内部嵌入一个div(footerwrapper)并且放置几个a标签,用于充当导航控件;
  3. 通过设置a标签的data-role、data-icon使得标签的展现形式更像按钮形状;
  4. 通过设置footerwrapper的data-role="controlgroup"和data-type="horizontal"使得按钮分组;

示例代码如下:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Contact</title>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.1.min.css">
<script src="jquery.mobile/jquery-1.8.0.min.js"></script>
<script src="jquery.mobile/jquery.mobile-1.1.1.min.js"></script>
</head>
<body>
<!-- This is the Phone page. -->
<section data-role="page" data-dom-cache="true"> 
  <!--  data-position="inline" 是默认属性 -->
  <header data-role="header"> 
    <!--
  <a href="#" data-icon="delete">Cancel</a>
  -->
    <h1>Page Header</h1>
    <a href="#" data-icon="gear" class="ui-btn-right">Option</a> 
    <!--
    <a href="#" data-icon="check" data-theme="d">Save</a>
    --> 
  </header>
  <div class="content" data-role="content" data-rel="back">
    <p>Page Content.</p>
    <nav data-role="navbar">
      <ul>
        <li><a href="#" class="ui-button-active ui-state-persist">Phone</a></li>
        <li><a href="#">Email</a></li>
        <li><a href="#">Fax</a></li>
        <li><a href="#">Forum</a></li>
        <li><a href="#">Help Form</a></li>
        <li><a href="#">Help</a></li>
      </ul>
    </nav>
  </div>
  <!-- 这是一种nav bar的展现方式 --> 
  <!--
  <footer data-role="footer" data-position="fixed">
    <nav class="footerwrapper" data-role="navbar">
      <ul>
        <li><a href="#">Mainpage</a></li>
        <li><a href="#">Map</a></li>
        <li><a href="#" class="ui-button-active ui-state-persist">Contact</a></li>
      </ul>
    </nav>
  </footer>
  -->
  <!-- 这是另一种展现nav bar的方式 -->
  <footer data-role="footer" data-position="fixed" data-id="nav" class="ui-bar">
    <div class="footerwrapper" data-role="controlgroup" data-type="horizontal"> 
    <a href="#" data-role="button" data-icon="home">Mainpage</a>
    <a href="#" data-role="button" data-icon="grid">Map</a>
    <a href="#"  data-role="button" data-icon="info">Contact</a>
    </div>
  </footer>
</section>
</body>
</html>


接下来我们注意到:

  1. 当Page的data-fullscreen="false"时,data-position="fixed"没有效果;
  2. 对于footer和header都可以设置data-theme="xxx"来修改其默认主题;
  3. 每个footer或header内部的按钮对象(实际上是a对象)都可以通过设置data-theme="xxx"来修改其默认主题,这样使得每个按钮之间有差别;
  4. 对于想自定义主题的用户,复制一份jquery.mobile.css之后链接到html文件中,再修改对应的对象的样式即可;



示例代码:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
<title>Contact</title>
<link rel="stylesheet" href="jquery.mobile/jquery.mobile-1.1.1.min.css">
<script src="jquery.mobile/jquery-1.8.0.min.js"></script>
<script src="jquery.mobile/jquery.mobile-1.1.1.min.js"></script>
</head>
<body>
<!-- This is the Phone page. -->
<section data-role="page" data-dom-cache="true" data-fullscreen="true" > 
  <!--  data-position="inline" 是默认属性 -->
  <header data-role="header" data-position="fixed"> 
    <!--
  <a href="#" data-icon="delete">Cancel</a>
  -->
    <h1>Page Header</h1>
    <a href="#" data-icon="gear" class="ui-btn-right">Option</a> 
    <!--
    <a href="#" data-icon="check" data-theme="d">Save</a>
    --> 
  </header>
  <div class="content" data-role="content" data-rel="back">
    <p>Page Content.</p>
    <nav data-role="navbar">
      <ul>
        <li><a href="#" class="ui-button-active ui-state-persist">Phone</a></li>
        <li><a href="#">Email</a></li>
        <li><a href="#">Fax</a></li>
        <li><a href="#">Forum</a></li>
        <li><a href="#">Help Form</a></li>
        <li><a href="#">Help</a></li>
      </ul>
    </nav>
  </div>
  <!-- 这是一种nav bar的展现方式 --> 
  <!--
  <footer data-role="footer" data-position="fixed">
    <nav class="footerwrapper" data-role="navbar">
      <ul>
        <li><a href="#">Mainpage</a></li>
        <li><a href="#">Map</a></li>
        <li><a href="#" class="ui-button-active ui-state-persist">Contact</a></li>
      </ul>
    </nav>
  </footer>
  -->
  <!-- 这是另一种展现nav bar的方式 -->
  <footer data-role="footer" data-position="fixed" data-id="nav" class="ui-bar" data-theme="b">
    <div class="footerwrapper" data-role="controlgroup" data-type="horizontal"> 
    <a href="#" data-role="button" data-icon="home">Mainpage</a>
    <a href="#" data-role="button" data-icon="grid">Map</a>
    <a href="#"  data-role="button" data-icon="info">Contact</a>
    </div>
  </footer>
</section>
</body>
</html>













  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值