CSS3实现的响应式字体:自适应视图窗口大小的新单位

这个是为了解决什么问题?


我最近在做一个项目。客户要求标题可以根据用户屏幕的尺寸而自动改变大小。我知道我通常用的相对字体单位(注* 如px, pt, em)只是相对于HTML根元素的大小而自动改变,而不是相对于用户的屏幕。

在上网查询之后我发现一种新的字体大小单位,叫做: Viewport-Percentage Lengths.

我是在一MDN的 一篇文章 中发现这个Viewport-percentage lengths的,这正是我要找的东西,我只是不知道它叫什么。

它是怎么工作的?


其实非常简单。一个单位相于当前视图窗口大小的1%,宽度和高度是不同的,分别用(vw, vh)表示。你可以通过vmin和vmax设置最大最小值。

  1vw = 当前视图窗口(viewport)1%的宽度
  1vh = 当前视图窗口(viewport)1%的高度
  1vmin = 1vw 或 1vh, 取决于哪个更小一点
  1vmax = 1vw 或 1vh, 取决于哪个更大一点


如果当前视图窗口宽度是100毫米,那么5vw就是5毫米。

vmin 和 vmax 的设置就像这样:

section {
 width: 100vmin;
 background-color: #ff5442;
}


示例


这里有一份完整的 示例1示例2

注* Bootstrap之类的响应式布局CSS框架多采用 @media (max-width: *) {} 之类响应式样示实现。

 
 
// 屏幕宽度小于767个象素时应用的CSS样式
@media (max-width: 767px) {
   //CSS代码 
}
// 屏幕宽度在767和991象素之间的CSS样式
@media (min-width: 768px) and (max-width: 991px) {
   //CSS代码 
}

此法在大小在跨过临界值时才会发生改变。而vh,vw这样的单位会随窗口大小而立刻发生改变。

转自:http://ourjs.com/detail/549cbea78a34fa3204000024
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值