简要了解jQuery移动web开发的响应式布局设计


Posted in Javascript onDecember 04, 2015

响应式布局设计是根据用户设备的屏幕分辨率来响应用户设备的一种设计。这意味着,无论用户是在移动、平板还是桌面设备上浏览 Web 页面,设计都将根据该设备的屏幕分辨率显示特定的布局,从而适当地响应设备。

该框架的文档实际上结合使用了 jQuery Mobile 框架和 CSS3 媒体查询来实现自己的响应式设计。对不同屏幕分辨率的反应方式。

没有自定义样式,我们的电网将3列的布局在所有的屏幕宽度:

简要了解jQuery移动web开发的响应式布局设计

在我们的自定义样式,我们希望此网格叠加在狭窄的宽度,然后切换到一个标准的3栏布局。在很宽的屏幕宽度,我们希望第一列占用50%的宽度,这样:

简要了解jQuery移动web开发的响应式布局设计

为了实现这样,我们需要自定义一个新的类名称,比如“my-breakpoint”。
这个类用于范围的风格在自定义媒体查询,他们将只适用于当这类添加到网格容器。传媒查询包裹我们只想50em应用以下条件的风格。
在你的媒体查询,使用EM单元代替像素点以确保媒体查询将字体大小考虑除了屏幕宽度。计算在EMS屏幕宽度,将像素的目标宽度的16,这是body的默认字体大小。

HTML5部分:

<div class="ui-grid-b my-breakpoint">
 <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 -->

CSS3部分:

@media all and (max-width: 50em) {
 .my-breakpoint .ui-block-a, 
 .my-breakpoint .ui-block-b, 
 .my-breakpoint .ui-block-c,
 .my-breakpoint .ui-block-d,
 .my-breakpoint .ui-block-e { 
  width: 100%; 
  float:none; 
 }
}

在这个媒体查询,我们设置宽为100%和否定浮动属性,50em屏幕宽度。这些规则适用于每一个网格类型由堆放选择器网格的所有类ui-block-a到ui-block-e的风格。
那是使网格的响应和添加额外的样式规则,每个断点改变起来更容易。我们鼓励您创建多个定制的断点,你需要根据你独特的内容和布局的需要。

添加一个宽屏断点调整比率

基于上面的例子,我们可以添加一个额外的断点将宽度以使第一列的宽度为50%,其他两个25%以上75em(1200像素)由额外的最小宽度媒体查询来调整宽度在自定义风格就这样:

@media all and (min-width: 75em) {
 .my-breakpoint.ui-grid-b .ui-block-a { width: 49.95%; }
 .my-breakpoint.ui-grid-b .ui-block-b, 
 .my-breakpoint.ui-grid-b .ui-block-c { width: 24.925%; }
 .my-breakpoint.ui-grid-b .ui-block-a { clear: left; }
 }
}

注意:稍窄的宽度设置为工作在四舍五入问题的跨平台。

应用自定义断点 ui-responsive

使用此预设断点,添加 ui-responsive 类到网格容器,将堆叠呈现以下560px(35em)。如果这个断点的工作不适合你的内容,我们鼓励你写一个自定义的断点如上所述。

<div class=" ui-grid-b ui-responsive ">

这些都是标准的网格是由 ui-responsive(界面反应,自定义类,如上例子my-breakpoint)的作出响应类网格容器

示例:

<!doctype html>
<html lang="en">
<head>
 <meta charset="utf-8">
 <meta name="viewport" content="width=device-width, initial-scale=1">
 <title>responsive-grid 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>
 <style>
  @media all and (max-width: 35em) {
  .my-breakpoint .ui-block-a, 
  .my-breakpoint .ui-block-b, 
  .my-breakpoint .ui-block-c,
  .my-breakpoint .ui-block-d,
  .my-breakpoint .ui-block-e { 
   width: 100%; 
   float:none; 
  }
 }
 
 @media all and (min-width: 45em) {
  .my-breakpoint.ui-grid-b .ui-block-a { width: 49.95%; }
  .my-breakpoint.ui-grid-b .ui-block-b, 
  .my-breakpoint.ui-grid-b .ui-block-c { width: 24.925%; }
 }
 </style>
</head>
<body>
 
