css3之移动平台资源
随着移动端越来越普及,前端技术也是百花齐放,但目前移动平台的技术已经趋向于成熟,记得刚实习的时候就是接触的移动端,但现在2年多来,期间遇到了很多莫名其妙的问题,见证了手机用户量的突飞猛进,兴喜的是更多的人能见识到自己做的东西,这也是我一直一来的动力,当然也迎来了前所未有的挑战,机型层出不穷,比如OV一个月迭代一次的速度,也是比较可怕的。
下面列举一下一些常用问题的调整技巧:
safari浏览器下
去掉input输入框半阴影效果(这是IOS的默认样式):
input{-webkit-appearance:none;}
链接图片禁止触发长按回调:
.css {
-webkit-touch-callout: none;
}
去掉元素点击半透明边框:
.css {
-webkit-tap-highlight-color: transparent;
}
表单内容禁止选中:
.css {
user-select: none;
-webkit-user-select: none;
-ms-user-select: none;
-moz-user-select: none;
}
表单内容禁止拖放:
.css {
-webkit-user-drag: none;
}
修改placeholder颜色:
input::-webkit-input-placeholder {
color: #999999;
}
去掉android输入框的语音键:
input::-webkit-input-speech-button {
display: none;
}
去掉input输入框首字母大写的问题:
<input autocapitalize="off" autocorrect="off" />
去掉input输入框自动填充的问题(密码输入框,验证码输入框):
<input autocomplete="false"/>
input数字键盘唤起(iOS无小数点,android有,需要非法输入校验):
<input type="text" pattern="[0-9]*">
去掉input获取焦点高亮:
input:focus {
outline: none;
}
去掉textarea右下角小箭头:
textarea {
resize: none;
}
拍照摄影功能:
<input type="file" capture="camera" accept="image/*">
<input type="file" accept="video/*">
微信浏览器字体颜色改不了:
.css {
-webkit-text-fill-color: #999999;
}
滚动不流畅:
.css {
-webkit-overflow-scrolling: touch;
overflow-scrolling: touch;
}
硬件加速:
.css {
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
Android webview上默认data-dpr="1",这是因为android手机普遍采用LCD屏,
但实际dpr可能不止是1,大部分是2,也可能是3,屏幕尺寸却还是一倍图尺寸
iOS webview上默认data-dpr="2"或者data-dpr="3",这是因为iOS普遍采用高清屏,
实际dpr就是data-dpr的值,屏幕尺寸为dpr值 X 1倍图尺寸
这里对DPR倍图适配的媒体查询上要有所区别,data-dpr只能是对屏幕是否为高清屏做区分,而对LCD屏的划分不是很准确,首先对于iOS的适配肯定是需要DPR做倍图划分的,而iPhoneX Retina屏的出现导致DPR的值是无法准确估计的,因此iOS适配上采用最小DPR去适配效果会好一些,而Android上各个LCD屏幕最大的DPR都是固定的,因此iOS和Android的媒体查询区别如下:
//android
@media only screen and (-webkit-max-device-pixel-ratio: @dpr) { }
//ios
@media only screen and (-webkit-min-device-pixel-ratio: @dpr) { }
当然另外一个有意思的地方是Android上部分机型可以适配非公开属性-webkit-device-pixel-ratio,对应的值为-webkit-max-device-pixel-ratio
css3之移动平台资源的更多相关文章
- HTMl5/CSS3/Javascript 学习推荐资源
HTMl5/CSS3/Javascript 学习推荐资源 前端的定义应该是数据内容的展示,在国内大家都觉得前端只是HTML+CSS+Javascript,但是实际上与展示有关的都是前端,所以Ruby/ ...
- Unity3d各平台资源路径文件夹
之前一直是PC项目,公司终于考虑移动平台了,但是试验了几把,感觉移动平台资源管理路径还是有很多隐藏的注意事项. 比如在PC上可以做到随便读写,但是在移动平台就涉及到权限问题. 看到小伙伴的总结,还是要 ...
- 10 个轻松学会 CSS3 的优秀在线资源
本文包揽 CSS 的所有关键点,并且引入了最新的 CSS3 版本.这个先进的技术提供超级多的新标签和属性,使得 Web 设计构建创新更简单,帮助开发者创建具有新趋势,带有漂亮布局的 Web 页面.随着 ...
- PaaS平台资源
http://www.vagrantup.com/ http://www.docker.com/
- openStack telemetry/ceilometry 云平台资源监控度量
- 云平台资源挂盘办法V1.2
一.优先使用mount 方式进行挂盘,记得使用sync参数,如果对方网络限制了445端口,我们被迫采用第二种办法. mount -t cifs -o sync,username='Administra ...
- 使用 Velero 跨云平台迁移集群资源到 TKE
概述 Velero 是一个非常强大的开源工具,可以安全地备份和还原,执行灾难恢复以及迁移Kubernetes群集资源和持久卷,可以在 TKE 平台上使用 Velero 备份.还原和迁移集群资源,关于如 ...
- CSS3字体模块
介绍 字体提供了包含字符的视觉表现的资源.在最简单的等级中,其包含由字符编码到表示这些字符的形状(被称为字形)的映射信息.根据一组标准字体属性被分入一个字体家族的字体共享一个通用设计风格.在一个家族中 ...
- WEB前端资源集(二)
在上一篇为大家整理出了一些资源网站,接下来给大家整理了一些开发中常用的工具. 开发工具篇 开发工具集 Sublime Text 3:SublimeText 3是一个代码编辑器,也是HTML和散文先进的 ...
随机推荐
- CENSORING——AC 自动机
题目 [题目描述] FJ 为它的奶牛订阅了很多杂志,balabala.......,其中有一些奶牛不宜的东西 (比如如何煮牛排). FJ 将杂志中所有的文章提取出来组成一个长度最多为 $ 10^5 $ ...
- [51nod1188]最大公约数之和 V2(筛法)
题面 传送门 题解 口胡的整除分块单次询问\(O(\sqrt{n})\)的做法居然\(T\)了?那还是好好看正解吧-- 首先我们枚举\(j\),求对于每个\(j\)有所有\(i<j\)的\(\g ...
- centos7安装配置时间服务器
前言: 时间服务器是S/C模型服务,需要配置服务端和客户端 NTP服务端配置:(服务端的IP为1.1.1.14)安装ntp服务:# yum -y install ntp查询网络中的NTP服务器:# n ...
- Codeforces Round #533 (Div. 2)题解
link orz olinr AK Codeforces Round #533 (Div. 2) 中文水平和英文水平都太渣..翻译不准确见谅 T1.给定n<=1000个整数,你需要钦定一个值t, ...
- python依赖文件的生成requirement.txt
移到你的环境中 pip freeze > requirement.txt
- HashMap 1.8的源码分析二
hashmap的构造方法: public HashMap(int initialCapacity, float loadFactor) { ) throw new IllegalArgumentExc ...
- leecode第三题(无重复字符的最长子串)
class Solution { public: int lengthOfLongestSubstring(string s) { int len=s.size(); ||len==)//边界 ret ...
- 【Leetcode】Largest Rectangle in Histogram
Given n non-negative integers representing the histogram's bar height where the width of each bar is ...
- Linux安装与分区解释
Linux安装过程中最重要的就是对硬盘进行分区: Linux是先建立一个根目录“/”,然后在根目录上建立一系列的空目录,接着把硬盘分区挂载到相应目录上. 在linux系统中至少必须有两个挂载点(磁盘分 ...
- git学习--更新本地仓库单独文件
命令: git checkout origin/dev .gitignore 从远端 dev 仓库,更新本地签出分支的 .gitignore 文件