简要了解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 相关文章推荐
javascript天然的迭代器
Oct 29 Javascript
js用typeof方法判断undefined类型
Jul 15 Javascript
JS控制弹出新页面窗口位置和大小的方法
Mar 02 Javascript
javascript比较两个日期相差天数的方法
Jul 24 Javascript
学习javascript面向对象 掌握创建对象的9种方式
Jan 04 Javascript
JavaScript比较当前时间是否在指定时间段内的方法
Aug 02 Javascript
js基础之DOM中元素对象的属性方法详解
Oct 28 Javascript
浅谈JavaScript中的apply/call/bind和this的使用
Feb 26 Javascript
H5图片压缩与上传实例
Apr 21 Javascript
微信小程序之页面拦截器的示例代码
Sep 07 Javascript
VueJs监听window.resize方法示例
Jan 17 Javascript
Vue.js中的computed工作原理
Mar 22 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数组函数序列 之shuffle()和array_rand() 随机函数使用介绍
2011/10/29 PHP
PHP中的Memcache详解
2014/04/05 PHP
php实现的微信红包算法分析(非官方)
2015/09/25 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
2016/05/27 PHP
简单谈谈PHP面向对象之标识对象
2017/06/27 PHP
深入解析PHP底层机制及相关原理
2020/12/11 PHP
js动态在form上插入enctype=multipart/form-data的问题
2012/05/24 Javascript
JS 加入收藏夹的代码(主流浏览器通用)
2013/05/13 Javascript
JS文本框追加多个下拉框的值的简单实例
2013/07/12 Javascript
JavaScript的各种常见函数定义方法
2014/09/16 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
简单谈谈Javascript中类型的判断
2015/10/19 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
JavaScript知识点总结(十一)之js中的Object类详解
2016/05/31 Javascript
微信小程序 wx.request(接口调用方式)详解及实例
2016/11/23 Javascript
Vuejs 用$emit与$on来进行兄弟组件之间的数据传输通信
2017/02/23 Javascript
原生JS实现 MUI导航栏透明渐变效果
2017/11/07 Javascript
用React-Native+Mobx做一个迷你水果商城APP(附源码)
2017/12/25 Javascript
Node.js中的child_process模块详解
2018/06/08 Javascript
Echarts动态加载多条折线图的实现代码
2019/05/24 Javascript
解决vue单页面应用中动态修改title问题
2019/06/09 Javascript
layUI实现三级导航菜单效果
2019/07/26 Javascript
浅析vue-router实现原理及两种模式
2020/02/11 Javascript
Python中的zipfile模块使用详解
2015/06/25 Python
深入解析Python中的__builtins__内建对象
2016/06/21 Python
浅谈Scrapy框架普通反爬虫机制的应对策略
2017/12/28 Python
python爬虫自动创建文件夹的功能
2018/08/01 Python
使用TensorFlow对图像进行随机旋转的实现示例
2020/01/20 Python
通过实例了解python__slots__使用方法
2020/09/14 Python
CSS3属性使网站设计增强同时不消弱可用性
2009/08/29 HTML / CSS
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
夏威夷灵感服装及配饰:Reyn Spooner
2018/09/18 全球购物
机关领导干部作风整顿整改措施
2014/09/19 职场文书
毕业生就业推荐表导师评语
2014/12/31 职场文书
确保减税降费落地生根,用实实在在措施
2019/07/19 职场文书
Maven学习----Maven安装与环境变量配置教程
2021/06/29 Java/Android