自适应 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(内容区域),如 ...
随机推荐
- Qt入门(1)——初识Qt
Qt是一个跨平台C++图形用户界面应用程序开发框架.它既可以开发GUI程序,也可用于开发非GUI程序,比如控制台工具和服务器.Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta ...
- cf500C New Year Book Reading
C. New Year Book Reading time limit per test 2 seconds memory limit per test 256 megabytes input sta ...
- Angular.js VS. Ember.js:谁将成为Web开发的新宠?
这篇博文陈述的非常好,比较全面的剖析了Angular.js与Ember.js,下面的链接,供学习与参考: http://www.csdn.net/article/2013-09-09/2816880- ...
- hdu1693:eat trees(插头dp)
题目大意: 题目背景竟然是dota!屠夫打到大后期就没用了,,只能去吃树! 给一个n*m的地图,有些格子是不可到达的,要把所有可到达的格子的树都吃完,并且要走回路,求方案数 题解: 这题大概是最简单的 ...
- velocity自定义动画
话说好久没有写博客了,零星的整理了一些东西,没有形成系统,所以也没有在这里记录. 废话不多说了,进入今天的正题.不知道大家是否记得之前写过的一篇文章<制作炫酷的专题页面& ...
- JVM内存堆布局图解分析
JAVA能够实现跨平台的一个根本原因,是定义了class文件的格式标准,凡是实现该标准的JVM都能够加载并解释该class文件,据此也可以知道,为啥Java语言的执行速度比C/C++语言执行的速度要慢 ...
- cocos2d-x游戏开发(十七)NDK+ant编译暗黑世界
个人原创,欢迎转载http://blog.csdn.net/dawn_moon/article/details/12308967 9秒论坛的客户端暗黑世界,ios已经跑过了,今天搞了一下安卓的,记录一 ...
- windows下定时利用bat脚本实现ftp上传和下载
前言: 工作中可能会遇到以下情况,利用windows作为中转,来实现两台linux服务器的文件传输. 实现步骤: 1.FTP上传和下载的bat脚本. 脚本分为两部分:可执行bat脚本和ftp命令文件: ...
- 远程连接mysql,mysql如何开启远程连接
很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...
- Linux编程环境介绍(2) -- shell(Bash) 介绍
1. 在计算机科学中,Shell俗称壳(用来区别于核),是指“提供使用者使用界面”的软件(命令解析器).它类似于DOS下的command和后来的cmd.exe. 2. bash (Bourne Aga ...