简要了解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 相关文章推荐
setInterval,setTimeout与jquery混用的问题
Apr 08 Javascript
jquery实现动态菜单的实例代码
Nov 28 Javascript
JQuery实现带排序功能的权限选择实例
May 18 Javascript
谈谈我对JavaScript原型和闭包系列理解(随手笔记8)
Dec 24 Javascript
js canvas实现QQ拨打电话特效
May 10 Javascript
React-Native之定时器Timer的实现代码
Oct 04 Javascript
jQuery层叠选择器用法实例分析
Jun 28 jQuery
微信公众号平台接口开发 菜单管理的实现
Aug 14 Javascript
vue2.x 对象劫持的原理实现
Apr 19 Javascript
JavaScript中ES6规范中let和const的用法和区别
Aug 06 Javascript
antd vue table跨行合并单元格,并且自定义内容实例
Oct 28 Javascript
vue内置组件keep-alive事件动态缓存实例
Oct 30 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学习笔记之三 数据库基本操作
2011/01/17 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
PHP创建单例后台进程的方法示例
2017/05/23 PHP
PHP机器学习库php-ml的简单测试和使用方法
2017/07/14 PHP
PHP排序算法之快速排序(Quick Sort)及其优化算法详解
2018/04/21 PHP
windows环境下使用Composer安装ThinkPHP5
2018/05/18 PHP
基于jquery的Repeater实现代码
2010/07/17 Javascript
jQuery Tips 为AJAX回调函数传递额外参数的方法
2010/12/28 Javascript
基于jquery的blockui插件显示弹出层
2011/04/14 Javascript
extjs ColumnChart设置不同的颜色实现代码
2013/05/17 Javascript
Javascript WebSocket使用实例介绍(简明入门教程)
2014/04/16 Javascript
AngularJS中如何使用$parse或$eval在运行时对Scope变量赋值
2016/01/25 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
简单实现的JQuery文本框水印插件
2016/06/14 Javascript
浅谈JS之iframe中的窗口
2016/09/13 Javascript
JavaScript中for循环的几种写法与效率总结
2017/02/03 Javascript
从零学习node.js之模块规范(一)
2017/02/21 Javascript
Node.js Express安装与使用教程
2018/05/11 Javascript
解决vue cli4升级sass-loader(v8)后报错问题
2020/07/30 Javascript
vuex中遇到的坑,vuex数据改变,组件中页面不渲染操作
2020/11/16 Javascript
[01:14]TI珍贵瞬间系列(六):冠军
2020/08/30 DOTA
python实现自动重启本程序的方法
2015/07/09 Python
python实现文本界面网络聊天室
2018/12/12 Python
卡拉威高尔夫官方网站:Callaway Golf
2020/09/16 全球购物
澳大利亚著名的纺织品品牌:Canningvale
2020/05/05 全球购物
招商业务员岗位职责
2013/12/16 职场文书
工地资料员岗位职责
2013/12/31 职场文书
爱国演讲稿400字
2014/05/07 职场文书
房产授权委托书范本
2014/09/22 职场文书
执法作风整顿剖析材料
2014/10/11 职场文书
2014村党支部书记党建工作汇报材料
2014/11/02 职场文书
保研专家推荐信范文
2015/03/25 职场文书
研究生论文答辩开场白
2015/05/27 职场文书
2016五一劳动节慰问信
2015/11/30 职场文书
python编程项目中线上问题排查与解决
2021/11/01 Python
使用vue判断当前环境是安卓还是IOS
2022/04/12 Vue.js