简要了解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 相关文章推荐
PJBlog插件 防刷新的在线播放器
Oct 25 Javascript
用CSS+JS实现的进度条效果效果
Jun 05 Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
JQuery获取或设置ckeditor的数据(示例代码)
Nov 15 Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 Javascript
详解JavaScript设计模式开发中的桥接模式使用
May 18 Javascript
jQuery动态添加可拖动元素完整实例(附demo源码下载)
Jun 21 Javascript
响应式表格之固定表头的简单实现
Aug 26 Javascript
浅谈Node.js轻量级Web框架Express4.x使用指南
May 03 Javascript
jQuery遮罩层实例讲解
May 11 jQuery
原生JS实现网页手机音乐播放器 歌词同步播放的示例
Feb 02 Javascript
Redux实现组合计数器的示例代码
Jul 04 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加密解密类实例代码
2016/07/20 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
php使用redis的有序集合zset实现延迟队列应用示例
2020/02/20 PHP
jQuery判断checkbox是否选中的3种方法
2014/08/12 Javascript
node.js中的events.emitter.once方法使用说明
2014/12/10 Javascript
jquery实现可横向和竖向展开的动态下滑菜单效果
2015/08/24 Javascript
Jqgrid之强大的表格插件应用
2015/12/02 Javascript
JS组件Bootstrap Table表格行拖拽效果实现代码
2020/08/27 Javascript
ionic js 复选框 与普通的 HTML 复选框到底有没区别
2016/06/06 Javascript
微信小程序 配置文件详细介绍
2016/12/14 Javascript
详解jQuery事件
2017/01/13 Javascript
JavaScript实现获取远程的html到当前页面中
2017/03/26 Javascript
Bootstrap.css与layDate日期选择样式起冲突的解决办法
2017/04/07 Javascript
Vue项目部署的实现(阿里云+Nginx代理+PM2)
2019/03/26 Javascript
Python单体模式的几种常见实现方法详解
2017/07/28 Python
在pandas中一次性删除dataframe的多个列方法
2018/04/10 Python
Selenium 模拟浏览器动态加载页面的实现方法
2018/05/16 Python
Python实现端口检测的方法
2018/07/24 Python
python批量修改图片后缀的方法(png到jpg)
2018/10/25 Python
使用python读取.text文件特定行的数据方法
2019/01/28 Python
Python 正则表达式 re.match/re.search/re.sub的使用解析
2019/07/22 Python
Python测试模块doctest使用解析
2019/08/10 Python
Python压缩模块zipfile实现原理及用法解析
2020/08/14 Python
微信浏览器左上角返回按钮拦截功能
2017/11/21 HTML / CSS
Nordgreen英国官网:斯堪的纳维亚设计师手表
2018/10/24 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
如何获取某个日期是当月的最后一天
2013/12/05 面试题
大学生开西餐厅创业计划书
2014/02/01 职场文书
优秀应届毕业生推荐信
2014/02/18 职场文书
小学学雷锋活动总结
2014/04/25 职场文书
捐助贫困学生倡议书
2014/05/16 职场文书
工作年限证明模板
2014/11/01 职场文书
作文评语怎么写
2014/12/25 职场文书
孕妇病假条怎么写
2015/08/17 职场文书
单位提档介绍信
2015/10/22 职场文书
手把手教你使用TensorFlow2实现RNN
2021/07/15 Python