最近的项目需求,内嵌电视端显示页面,所以使用到了css3的属性:vw \ vh,遇到一些问题,记录下来

vw、vh是什么?

字面上可以简单理解为,vw (view width),vh(view height),相当于一种长度单位,类似百分比,1vw = 屏幕宽度的百分之一,1vh等于屏幕高度的百分之一,也是属于一种自适应的长度单位。

那为什么不直接用%、rem,而要用vw、vh?有什么区别?

显示器都存在逻辑分辨率和物理分辨率,手机、pad、电脑、电视,都存在这两种分辨率,一个是理论值,一个是显示器的实际值,可能电脑设置的分辨率是1366*800,但电脑的实际分辨率是1280*720,所以在我们设置的长度单位上可能就会存在偏差,vm、vh就是以物理分辨率为基础,在物理分辨率上的百分比,而我们平时用的%是以父元素长度为参照,rem则是以html、body设置的font-size为参照。

所以在混合使用这两种长度单位的时候千万要小心,因为如果父元素存在padding、margin的话,父元素的满屏长度就不是100%,在子元素中使用vw、vh则是以满屏长度为基准,就会存在偏差,如下图:

中间元素的长度、高度、定位,使用的都是vw、vh,都是基于物理分辨率,而父元素使用的是百分比,而且存在padding,所以出现位置偏差

解决方案,两种:1 将父元素宽高改为以vw、vh为单位,2 将子元素改为以%为单位,视实际情况更改,我这里因为是在原有项目上的修改,所有子集单位都是vw、vh,所以我更改父元素的单位

注意:vw、vh为css3新增的单位,所以在不支持css3的浏览器中是无法实现的,IE8及IE8以下的浏览器不支持,选择性使用,希望本篇博文能够帮助到你!

css3 vw、vh属性详解,以及与%、rem的区别介绍的更多相关文章

  1. CSS3中border-image属性详解

    border-images可以说也是CSS3中的重量级属性,如同圆角.边框颜色属性border-color.块阴影属性一样,也是属于边框属性中的一员. 从其字面意思上看,我们可以理解为“边框-图片”, ...

  2. css3 transform 变形属性详解

    本文主要介绍了css3 属性transform的相关内容,针对CSS3变形.CSS3转换.CSS3旋转.CSS3缩放.扭曲和矩阵做了详细的讲解.希望对你有所帮助. 这个很简单,就跟border-rad ...

  3. css3中transition属性详解

    css3中通过transition属性可以实现一些简单的动画过渡效果~ 1.语法 transition: property duration timing-function delay; transi ...

  4. css3易混淆属性详解

    1.background,  background-color,   color (1)background:在一个声明中设置所有属性: 如:background: #00FF00 url(bgima ...

  5. CSS3动画相关属性详解

    本文转载于:<https://blog.csdn.net/lyznice/article/details/54575905> 一.2D效果属性 要使用这些属性,我们需要通过 transfo ...

  6. CSS3:overflow属性详解

    1.Overflow overflow为溢出(容器),当内容超出容器时只需添加overflow属性值为hidden, 就可以把超出容器的部分隐藏起来: 如果内容超出容器却又不想其隐藏时可以将其属性值设 ...

  7. 【CSS3 transform属性和过渡属性详解】

    CSS3transform属性详解 transform字面上就是变形,改变的意思. 在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translat ...

  8. CSS3的@keyframes用法详解:

    CSS3的@keyframes用法详解:此属性与animation属性是密切相关的,关于animation属性可以参阅CSS3的animation属性用法详解一章节. 一.基本知识:keyframes ...

  9. css动画-animation各个属性详解(转)

    CSS3的animation很容易就能实现各种酷炫的动画,虽然看到别人的成果图会觉得很难,但是如果掌握好各种动画属性,做好酷炫吊炸天的动画都不在话下,好,切入正题. 一.动画属性: 动画属性包括:①a ...

随机推荐

  1. CentOS 7.0安装配置Vsftp服务器步骤详解

    安装Vsftp讲过最多的就是在centos6.x版本中了,这里小编看到有朋友写了一篇非常不错的CentOS 7.0安装配置Vsftp服务器教程,下面整理分享给各位. 一.配置防火墙,开启FTP服务器需 ...

  2. 浅拷贝和深拷贝(java)

    拷贝:多用于prototype原型模式的复制. 数据库连接池,将properties中的jdbc信息(user/password/url/port)等获取后赋值给jdbcData对象,然后将对象复制n ...

  3. django--用户认证组件

    用户认证组件 用户认证组件: 功能:用session记录登录验证状态 前提:用户表:django自带的auth_user 创建超级用户: python3 manage.py createsuperus ...

  4. self, super理解

    self是方法参数列表中的第一个参数,是运行时决定的. super是编译器符号,是编译时决定的.super的含义为从父类开始寻找相应的方法,父类在编译的时候就已经决定了. 一个关键点:super并不代 ...

  5. 观察者模式——Head First

    一.定义 观察者模式(Observer Pattern)定义了对象之间的一对多依赖,这样一来,当一个对象改变状态时,它的所有依赖者都会收到通知并自动更新. 二.类图 三.气象站 //Subject p ...

  6. C#使用MonoPInvokeCallback,让C直接回调C#函数

    Test.mm char* TestMakeCString(NSString *str) { const char* string = [str UTF8String]; if (string == ...

  7. ASP.NET HTTP 协议

    http是无状态的,不会记得“上个请求***”,所以哪怕是同一个页面中的js.css.jpg也都要重复的提交Accept-Language.Accept-Encoding.Cookie等. 一般情况下 ...

  8. MIME sniffing攻击

    基于IE的MIME sniffing功能的跨站点脚本攻击 IE有一个特性,那就是在将一个文件展示给用户之前会首先检查文件的类型,这乍看起来并没什么问题,但实际上这是相当危险的,因为这会允许IE执行图片 ...

  9. 吴裕雄 32-MySQL 导入数据

    1.mysql 命令导入使用 mysql 命令导入语法格式为:mysql -u用户名 -p密码 < 要导入的数据库数据(runoob.sql)实例:# mysql -uroot -p123456 ...

  10. 吴裕雄 07-MySQL数据类型

    数值类型 TINYINT SMALLINT MEDIUMINT INT或INTEGER BIGINT FLOAT DOUBLE DECIMAL 日期和时间类型DATE TIME YEAR DATETI ...