详解jQuery移动页面开发中的ui-grid网格布局使用


Posted in Javascript onDecember 03, 2015

在移动设备上,屏幕宽度狭窄,因此通常不使用多栏布局,但是有时你可能需要将小的元素(如按钮或并排导航标签,例如)多列排列在一起。Jquery Mobile 框架提供了一种简单的方法构建基于css 的分栏布局,叫做ui-grid

Jquery Mobile 提供有四个预设的布局,可以在任何情况下都需要列

  • 两列(使用ui-grid-a类)
  • 三列(使用ui-grid-b类)
  • 四列(使用ui-grid-c类)
  • 五列(使用ui-grid-d类)

网格是100%的宽度,完全看不见的(没有边界或背景)和没有margin或padding,所以他们不会干扰样式的元素放在他们里面。在网格容器,子元素被分配ui-block-a / b / c/ d 以连续的方式,使每个“块”元素浮动并列,形成网格。其中ui-block-a类基本上清除浮将开始新的一行(见多行的网格,在下面)。

ui-grid-a 两列布局

建立个两列(50 / 50%)布局,第一层(父容器)添加ui-grid-a属性,第二层(两个子容器)里面分别添加ui-block-a和ui-block-b:

<div class="ui-grid-a">
 <div class="ui-block-a"><strong>I'm Block A</strong> and text inside will wrap</div>
 <div class="ui-block-b"><strong>I'm Block B</strong> and text inside will wrap</div>
</div><!-- /grid-a -->

上述标记产生以下内容布局:

详解jQuery移动页面开发中的ui-grid网格布局使用

正如你看到的,缺省情况下网格没有视觉造型;他们只是呈现内容并排。

网格的类可以被应用到任何容器。在下一个例子中,我们添加一个ui-grid-a,并应用ui-block,两个按钮分别延伸到50%的屏幕宽度

<fieldset class="ui-grid-a">
 <div class="ui-block-a"><button type="submit" data-theme="c">Cancel</button></div>
 <div class="ui-block-b"><button type="submit" data-theme="b">Submit</button></div>  
</fieldset>

详解jQuery移动页面开发中的ui-grid网格布局使用

请注意,这个框架增加网格中的左和右margin的按钮。为一个单一的按钮,您可以使用类ui-grid-solo和按钮类ui-block-a,像下面的例子一个div。这样的按钮将得到同样的margin

<div class="ui-grid-a">
 <div class="ui-block-a"><button type="button" data-theme="c">Previous</button></div>
 <div class="ui-block-b"><button type="button" data-theme="c">Next</button></div>  
</div>
<div class="ui-grid-solo">
 <div class="ui-block-a"><button type="v" data-theme="b">More</button></div>
</div>

详解jQuery移动页面开发中的ui-grid网格布局使用

主题类(没有数据主题属性)从主题系统可以被添加到一个元素,包括网格。在下面的块,我们增加了两个类:ui-bar添加默认的bar和ui-bar-e应用背景梯度和字体风格的“E”工具栏主题的样本。为了说明的目的,一个内联style=“height:120px”属性也被添加到每个网格设置每一个标准高度。

详解jQuery移动页面开发中的ui-grid网格布局使用

ui-block-b 三列布局

网格布局配置使用class= ui-grid-b在父母和3个子容器的元素,每个都有其各自的ui-block-a / a / c类,创建一行三列布局(33 / 33 / 33%)。注意:这些块同样风格的主题课程,网格布局清晰可见。

<div class="ui-grid-b">
 <div class="ui-block-a">Block A</div>
 <div class="ui-block-b">Block B</div>
 <div class="ui-block-c">Block C</div>
</div><!-- /grid-b -->

这为我们的内容,将产生一个33 / 33 / 33%网格布局

详解jQuery移动页面开发中的ui-grid网格布局使用

ui-block-c 四列布局

一行四列,25 / 25 / 25 / 25%网格,是通过在父容器指定class= ui-grid-c和添加四分之一块。注意:这些块同样风格的主题课程,网格布局清晰可见

详解jQuery移动页面开发中的ui-grid网格布局使用

ui-block-c 五列布局

一行五列,20 / 20 / 20 / 20 / 20%网格,是通过在父容器指定class= ui-grid-d

详解jQuery移动页面开发中的ui-grid网格布局使用

多行多列布局

网格设计包装的项目多行。例如,如果您指定了一个三行三列网格(ui-grid-b)在一个容器,有九个子块,则换到3排各3项。有一个CSS规则明确的花车和开始新的一行,当class= ui-block-a是确保在重复序列分配块(A,B,C类,A,B,C,等)映射到网格类型。可以给每行的第一个容器设置为class=ui-block-a 来清除浮动,这样9 个子容器的class 应为:class=ui-block-(a,b,c,a,b,c,a,b,c)。

<div id="grid" class="ui-grid-b">
<div class="ui-block-a"><div class="ui-bar ui-bar-e">A</div></div>
<div class="ui-block-b"><div class="ui-bar ui-bar-e">B</div></div>
<div class="ui-block-c"><div class="ui-bar ui-bar-e">C</div></div>
<div class="ui-block-a"><div class="ui-bar ui-bar-e">A</div></div>
<div class="ui-block-b"><div class="ui-bar ui-bar-e">B</div></div>
<div class="ui-block-c"><div class="ui-bar ui-bar-e">C</div></div>
<div class="ui-block-a"><div class="ui-bar ui-bar-e">A</div></div>
<div class="ui-block-b"><div class="ui-bar ui-bar-e">B</div></div>
<div class="ui-block-c"><div class="ui-bar ui-bar-e">C</div></div>
</div>

