CSS3中有两个新尺寸单位vw和vh, 这两个单位非常适合于开发移动端自适应页面。

假如说有一个设计师做了一张1136x750px的页面,这长页面是针对iPhone6的屏幕设计的。 前端开发工程师将这张设计稿转换成网页, 网页中所有的元素尺寸都用px硬编码, 那么这张网页在iPhone6中能跑的好好的,但是到了其他手机中会容易出问题, 毕竟很多手机的屏幕尺寸和iPhone6是不一样的。

vw和vh就是用来解决这个问题的。它们是一组相对尺寸单位,和百分比相似, 1vw和1vh其实和1%是一样的。换句话说, 不管是1136x750px的屏幕还是960*640px或着其他的尺寸的屏幕,它们的宽度都是100vw,高度都是100vh。1136x750的屏幕里, 1vw = 11.36px,1vh =7.5px;960*640px的屏幕里, 1vw = 9.6px,1vh = 6.4px。 这跟百分比是一样的。

但是, vw和vh和百分比最大的差别在于,百分百是相对于父元素的, vw和vh则是相对与根元素的,更确切一点是

window.innerWidth

window.innerHeight

这给html设置自适应尺寸提供了很大的便利,要为html文档树某处枝叶的一个元素设置相对于屏幕的百分比,在以前, 只能用JavaScript动态计算,现在使用vw和vh两个单位就可以解决问题。

但是这个重px到vw和vh的换算过程挺麻烦的。假定有一张psd设计稿, 宽度为1920px, 高度为1080px, 设计稿中有一个按钮, 宽为100px, 高位40px, 如何把这个按钮的宽高从px转换为vw和vh。

我们可以使用以下公式

宽度(vw) =  100 / 1920 * 100;

高度(vh) = 100 / 1080 * 40;

但是每次都机械样式手动算,太浪费事件了, 于是我制作了一个简单的换算工具。

这是工具的界面

首选项里面填好psd设计搞的尺寸, 然后要计算psd中的页面元素的vw和vh的值, 只需要在工具宽高输入框中填入相应的px值, vw和vh值就自动能计算出来了,  减少了无谓手动计算的工作量。

工具下载地址:  https://pan.baidu.com/s/1dF1ZPCH

源码github地址:  https://github.com/aspwebchh/px2vwAndvh

注意:此工具必须在windows7版本以上系统使用。

