• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >css3 > 简单总结CSS3中视窗单位Viewport的常见用法

简单总结CSS3中视窗单位Viewport的常见用法

作者:婼籽 字体:[增加 减小] 来源:互联网 时间:2017-06-02

本文主要包含d3d中的viewport,html中的viewport,viewport,viewport是什么意思,meta name viewport等相关知识,婼籽 希望在学习及工作中可以帮助到您

介绍视窗(Viewport)单位

视窗(Viewport)是你的浏览器实际显示内容的区域——换句话说是你的不包括工具栏和按钮的网页浏览器。这些单位是vw,vh,vmin和vmax。它们都代表了浏览器(视窗(Viewport))尺寸的比例和窗口大小调整产生的规模改变。

比方说我们有一个1000px(宽)和800px(高)的视窗(Viewport)

vw——代表视窗(Viewport)的宽度为1%,在我们的例子里50vw = 500px。
vh——窗口高度的百分比 50vh = 400px。
vmin——vmin的值是当前vw和vh中较小的值。在我们的例子里因为是横向模式,所以50vim = 400px。
vmax——大尺寸的百分比。50vmax = 500px。
你可以在任何一个可以使用像素值的地方使用它们,比如width,height,margin,font-size等等。它们将通过窗口大小的调整或旋转设备的浏览器来重新计算这些值。

占用页面的整个高度

每一个前端开发人员都致力于这件事。你的第一直觉是这样做:

</div>
  1. #elem{   
  2.     height: 100%;   
  3. }  
</div> </div>

然而,除非我们为html和body添加100%的高度,但只是这样还是不行的,因为这样的代码并不优雅而且很有可能会破坏你的设计的其余部分。使用vh就变得相当容易了,只需要为高度设置100vh,那它将永远都是你窗口的高度。

</div>
  1. #elem{   
  2.     height: 100vh;   
  3. }  
</div> </div>


视口宽度大小
vw是CSS3新加入的一个使用视口宽度来计算字体大小的单位。这样可以允许更多的响应字体大小。

尽管这似乎是为响应式设计的一个很有用的单位,但我个人不是它的粉丝。因为它并不能在字体大小上给我更多的控制权,他总是显示的过大或过小。

我的方法

在我做这项研究之前,我一直使用像素来设置我的字体大小。这是因为现在的大多数浏览器允许用户在字体太小的情况下自行放大页面,所以使用像素并没有什么问题。

但是,我发现这种方式在很大程度上限制了扩展能力。虽然我的字体在中小屏幕上看起来不错,但他应该在大屏幕上有更好的优化。即便用户有放大的选项,这也不应该是我们希望他们来做的事情。

因此我使用rem设置的解决方案是(使用像素作为备用)。

</div>
  1. html {   
  2.   font-size: 62.5%; /* sets the base font to 10px for easier math */  
  3. }   
  4. body {   
  5.   font-size: 16px;   
  6.   font-size: 1.6rem;   
  7.   /* sets the default sizing to make sure nothing is actually 10px */  
  8. }   
  9. h1 {   
  10.   font-size: 32px;   
  11.   font-size: 3.2rem;   
  12. }  
</div> </div>

这样我扩大了字体大小而只需要这样写——

</div>
  1. @media screen and (min-width: 1280px) {   
  2.   html {   
  3.     font-size: 100%;   
  4.   }   
  5. }  
</div> </div>

这个方法是用像素作为降级单位因为IE8及以下不支持rem。这有一个问题是当我改变基础字体大小时只能应用在可扩展性大小上面而不适用于后备字体大小。不过我不认为这是一个巨大的问题,因为这个问题对于较大规模的设备的核心来说只是一个额外的问题。

如果你有任何关于如何改善这个问题的想法,请在评论里让我知道。我也可以写一个SCSS的混入,这样我可以不必输入这两个后备和rem单位。

子元素大小根据浏览器改变而不是父元素

在某些情况下,你想要的是子元素的大小相对于窗口改变而不是父元素。同样的,按照前面的例子,这样是不行的:

</div>
  1. #parent{   
  2.     width: 400px;   
  3. }   
  4. #child{   
  5.     /* This is equal to 100% of the parent width, not the whole page. */  
  6.     width: 100%;   
  7. }   
  8. 如果我们用vw来设置子元素,那么它会简单的溢出并采取网页的全宽:   
  9.   
  10. #parent{   
  11.     width: 400px;   
  12. }   
  13. #child{   
  14.     /* This is equal to 100% of page, regardless of the parent size. */  
  15.     

您可能想查找下面的文章:

  • 简单总结CSS3中视窗单位Viewport的常见用法

相关文章

  • 2017-06-02CSS3 渐变(Gradients)之CSS3 线性渐变
  • 2017-06-02CSS3实现超慢速移动动画效果非常流畅无卡顿
  • 2017-06-02CSS图片翻转动画技术详解(IE也实现了)
  • 2017-06-02纯css3实现效果超级炫的checkbox复选框和radio单选框
  • 2017-06-02纯CSS3实现8组超炫酷鼠标滑过图片动画
  • 2017-06-02CSS3使用多列制作瀑布流
  • 2017-06-02css3的transform中scale缩放详解
  • 2017-06-02css3的@media属性实现页面响应式布局示例代码
  • 2017-06-02基于CSS3制作立体效果导航菜单
  • 2017-06-02CSS3制作ajax loader icon实现思路及代码

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • CSS3实现的炫酷菜单代码分享
    • css3制作动态进度条以及附加jQuery百分比数字显示
    • CSS3对背景图片的裁剪及尺寸和位置的设定方法
    • 利用SVG和CSS3来实现一个炫酷的边框动画
    • CSS3中线性颜色渐变的一些实现方法
    • CSS3教程(6):创建网站多列
    • 使用Filters滤镜弥补CSS3的跨浏览器问题以及兼容低版本IE
    • 一款CSS3实现多功能下拉菜单(带分享按)的教程
    • CSS3样式linear-gradient的使用实例
    • CSS3——齿轮转动关键代码

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有