自适应 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(内容区域),如 ...
随机推荐
- 小脚本一则---CDH的批量部署中,如果是从ESXI的VCENTER的模板生成的虚拟机,如何快速搞定网络网络卡配置?
当然,在作模板的过程中,我们除了要定义好SELINUX,IPTABLES之后, HOSTS文件维护,用ZOOKEEPER还是RSYNC实现? 都要在前期好好规划.. 脚本如下,一般改成自己的就可以用. ...
- drawBitmapMesh方法关键参数的说明
bitmap:指定需要扭曲的源位图.meshWidth:该参数控制在横向上把该源位图划分成多少格.meshHeight:该参数控制在纵向上把该源位图划分成多少格.verts:该参数是一个长度为(mes ...
- Oracle实例与Oracle数据库
数据库实例是用于和操作系统进行联系的标识,也就是说数据库和操作系统之间的交互使用的是数据库实例. 数据库实例名(instance_name) 实例名也被写入参数文件中,该参数为instance_nam ...
- Windows服务器Pyton辅助运维--01.自动Copy文件(文件夹)到远程服务器所在目录
Windows服务器Pyton辅助运维 01.自动Copy文件(文件夹)到远程服务器所在目录 开发环境: u Web服务器: Windows Server 2008 R2 SP1 IIS 7.5 u ...
- ACM2114_S[I](1^3+2^3+3^3)
#include<iostream> using namespace std; int main() { __int64 n,m,i,j,sum; while(cin>>n) ...
- weblogic迁移随手记
新建域的脚本weblogic 登录缓慢监听地址的修改,hosts修改vim +/securerandom /usr/java/jdk1.7.0_71/jre/lib/security/java.se ...
- Bootstrap--导航元素
1.标签形导航 2.胶囊型导航: 3.垂直堆叠形导航: 4.导航加下拉菜单: 5.导航列表: 6.可切换的标签导航:
- js-权威指南学习笔记4
第五章 语句 1.在JS中没有块级作用域,在语句块中声明的变量并不是语句块私有的. 2.尽管函数声明语句和函数定义表达式具有相同的函数名,但二者仍然不同.两种方式都创建了新的函数对象,但函数声明语句中 ...
- 继承PictureBox显示GIF的自定义控件实现
处理GIF部分 using System; using System.Collections.Generic; using System.Linq; using System.Text; using ...
- POJ 1637 混合图求欧拉回路 最大流实现
前面讲过了无向图,有向图求欧拉回路,欧拉通路的做法.可以直接根据度数来判断,当然前提是这是一个连通图. 这道题既有无向边,又有有向边,然后求欧拉回路. 采用的方法是最大流. 具体处理方法. 首先,我们 ...