自适应 or 移动前端页面布局的问题?
说出来,还请各位看官不要笑 - -、哥们至今不是很清楚页面的自适应和移动前端页面开发有什么区别
。有幸哪位看官清楚这些的话,希望能不吝赐教
。
A.meta
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=0" />
不允许缩放
<meta name="format-detection" content="telephone=no"/>
IOS和Android系统默认超过5位的数字为电话号码,会给一个默认链接的样式,只能说丑。
<meta name="apple-mobile-web-app-capable" content="yes" />
删除默认的apple工具栏和菜单栏(或网站开启对 web app 程序的支持)
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
改变apple顶部状态条的颜色(或网站开启 web app 程序的支持后顶部状态条的颜色)
默认值为 default(白色),可以定为 black(黑色)和 black-translucent(灰色半透明)
若值为“black-translucent”将会占据页面px位置,浮在页面上方(会覆盖页面20px高度–iphone4和itouch4的Retina屏幕为40px)。
<meta content="email=no" name="format-detection" />
不识别邮箱
以上只是部分常用的meta,用哪个,还是自己选择为好,不过我一般就只写1一个不允许缩放的,其他都不写的。
B.media query
我认为media query其实就是对该页面的部分模块区域的再次重构,要考虑好在多大的分比率,页面如何呈现给用户。
一般的分辨率写这些:1024 -- 980 -- 960 -- 800 -- 768 -- 737 -- 668 -- 640 -- 480 -- 415 -- 376 -- 360 -- 320。其中737、668、415、376分别是iPhone 6 Plus、iPhone 6的横屏分辨率,以及iPhone 6 Plus、iPhone 6的竖屏分辨率。因此,你懂的。
可能有些人会说用不了这么多分辨率,但是我认为,要从公司所属行业,或说是从实际出发来考虑,我们公司是金融行业的,如果有一个分辨率的样式没有调整适应,恰恰某个潜在客户是这个分辨率的手持设备,那么就很可能流失这一个客户。
假如很少使用media query的小伙伴看到这些的话,可能会想,这肯定会写很多很多的样式,但是当你从1024写到320的时候,你就会发现,这么多分辨率适应下来,也就跟你原本的css差不了多少的,我自己感觉还是挺实惠的。不过我前几次用media query的时候,也是醉了,是从最小的320开始,慢慢写到1024。。那一串一串的样式。。全是泪。。
C.浏览器篇
简单粗暴的说,我最喜欢safari,和IE10/11;可以忍受的是微信/QQ的内置浏览器;勉强接受的是UC浏览器;直接忽略的是安卓系统自带的浏览器。
因为safari,和IE10/11,将允许的使用各种css3,以及html5元素;微信/QQ的内置浏览器,因为我很少用微信和手机QQ,所以,也就偶尔测试一下,样式跟前面两个相差不大;UC只要不是在云加速模式下的话,对样式的支持也还可以;安卓4.X自带的浏览器,我只能说,它最起码不知道是background-size/border-radius等,更多的,大家自己试试吧,哥们比较懒,忘性也比较大。。以前也没有记录东西的习惯。。导致,现在写东西都是笼统的。。。
D.js库的选择
jquery.js / jquery mobile / zepto.js,我推荐使用zepto.js,理由是体积小,专门针对移动端,用法与jquery基本一致。只是现在的项目情况,有点纠结,目前在考虑如何将jquery替换成zepto。
jquery更适合的是pc端,还是让它在pc上发挥出自己的真正实力吧。
jquery mobile,个人认为,功能太多,体积太大,因此不选择它。
E.事件的问题
touchstart 触摸开始(手指放在触摸屏上)
touchmove 拖动(手指在触摸屏上移动)
touchend 触摸结束(手指从触摸屏上移开)
touchcancel 在拖动中断时候触发。
gesturestart 当有两根或多根手指放到屏幕上的时候触发
gesturechange 当有两根或多根手指在屏幕上,并且有手指移动的时候触发
gestureend 当倒数第二根手指提起的时候触发
屏幕旋转事件:onorientationchange,只有4种状态0,-90,90,180,正常,左转/右转横屏,反转180度
function orientationChange() {
switch(window.orientation) {
case 0:
code;
break;
case -90:
code;
break;
case 90:
code;
break;
case 180:
code;
break;
};
};
以上是我常用的一些事件,使用之前要先绑定事件,如:$('#myDiv').on('touchstart',function(e){alert("触摸开始");});
或document.getElementById('myDiv')..addEventListener('touchstart',function () {alert("触摸开始");});
F.小提示
a,button,input{-webkit-tap-highlight-color: rgba(0,0,0,0);-webkit-tap-highlight-color: transparent;}
去掉手持设备点击时出现的透明层
这些元素在移动端浏览器里面,点击的时候,会出现一层半透明的灰色层,极其不美观,但是,目前我只知道这个,能隐藏到ios和安卓上面的半透明层,WP平台的暂时不知道,如果有知道的小伙伴,麻烦留下言,三克油~!
在此,还是希望有看官能够及时指点我这个菜鸟的移动端布局的各种迷津,先行谢过。
自适应 or 移动前端页面布局的问题?的更多相关文章
- 前端页面布局之Grid布局
在讲布局前,先说两句题外话,写博时,突然想到了郭德纲说过的一个段子“说两个人骂架,不是你有理,你嗓门大,你唾沫星子崩我一脸,你就能骂赢,要看谁命长,过两年你死了,我站你坟头咋说咋是对的,你在那小匣里还 ...
- ASP.NET MVC 搭建简单网站 --1.前端页面布局和基本样式实现
学技术这件事儿本来就是学习现有的东西,然后变成自己的,本文当然也是借鉴的别人的东西,写出来作为一个对知识的巩固. 1.网站用的是MVC模式,新建一个MVC项目,建立一个APP1Controller, ...
- vue- 项目之前端页面搭建1
项目分析 首页 导航.登录注册栏.轮播图.地板导航登录注册 选项卡免费课 课程分类.筛选.课程列表免费课详情 课程封面视频.优惠活动倒计时.选项卡我的购物车 全选.商品价格统计购买结算 购买成功 我的 ...
- 四: 使用vue搭建网站前端页面
---恢复内容开始--- 在搭建路由项目的时候的基本步骤 一:创建项目 安装好vue 搭好环境 (步骤在上篇博客中) 进入项目目录 cd 目录路径/ 目录名 创建项目 ...
- Web前端代码规范与页面布局
一. 规范目的: 为提高工作效率,便于后台人员添加功能及前端后期优化维护,输出高质量的文档,在网站建设中,使结构更加清晰,代码简明有序,有一个更好的前端架构,有利于SEO优化. 二. ...
- CSS3与页面布局学习总结(八)——浏览器兼容与前端性能优化
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
- CSS3与页面布局学习笔记(八)——浏览器兼容性问题与前端性能优化方案
一.浏览器兼容 1.1.概要 世界上没有任何一个浏览器是一样的,同样的代码在不一样的浏览器上运行就存在兼容性问题.不同浏览器其内核亦不尽相同,相同内核的版本不同,相同版本的内核浏览器品牌不一样,各种运 ...
- web前端(12)—— 页面布局2
本篇博文,主要就讲定位的问题,也就是页面布局里最重要的,本篇博文不出意外的话,也是css的最后一篇博文了 定位,position属性 定位有三种: 相对定位 绝对定位 固定定位 相对定位,positi ...
- python 之 前端开发(盒子模型、页面布局、浮动、定位、z-index、overflow溢出)
11.312 盒子模型 HTML文档中的每个元素都被比喻成矩形盒子, 盒子模型通过四个边界来描述:margin(外边距),border(边框),padding(内填充),content(内容区域),如 ...
随机推荐
- Sicily connect components in undirected graph
题目介绍: 输入一个简单无向图,求出图中连通块的数目. Input 输入的第一行包含两个整数n和m,n是图的顶点数,m是边数.1<=n<=1000,0<=m<=10000. 以 ...
- the smallest positive number
2520 is the smallest number that can be divided by each of the numbers from 1 to 10 without any rema ...
- Android中的四层架构,五块区域
1. Linux内核层Android系统是基于Linux 2.6内核的,这一层为Android设备的各种硬件提供了底层的驱动,如显示驱动.音频驱动.照相机驱动.蓝牙驱动.Wi-Fi驱动.电源管理等.2 ...
- MCS-51特殊功能寄存器(SPR)的C51定义
MCS - 51单片机中,除了程序计数器PC和4组工作寄存器组外,其它所有的寄存器均为特殊功能寄存器(SFR),分散在片内RAM区的高128字节中,地址范围为80H~0FFH.SFR中有11个寄存器具 ...
- 热爱工作 发财机会大增(这里不是选择软件还是硬件的问题,是自己的性格和追求的问题)——当你的老板不如你懂行的时候,还赚的盆满钵满的时候,你就可以考虑独立了 good
爱工作 发财机会大增 [ 油老板 ] 于:2011-02-09 06:39:41 复:1269077 认真回顾发主贴以来的三年半,俺觉得对于想发财的上班族来说,认真工作,刻苦钻研是发财的重要保证. 为 ...
- vbox端口转发
端口转发:setting->network->adapter:attached to NAT.port forwarding rules->name protocol ...
- COJ 0252 HDNOIP201304阻断传染
HDNOIP201304阻断传染 难度级别: A: 编程语言:不限:运行时间限制:1000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 H国有n个城市,n个城市用n ...
- orientationchange的兼容性
移动webapp监测屏幕旋转时常用onorientationchange事件,用此事件获取改变后的屏幕尺寸时需要注意: 1. iphone中,可立即获取改变后的屏幕尺寸. 2. android中,获取 ...
- c# 实现文件拖入和拖出(拖拽)
摘自:http://www.cnblogs.com/eaglet/archive/2009/01/06/1370149.html C# WinForm下一步一步实现文件的拖入和拖出 作者:Eaglet ...
- 【转】Mac访问Windows共享文件夹
相信大多数的用户用Windows访问Windows的共享文件夹是一件很容易的事,但是如果用Mac来访问Windows共享文件夹就会遇到很多的麻烦了,尤其是设置是比较有区别的吗,接下来的将用图文交大家怎 ...