详解jQuery移动页面开发中的ui-grid网格布局使用

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>grid-layout demo</title>
 <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.css">
 <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
 <!-- The script below can be omitted -->
 <script src="/resources/turnOffPushState.js"></script>
 <script src="http://code.jquery.com/mobile/1.3.0/jquery.mobile-1.3.0.min.js"></script>
</head>
<body>
 
<div data-role="page">
 <div data-role="header">
  <h1>Grid Layout Example</h1>
 </div>
 <div data-role="content">
  <div class="ui-grid-a">
   <div class="ui-block-a"><strong>I'm Block A</strong> and text inside will wrap.</div>
   <div class="ui-block-b"><strong>I'm Block B</strong> and text inside will wrap.</div>
  </div><!-- /grid-a -->
 </div>
</div>
 
</body>
</html>

详解jQuery移动页面开发中的ui-grid网格布局使用

Javascript 相关文章推荐
运用jquery实现table单双行不同显示并能单行选中
Jul 25 Javascript
新鲜出炉的js tips提示效果
Apr 03 Javascript
JS短路原理的应用示例 精简代码的途径
Dec 13 Javascript
深入浅析JavaScript中的作用域和上下文
Mar 26 Javascript
node.js中http模块和url模块的简单介绍
Oct 06 Javascript
分享vue.js devtools遇到一系列问题
Oct 24 Javascript
本地搭建微信小程序服务器的实现方法
Oct 27 Javascript
vue slot 在子组件中显示父组件传递的模板
Mar 02 Javascript
vue基于mint-ui实现城市选择三级联动
Jun 30 Javascript
vue项目中mock.js的使用及基本用法
May 22 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 Javascript
vue组件添加事件@click.native操作
Oct 30 Javascript
浅析jQuery Mobile的初始化事件
Dec 03 #Javascript
jQuery+jsp实现省市县三级联动效果(附源码)
Dec 03 #Javascript
jQuery移动web开发中的页面初始化与加载事件
Dec 03 #Javascript
JQuery移动页面开发之屏幕方向改变与滚屏的实现
Dec 03 #Javascript
jQuery+jsp下拉框联动获取本地数据的方法(附源码)
Dec 03 #Javascript
jQuery移动页面开发中的触摸事件与虚拟鼠标事件简介
Dec 03 #Javascript
详解JavaScript对象和数组
Dec 03 #Javascript
You might like
header()函数使用说明
2006/11/23 PHP
PHP简单实现HTTP和HTTPS跨域共享session解决办法
2015/05/27 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
PHP实现时间比较和时间差计算的方法示例
2017/07/24 PHP
Laravel5.* 打印出执行的sql语句的方法
2017/07/24 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
写出更好的JavaScript程序之undefined篇(中)
2009/11/23 Javascript
Javascript 匿名函数及其代码模式原理
2010/03/19 Javascript
jQuery函数的等价原生函数代码示例
2013/05/27 Javascript
JavaScript编程中容易出BUG的几点小知识
2015/01/31 Javascript
简介JavaScript中用于处理正切的Math.tan()方法
2015/06/15 Javascript
javascript中setInterval的用法
2015/07/19 Javascript
jQuery实现的多级下拉菜单效果代码
2015/08/24 Javascript
jQuery实现对无序列表的排序功能(附demo源码下载)
2016/06/25 Javascript
微信小程序 时间格式化(util.formatTime(new Date))详解
2016/11/16 Javascript
JQuery和PHP结合实现动态进度条上传显示
2016/11/23 Javascript
Vue.js第一天学习笔记(数据的双向绑定、常用指令)
2016/12/01 Javascript
JS实现改变HTML上文字颜色和内容的方法
2016/12/30 Javascript
node.js入门教程之querystring模块的使用方法
2017/02/27 Javascript
浅谈JS获取元素的N种方法及其动静态讨论
2017/08/25 Javascript
Python基于hashlib模块的文件MD5一致性加密验证示例
2018/02/10 Python
解决Django数据库makemigrations有变化但是migrate时未变动问题
2018/05/30 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
Python PIL读取的图像发生自动旋转的实现方法
2019/07/05 Python
对Django url的几种使用方式详解
2019/08/06 Python
python 将dicom图片转换成jpg图片的实例
2020/01/13 Python
基于Tensorflow的MNIST手写数字识别分类
2020/06/17 Python
CSS3实现的炫酷菜单代码分享
2015/03/12 HTML / CSS
瑜伽服装品牌:露露柠檬(lululemon athletica)
2017/06/04 全球购物
波兰珠宝品牌:YES
2019/08/09 全球购物
业务助理岗位职责
2013/11/18 职场文书
房屋买卖协议书范本
2014/09/27 职场文书
2014年科研工作总结
2014/12/03 职场文书
红色故事汇观后感
2015/06/18 职场文书
前端实现滑动按钮AJAX与后端交互的示例代码
2022/02/24 Javascript