CSS实践:使用视口单位定义字号

2021-03-0510:50:32网页制作Comments1,242 views字数 621阅读模式

一般来说,构建响应式面板是使用媒体查询根据不同型号的屏幕尺寸,修改元素的字号就能渲染出不同大小的面板,当然前提是使用相对单位em或者rem。比如说:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

@media (min-width: 800px) {
    :root{
        font-size: 0.875em;
    }
}
@media (min-width: 1200px) {
    :root{
        font-size: 1em;
    }
}
复制代码

根据给页面根元素设置不同字号,响应式地重新定义了整个页面的emrem。但这属于硬编码的形式,只能响应设定的屏幕尺寸。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

我们知道视口单位vmvh是相对屏幕来说的,如果将视口单位用于设置字号,那比设置宽度还要实用文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

font-size: 2vw;
复制代码

设置上面属性会发生什么?当屏幕宽度为1440px时,字号就是28.8px了。在一个1920px的屏幕时,字号就变成了38.4px。这样做的好处就是元素能够在这两种大小之间平滑地过渡,不会在某个断点突然改变。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

但还是有些问题, 常见的1920px屏幕中,38.4px的字号太大了。而在手机上比如iPhone6上就缩小到了7.5px,那就太小了。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

使用CSScalc函数结合emvw两个单位就能解决问题:文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

:root{
    font-size: calc(0.5em + 1vw);
}
复制代码

0.5em保证了最小字号,1vw则确保了字体能随着视口缩放。能保证基础字号从iPhone6里的11.75px一直过渡到1200px屏幕的20px文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

作者:zhangwinwin文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/zhizuo/21013.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/zhizuo/21013.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定