Flexible实现H5移动端适配小demo
前言
看了宇哥关于移动端适配的分享后,加上目前公司项目也需要做移动端适配,今天就抽空搞了搞。目前业界还是比较推崇手淘使用“rem+viewport”的解决方案,今天自己模仿手淘flexible的解决方案,实现了个简单的demo。
一句话总结
flexible动态获取设备宽度和dpr,为html元素添加两个属性:data-fontsize(设备宽度/10),data-dpr(安卓均为1,ios不同设备为2或3),同时设置meta标签的scale(1/dpr)。你只需要为需要适配的元素设置rem,为字体设置px(需要考虑不同的dpr)。
小demo
<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<meta content="yes" name="apple-mobile-web-app-capable">
		<meta content="yes" name="apple-touch-fullscreen">
		<meta content="telephone=no,email=no" name="format-detection">
		<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script>
		<link rel="apple-touch-icon" href="favicon.png">
		<link rel="Shortcut Icon" href="favicon.png" type="image/x-icon">
		<title>再来一波</title>
		<style type="text/css">
			.item-section{
				width: 10rem;
				margin: 0 auto;
			}
			img{
				width: 10rem;
			}
			[data-dpr="1"] .flag-title a{
				font-size: 14px;
			}
			[data-dpr="2"] .flag-title a{
				font-size: 28px;
			}
			[data-dpr="3"] .flag-title a{
				font-size: 42px;
			}
		</style>
	</head>
	<body>
		<div class="item-section" data-repeat="sections">
			<ul>
				<li data-repeat="items" class="flag" role="link" href="##">
					<a class="figure flag-item" href="##">
						<img src="https://placeimg.com/350/350/people/grayscale" alt="">
					</a>
					<div class="figcaption flag-item">
						<div class="flag-title"><a href="##" title="">Carter's1年式灰色长袖连体衣包脚爬服全棉鲸鱼男婴儿童装</a></div>
					</div>
				</li>
			</ul>
		</div>
	</body>
</html>
												
											Flexible实现H5移动端适配小demo的更多相关文章
- 手淘H5移动端适配方案flexible源码分析
		
移动端适配一直是一个值得探讨的问题,在业余时间我找了一些页面,查看了一些厂商对于移动端H5页面的适配方案,看到了几个典型的例子,今天就来记录一下我看到的第一个典型的例子,也是我们公司目前普通H5项目正 ...
 - 超详细讲解H5移动端适配
		
前言 移动互联网发展至今,各种移动设备应运而生,但它们的物理分辨率可以说是五花八门,一般情况UI会为我们提供375尺寸的设计稿,所以为了让H5页面能够在这些不同的设备上尽量表现的一致,前端工程师就不得 ...
 - H5 PWA技术以及小demo
		
H5 PWA技术 1.原生app优缺点 a.体验好.下载到手机上入口方便 b.开发成本高(ios和安卓) c.软件上线需要审核 d.版本更新需要将新版本上传到不同的应用商店 e.使用前需下载 2.we ...
 - 整理h5移动端适配方案
		
<使用Flexible实现手淘H5页面的终端适配>:https://github.com/amfe/article/issues/17 <再聊移动端页面的适配>:https:/ ...
 - h5 移动端适配方案思考
		
基础概念 CSS像素(CSS pixels) 这个是浏览器使用的抽象单位,用来精确度量网页上的内容.平时经常写的width:100px;height:100px;都是与设备无关的. 设备独立像素(de ...
 - H5移动端适配方案-rem
		
为什么移动端要适配: 由于移动设备的尺寸不一,所以移动端的页面要能够适应不同尺寸的设备,即页面的自适应,让页面在视觉上保持一致. rem:rem 是css3的一种相对单位,参考是根元素HMTL的fon ...
 - js+canvas(H5)实现小球移动小demo
		
*canvas提供画布,大小自定义,js得到画布,从画布对象通过getContext('2d')来得到画笔,然后就可以开始画了 代码: <!DOCTYPE html> <html l ...
 - H5移动端手势密码组件
		
项目简介 最近参加了2017年360前端星计划,完成了一个有趣的UI组件开发大作业,借机和大家分享一下移动端开发的技术啦~~ 本项目采用原生JS和Canvas实现移动端手势密码组件,支持手势密码设置和 ...
 - 使用Flexible适配移动端html页面 - demo记录
		
前段时间看了大神的博客文章[使用Flexible实现手淘H5页面的终端适配](地址:http://www.w3cplus.com/mobile/lib-flexible-for-html5-layou ...
 
随机推荐
- (转自MDN)CSS基础一定要看的包含块(containing block)
			
之前在写<个人常用的水平居中方法>这篇文章的时候,百分比问题涉及到了包含块(containing block)这个概念. 今天刷面试题的时候,又看到了containing block这个词 ...
 - 外部应用复制 表格 到word中 设置表格自适应
			
word 批量设置表格宽度自适应 描述 : 我们经常从 外部 如 excel,html 等其他文件 中复制的表格到word 文档 经常会出现在 word 中显示不全的问题 主要是源格式的表格 宽度比 ...
 - 数据分析03 /基于pandas的数据清洗、级联、合并
			
数据分析03 /基于pandas的数据清洗.级联.合并 目录 数据分析03 /基于pandas的数据清洗.级联.合并 1. 处理丢失的数据 2. pandas处理空值操作 3. 数据清洗案例 4. 处 ...
 - linux专题(八):用户组管理
			
http://dwz.date/UDf 每个用户都有一个用户组,系统可以对一个用户组中的所有用户进行集中管理.不同Linux 系统对用户组的规定有所不同,如Linux下的用户属于与它同名的用户组,这个 ...
 - Django框架02 /Django下载安装、url路由分发
			
Django框架02 /Django下载安装.url路由分发 目录 Django框架02 /Django下载安装.url路由分发 1. django下载安装 2. pycharm创建项目 3. 基于D ...
 - Python网络编程03 /缓存区、基于TCP的socket循环通信、执行远程命令、socketserver通信
			
Python网络编程03 /缓存区.基于TCP的socket循环通信.执行远程命令.socketserver通信 目录 Python网络编程03 /缓存区.基于TCP的socket循环通信.执行远程命 ...
 - 《你还在写sql语句吗?》人生苦短,进入MybatisPlus的丝滑体验
			
一.发展历程 依稀记得大学期间,类中写sql语句的日子,一个sql语句占据了大部分时间,到后来hibernate的出现算是解决了这一痛点.工作 后,我们又接触到了mybatis这样的框架,瞬间感觉这个 ...
 - bzoj4300绝世好题
			
bzoj4300绝世好题 题意: 给定一个长度为n的数列ai,求ai的子序列bi的最长长度,满足bi&bi-1!=0.n≤100000,ai≤10^9. 题解: 用f[i]表示当前二进制i为1 ...
 - maven自动创建项目目录骨架
			
方法一: 1:打开命令窗口 在要创建项目的路径下按住H2SIT ,然后点击右键 ,在弹出菜单中选择 在此处打开命令窗口(W) 2:目录创建 方法二:
 - 状态模式(c++实现)
			
状态模式 目录 状态模式 模式定义 模式动机 UML类图 源码实现 优点 缺点 模式定义 状态模式(state),当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类. 模式动机 状 ...