移动端(视口(meta),像素比,二倍图(图片,背景图,精灵图),css初始化(normalize.css),特殊样式,常见屏幕尺寸)
1. 视口:(布局视口(layout viewport),视觉视口(visual viewport),理想视口(ideal viewport))
- meta 视口标签 <meta name = "viewport" content = “ width = device-width,user-scalable = no,initial-scale = 1.0,maximum-scale = 1.0,minimum-scale = 1.0”
- width:宽度设置的是 viewport 宽度,可以设置 device-width(设备宽度)特殊值
- user-scalable:用户是否可以缩放,yes 或者 no(1 或者 0)
- initial-scale:初始缩放比,大于 0 的数字
- maximum-scale:最大缩放比,大于 0 的数字
- minimum-scale:最小缩放比,大于 0 的数字
标准的 viewport 设置
- 视口宽度和设备保持一致
- 视口的默认缩放比例1.0
- 不允许用户自行缩放
- 最大允许的缩放比例1.0
- 最小允许的缩放比例1.0
2. 物理像素 & 物理像素比
- 物理像素点指的是屏幕显示的最小颗粒(也就是我们说的分辨率),是物理真实存在的,这是厂商在出厂时就设置好的,比如苹果6/7/8 是750*1334
- 开发时的 1px 不一定等于 1个物理像素的
- PC端页面,1个px 等于 1个物理像素,但是移动端就不尽相同
- 一个px的能显示的物理像素点的个数,称为物理像素比或者屏幕像素比
- 在移动端大多数 1px 开发像素 = 2个物理像素
3. 图片,背景图片,精灵图的二倍图
3.1 二倍图片做法
- 需要一个50*50像素( css 像素)的图片 直接放到 移动端页面里面 会放大2倍 100*100 就会模糊
- 放一个 100*100 的图片,然后手动的把图片样式缩小为 50*50( css像素 )
- 移动端 准备的图片 比我们实际需要的大小 大2倍,这种方式就是 2倍图
3.2 二倍背景图做法
- 有一个 50*50的盒子需要一个背景图片,但是根据分析这个图片 还是要准备2倍,100*100
- 需要把这个背景图片缩小一半,也就是50*50 background-size:宽度 高度;
3.3 二倍精灵图做法
- 先把精灵图等比例缩放为原来的一半
- 之后根据大小测量坐标
- 注意代码里面 background-size 也要写:精灵图原来宽度的一半
4. css初始化 normalize.css
移动端 CSS 初始化推荐使用 normalize.css
normalize.css:保护了有价值的默认值,修复了浏览器的bug,是模块化的,拥有详细的文档
官网地址:http://necolas.github.io/normalize.css/
4.特殊样式
1. css3盒子模型:-webkit-box-sizing:border-box;
2. 超链接标签,点击高亮,需要清除 设置 transparent 完成透明
-webkit-tap-highlight-color:transparent;
3. 在移动端浏览器默认的外观在iOS上加上这个属性才能给按钮 或者 输入框 自定义样式
-webkit-appearance:none;
4. 禁用长按页面时的弹出菜单
img,a{ -webkit-touch-callout:none;}
5. 常见屏幕尺寸
移动端(视口(meta),像素比,二倍图(图片,背景图,精灵图),css初始化(normalize.css),特殊样式,常见屏幕尺寸)的更多相关文章
- 前端二倍图的思考(涉及Retina)
EXCELL格式 1 csv格式导出来之后不能用EXCELL打开,会乱码.用记事本打开,然后将"(英文的引号出掉),就可以了. 关于二倍图的操作 概念: 设备像素:也叫物理像素,显示设备上最 ...
- 用一篇文章了解ppi,dpr,物理像素,逻辑像素,以及二倍图
这篇文章能让你了解到什么是分辨率.dpr.dip.ppi (dpi相当于ppi,dpi用点表示物理像素密度,ppi是逻辑像素密度) 首先从最简单的ppi开始: 一部手机,有大有小,怎么知道手机的大小用 ...
- 如何在普清的屏上调试CSS样式二倍图背景
背景: 最近就遇到一个同事的项目,还是像平常一样小心切图,认真对像素. 一切测试都没有问题,顺利上线. 但是,上线之后,产品经理跑过来说,有BUG. BUG描述:(不认为是BUG) 前端页面上的图标是 ...
- 关于移动端border 1像素在不同分辨率下边显示粗细不一样的处理
最近开发发现一个很有趣的问题 就是我如果给一个元素加上一个像素的 border 在不同的分辨率的情况下显示的不同 在高清屏幕(尤其是ios 喽 不鄙视国产) 据说在6plus下会变成3px 这个我 ...
- Retina 屏幕与二倍图
分辨率 屏幕分辨率:指屏幕可显示的像素的个数 图像分辨率:位图图像包含的像素的个数 对于 Retina 屏它的分辨率是传统屏的两倍,而屏幕大小没有变化,所以它需要的图片的分辨率应该是传统屏幕的两倍(甚 ...
- iphone关于单倍图和二倍图(导航 背景 变高)
同学们and朋友们大家好!今天我想说一下关于@2x二倍图的知识,以我所知所见所闻来讲述我的理解! 别看关于这么点小知识,有很多初学者在这个上面常会犯错误,以下是我的理解: 用二倍图是为了适配iphon ...
- 移动端Web Meta标签
原文 http://blog.segmentfault.com/jianjian_532633/1190000000654839 添加到推刊 在介绍移动端特有 meta 标签之前,先简单说一下 ...
- h5移动端页面meta标签
<!DOCTYPE html> <!-- 使用 HTML5 doctype,不区分大小写 --> <html lang="zh-cmn-Hans"&g ...
- Flex弹性盒模型(新老版本完整)--移动端开发整理笔记(二)
Flex布局 Flex即Flexible Box,写法为:display:flex(旧版:display: -webkit-box) 在Webkit内核下,需要加-webkit前缀: .box{ di ...
随机推荐
- VS进程附加的使用
一,附加进程(ctrl+alt+p)调试本地服务器接口(WCF,webapi等)的api 1>接口(WCF,webapi等)的api发布到本地IIS服务器,然后使用附加进程,将你发布的IIS添加 ...
- 解决div和img之间的空隙
div盒子和img之间有空隙之前也遇到过几次这问题,今天又遇到了特地来总结下. 先上代码和效果图: <!doctype html><html lang="en"& ...
- SSM+Maven使用PageHelper插件分页
官方网站: https://pagehelper.github.io/docs/howtouse/#2-%E9%85%8D%E7%BD%AE%E6%8B%A6%E6%88%AA%E5%99%A8%E6 ...
- Nginx-LNMP架构搭建
目录 Nginx-LNMP架构搭建 LNMP架构概述 LNMP架构环境部署 部署LNMP 部署博客Wordpress 搭建知乎产品wecenter 搭建edusoho (修改域名及安装路径) 数据库拆 ...
- jQuery HTML-设置
例子1 html <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> &l ...
- 【串线篇】MVC与SpringMVC
1.二者区分 MVC: SpringMvc: DispatcherServlet(前端控制器名) 2.springmvc思想 Spring MVC 通过一套 MVC 注解,让 POJO成为处理请求的控 ...
- C语言小笔记(1)
枚举类型的大小是4,和一个int整形大小一样 就是最后一个逗号后面的表达式的值,比如: int a=1,b; b=(a+1,a+2,a+3); 那么b的值就是a+3,也就是4 函数名 :print ...
- UNP学习 高级I/O函数
首先为一个I/O函数设置超时,这有三种方法.然后是三个read和write函数的变体: recv和send,他们可以把含有标志的第四个参数从进程传给内核: readv和writev这两个函数可以指定一 ...
- 在不损坏数据的情况下调整分区大小(ext2\ext3\ext4)
现在的时间是2017年5月27日 我想说调整分区大小没那么麻烦,至少我直接将一个ext3格式分区从50G减少到了30G. 步骤如下 1 首先确保那个分区是未挂载的. 2 调整分区大小,但是其实并没有实 ...
- select into outfile的sql语句
SELECT INTO…OUTFILE语句把表数据导出到一个文本文件中,并用LOAD DATA …INFILE语句恢复数据.但是这种方法只能导出或导入数据的内容,不包括表的结构,如果 ...