px转vw和vh的工具(对前端同学有用)的更多相关文章

  1. css3单位em,rem,px,vw,vh等

    昨天发现了个好用的方法去设置手机端的rem单位,在这里记录下. html{ font-size:calc(100vw/7.5);} 这是按照750的设计稿(也就是iphone6的设计稿). 100vw ...

  2. 微信小程序填坑之路(三):布局适配方案(rpx、px、vw、vh)

    因为小程序是以微信为平台运行的,可以同时运行在android与ios的设备上,所以不可避免的会遇到布局适配问题,特别是在iphone5上,因为屏幕尺寸小的缘故,也是适配问题最多的机型,下面就简单介绍几 ...

  3. CSS中的单位px、em、rem、%、vw、vh、vm

    px 相对长度单位,像素px 是相对于显示器屏幕分辨率而言的.是我们网页设计常用的单位,也是基本单位. 通过 px 可以设置固定的布局或者元素大小,缺点是没有弹性.用 px 设置字体大小时,比较稳定和 ...

  4. Css单位px,rem,em,vw,vh的区别

    px px就是pixel像素的缩写,相对长度单位,网页设计常用的基本单位.像素px是相对于显示器屏幕分辨率而言的 em em是相对长度单位.相对于当前对象内文本的字体尺寸(参考物是父元素的font-s ...

  5. 网页常见单位: px em pt % rem vw、vh、vmin、vmax , rem 使用

    1.网页常见单位:  px  em  pt    vw\vh   rem 1.1 px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言  (最终解析单位) em单位名称为相对长度 ...

  6. 关于将px转换为vw vh的解决方案

    什么是vw(Viewport Width)和vh(Viewport Height)? vw和vh是前端开发中的一个动态单位,是一个相对于网页视口的单位. 系统会将视口的宽度和高度分为100份,1vw占 ...

  7. css3新单位vw、vh的使用详解

    响应式布局的单位我们第一时间会想到通过rem单位来实现适配,但是它还需要内嵌一段脚本去动态计算跟元素大小. 比如: (function (doc, win) { let docEl = doc.doc ...

  8. 初识vw和vh

     最近在项目里突然看到了一行css代码,height:100vh; 一时间有点蒙蔽 因为之前有听过这个css3新增单位,但没有去了解过. 那这个单位又跟px,rem,em,%有什么不同呢? 简述:   ...

  9. CSS3 - 新单位vw、vh、vmin、vmax使用详解(附样例)

    像 px.em 这样的长度单位大家肯定都很熟悉,前者为绝对单位,后者为相对单位.CSS3 又引入了新单位:vw.vh.vmin.vmax.下面对它们做个详细介绍. 一.基本说明 1,vw.vh.vmi ...

随机推荐

  1. C# 模拟网站登陆并截图

    1.在窗体上加一个按钮,为按钮添加点击事件 private void button1_Click(object sender, EventArgs e) { Bitmap m_Bitmap = Web ...

  2. 201521123045 《Java程序设计》第6周学习总结

    Java 第六周总结 1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结.注1:关键词与内容不求多,但概念之间的 ...

  3. 201521123016《Java设计与程序》第6周学习总结

    1. 本周学习总结 1.1 面向对象学习暂告一段落,请使用思维导图,以封装.继承.多态为核心概念画一张思维导图,对面向对象思想进行一个总结. 2. 书面作业 1.clone方法 1.1 Object对 ...

  4. 201521123066 《Java程序设计》第四周学习总结

    1. 本周学习总结 1.1 尝试使用思维导图总结有关继承的知识点. 1.2 使用常规方法总结其他上课内容. 1.多态性: (1)概念:相同的方法名,不同的实现方法 (2)instanceof运算符:判 ...

  5. Java-对象排序

    在业务逻辑中,我们经常需要对list进行排序,就像下面这样: Collections.sort(l); 如果l中的元素是String类型,你会发现sort方法将使用字母顺序排序.如果l中的元素是Dat ...

  6. 201521123052 《Java程序设计》 第13周学习总结

    1. 本周学习总结 2. 书面作业 1. 网络基础 1.1 比较ping www.baidu.com与ping cec.jmu.edu.cn,分析返回结果有何不同?为什么会有这样的不同? 返回的IP地 ...

  7. 201521123096《Java程序设计》第十四周学习总结

    1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结多数据库相关内容. 2. 书面作业 1. MySQL数据库基本操作 建立数据库,将自己的姓名.学号作为一条记录插入.(截图,需出现自 ...

  8. Java多线程高并发学习笔记(二)——深入理解ReentrantLock与Condition

    锁的概念 从jdk发行1.5版本之后,在原来synchronize的基础上,增加了重入锁ReentrantLock. 本文就不介绍synchronize了,有兴趣的同学可以去了解一下,本文重点介绍Re ...

  9. 网络配置之基本网络配置(cenos6)

    目录: 关于IP的管理 Linux网卡的卸载与装载 配置网络接口 网络IP配置文件路由管理 路由管理命令 配置动态路由(简介) route的配置文件netstat命令IP命令 ip link 查看网络 ...

  10. Hibernate第七篇【对象状态、一级缓存】

    前言 本博文主要讲解Hibernate的细节-->对象的状态和一级缓存- 对象状态 Hibernate中对象的状态: - 临时/瞬时状态 - 持久化状态 - 游离状态 学习Hibernate的对 ...