<div data-role="page">
 <div data-role="header">
  <h1>Responsive Grid Example</h1>
 </div>
 <div data-role="content">
  <div class="ui-grid-b my-breakpoint">
   <div class="ui-block-a"><div class="ui-body ui-body-d">Block A</div></div>
   <div class="ui-block-b"><div class="ui-body ui-body-d">Block B</div></div>
   <div class="ui-block-c"><div class="ui-body ui-body-d">Block C</div></div>
  </div>
</div>
 
</body>
</html>

简要了解jQuery移动web开发的响应式布局设计

Javascript 相关文章推荐
Jquery ajax传递复杂参数给WebService的实现代码
Aug 08 Javascript
easyui导出excel无法弹出下载框的快速解决方法
Nov 10 Javascript
jQuery实现标签页效果实战(4)
Feb 08 Javascript
Bootstrap3下拉菜单的实现
Feb 22 Javascript
Angular中自定义Debounce Click指令防止重复点击
Jul 26 Javascript
基于vue-cli vue-router搭建底部导航栏移动前端项目
Feb 28 Javascript
JavaScript实现简单的文本逐字打印效果示例
Apr 12 Javascript
详解在Node.js中发起HTTP请求的5种方法
Jan 10 Javascript
Angular封装搜索框组件操作示例
Apr 25 Javascript
vue中利用Promise封装jsonp并调取数据
Jun 18 Javascript
layer.open的自适应及居中及子页面标题的修改方法
Sep 05 Javascript
vue实现移动端input上传视频、音频
Aug 18 Javascript
jQuery1.9.1源码分析系列(十六)ajax之ajax框架
Dec 04 #Javascript
jQuery使用$.ajax进行异步刷新的方法(附demo下载)
Dec 04 #Javascript
Jquery1.9.1源码分析系列(十五)动画处理之外篇
Dec 04 #Javascript
写给小白的JavaScript引擎指南
Dec 04 #Javascript
jQuery实现ajax调用WCF服务的方法(附带demo下载)
Dec 04 #Javascript
jQuery旋转木马式幻灯片轮播特效
Dec 04 #Javascript
jQuery中cookie插件用法实例分析
Dec 04 #Javascript
You might like
php zend 相对路径问题
2009/01/12 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
2011/09/25 PHP
分享一段php获取linux服务器状态的代码
2014/05/27 PHP
Yii2框架自定义类统一处理url操作示例
2019/05/25 PHP
fix-ie5.js扩展在IE5下不能使用的几个方法
2007/08/20 Javascript
jQuery拖动图片删除示例
2013/05/10 Javascript
javascript 数字格式化输出的实现代码
2013/12/10 Javascript
Bootstrap精简教程
2015/11/27 Javascript
JavaScript定时器实现的原理分析
2016/12/06 Javascript
vue 2.0组件与v-model详解
2017/03/27 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
layui分页效果实现代码
2017/05/19 Javascript
基于AngularJS实现表单验证功能
2017/07/28 Javascript
仿京东快报向上滚动的实例
2017/12/13 Javascript
关于HTTP传输中gzip压缩的秘密探索分析
2018/01/12 Javascript
原生JS实现瀑布流插件
2018/02/06 Javascript
JS中的事件委托实例浅析
2018/03/22 Javascript
详解如何解决vue开发请求数据跨域的问题(基于浏览器的配置解决)
2018/11/12 Javascript
element ui table(表格)实现点击一行展开功能
2018/12/04 Javascript
Windows系统下使用flup搭建Nginx和Python环境的方法
2015/12/25 Python
Python单链表简单实现代码
2016/04/27 Python
Python简单的制作图片验证码实例
2017/05/31 Python
python整合ffmpeg实现视频文件的批量转换
2019/05/31 Python
Python中如何引入第三方模块
2020/05/27 Python
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
美国职棒大联盟的官方手套、球和头盔:Rawlings
2020/02/15 全球购物
SK-II神仙水美国官网:SK-II美国
2020/02/25 全球购物
优秀村官事迹材料
2014/01/10 职场文书
大学校运会广播稿
2014/02/03 职场文书
派出所所长先进事迹
2014/05/19 职场文书
实习护士自荐信
2014/06/21 职场文书
校园元旦活动总结
2014/07/09 职场文书
合作协议书模板
2014/10/10 职场文书
小学生优秀评语
2014/12/29 职场文书
教师个人工作总结范文2015
2015/10/14 职场文书
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python