自适应 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(内容区域),如 ...
随机推荐
- 转:Gulp的目标是取代Grunt
原文来自于:http://www.infoq.com/cn/news/2014/02/gulp Fractal公司积极参与了数个流行Node.js模块的开发,它最近发布了一个新的构建系统gulp,希望 ...
- Codeforces 23E Tree
http://codeforces.com/problemset/problem/23/E 题意:给一个树,求砍断某些边,使得所有联通块大小的乘积最大.思路:f[i][j]代表当前把j个贡献给i的父亲 ...
- Toast——提醒方式
Toast是Android系统提供的一种非常好的提醒方式,在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间,我们现在就尝试一下如何在活动中使用To ...
- Xamarin.Forms-webservices访问
虽然xamarin.android/ios 均支持右键添加web引用方式引用webservices,但是xamarin.forms不支持此方式,而如果android/ios各做一套采用抽象方式实现则工 ...
- 深入理解JavaScript Hijacking原理
最近在整理关于JavaScript代码安全方面的资料,在查关于JavaScript Hijacking的资料时,发现关于它的中文资料很少,故特意整理一下. 一.JavaScript Hijacking ...
- 找到 OSChina 早上 8 点钟容易宕机的原因 ?
最近一段时间,OSChina 网站在早上 8 点出头的时候很容易因为数据库连接池爆满而导致网站宕机.表现的情况是数据库处理大量的查询,堆积大量并发连接,导致无法再连接到数据库,执行一个简单的查询速度也 ...
- El表达式和fn函数一起使用
如下: ${a%1>0?a:(fn:substringBefore(a, "."))}
- 【转】在Ubuntu 12.04 上为Virtualbox 启用USB 设备支持--不错
原文网址:http://www.cnblogs.com/ericsun/archive/2013/06/10/3130679.html 虚拟机我一直在用,不是说离不开Windows,而是有些时候一些应 ...
- [LeetCode] 57. Insert Interval 解决思路
Given a set of non-overlapping intervals, insert a new interval into the intervals (merge if necessa ...
- openwrt上网配置的一些理解(四)
这次要解决的问题是3g上网和wan口上往可以随意切换,当然能够叠加也是好事,不过这不是我关心的.下面还是修改3个文件network,firewall,multiwan.首先在network中加入界面配 ...