手机端的1px边框如何实现
(1)、把边框设置为absolute,使用after,定义宽度为1px(mixin.styl)

(2)、通过@media,判断不同的dpi,来改变相应的Y轴宽度(base.styl),定义公共class border-1px,在用到1px边框的地方,加上border-1px

设备像素
又叫物理像素
是显示屏能够控制的最小显示单位.
css像素
它就是css上用的像素: border: 1px solid black; 它是web编程抽象的概念,不存在的, 它独立于设备, 用于在逻辑上衡量像素
设备独立像素
也叫密度无关像素
用于独立于设备,用于逻辑上衡量像素的单位, 也就是css像素, 可转换为物理像素。
所以说,物理像素和设备独立像素之间存在着一定的对应关系。
获取
screen.width
screen.height
误区,在pc端,我们一直认为这是分辨率,其实不是,只是因为PC端设备像素和设备独立像素数值相等
设备像素比 device-pixel-ratio
是设备上物理像素和设备独立像素(device-independent pixels (dips))的比值
通过控制整个值,可以控制页面的放大,快捷键Ctrl+的原理就是这个.
//chrome 为1
window.devicePixelRatio
PPI
像素密度(pixel density).
全称是(pixel per inch)就是每英寸内有多少个设备像素点.
PPI的值越高,画质越好,也就是越细腻,看起来更有逼格。
标准的PPI是160, 不过现在屏幕标准的少了, 都超过了160.
PPI 值超过300的叫做超高密度屏幕,Apple 给它换了个高大尚的名称:Retina视网膜屏幕
你比如Iphone 5s 设备像素比为2,Iphone 6s 设备像素比为3。至于安卓机中的设备像素比就更多了,有1.3、1.5、2、3等等。
查看更多设备像素比: http://devicepixelratio.com/
参考文章: http://yunkus.com/physical-pixel-device-independent-pixels/
手机端的1px边框如何实现的更多相关文章
- 手机端1px细线公共类
手机端1px细线公共类 .borderBottom1px{ position: relative; } .borderBottom1px:after{ content: ""; p ...
- 移除手机端a标签点击自动出现的边框和背景
手机端a标签会自动补充出现边框或者背景,使得用户知道a标签的点击状态,但样式很不好看 <!DOCTYPE html> <html> <head> <meta ...
- 第九十三节,html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计
html5+css3移动手机端流体布局,基础CSS,头部设计,轮播设计,底部设计 基础CSS 首先将通用css属性写好 @charset "utf-8"; /*通用样式*/ /*去 ...
- 【学习】如何制作手机端html模板(REM的实际应用)
以前制作手机页面时,总是很迷茫,不知从何着手,页面也不知如何处理.会用一些百分比啊,媒体查询啊,还有就是目测了,但是各种手机端的屏幕适配是个老大难的问题,没有做到百分百兼容的.自从发现了rem这个好东 ...
- 移动端1px边框问题
用于手机端受dpr的影响,实际开发中,PC端和移动端展示的效果不太一样,往往在PC端显示的是1px,移动端常常是偏粗一些. 解决办法: 主要是用到伪类及缩放.在需要画边框的元素上,设置一个伪类,它的伪 ...
- h5手机端下拉选择城市
<!doctype html><html> <head> <meta http-equiv="Content-Type& ...
- 手机端使用rem适配
最近一直在做手机端的东西,各种型号的手机适配很是无解.经过同事及百度找到了这么一个方法 html font-size默认100px 将rem进行换算1px==0.01rem; 页面在各个手机适配个别会 ...
- 手机端的tab切换,响应式切换效果
之前写过这些tab切换的效果,无论网页上还是手机端,网上也有很多的例子,这个好像是我参考网上,也不知道是哪里的了.总结了一下,就当保存下来了把. <!DOCTYPE html > < ...
- ecshop开发日志之手机端虚拟商品自动发货
在ecshop官方模版收,web端的虚拟商品购买后不能像pc端那般直接在付款后出现虚拟商品的卡号,密码,截止日期一下为让手机购买也可以在付款后自动显示发货并能显示卡号密码截止日期首 先找到pc端的fl ...
随机推荐
- python数据类型(二)
跟着慕课网练习的,一些简单的知识点如下
- C#面向对象设计的七大原则
本文我们要谈的七大原则,即:单一职责,里氏替换,迪米特法则,依赖倒转,接口隔离,合成/聚合原则,开放-封闭 . 1. 开闭原则(Open-Closed Principle, OCP) 定义:软件实 ...
- 浅谈Python闭包
闭包是在其词法上下文中引用了自由变量的函数. 通俗地说,就是函数嵌套(后续称之为外层函数)另外一个函数(后续称之为内层函数),在内层函数中,引用外层函数的变量,每次对内层函数的调用,外层函数变量的值都 ...
- python自动化运维之路~DAY8
python自动化运维之路~DAY8 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.线程进程介绍 为了方便我们队线程和进程的理解,我们来画2组图,方便我们对python中的线程 ...
- JVM总结(六):早期(编译期)优化
这节我们来总结一下JVM编译器优化问题. JVM编译器优化 Javac编译器 Javac的源码和调试 解析与填充符号表 注解处理器 语法分析与字节码生成 Java语法糖 泛型和类型擦除 自动装箱.拆箱 ...
- windows单机环境下配置tomcat集群
场景:我们在平常联系中,需要涉及到tomcat中,但是电脑不够怎么办,肯定是在自己的电脑上模拟集群,就是装多个tomcat,这时候需要稍微配置下.如果是多个服务器,那不用配置,直接怼!!! 这里介绍的 ...
- java8的新特性详解-----------Lamda表达式
java8最大的亮点就是引入了Lamda表达式 , 函数式编程的概念 具体啥意思我也不知道.只管用就行了,非常的强大,简洁,一个表达式相当于以前的十几行代码 因为之前要实现这种效果全靠if el ...
- Study 2 —— 图片热点区域
标记<map>和<area><img src="图片" usemap="#名称"><map id="#名称& ...
- VS Code调试Golang提示Failed to continue:Check the debug console for details.
解决方法: 打开调试面板 VSCode->查看->调试 添加调试目标 在"没有调试"的下拉框中点击"添加配置.."添加目标调试配置 在" ...
- MyBatis编写映射文件实现增删改操作 附说明及代码
1.看一下我们接口 package cn.bdqn.mybatis.dao; import org.apache.ibatis.annotations.Select; import cn.bdqn.m ...