• 技术文章 >web前端 >html教程

    移动端最佳字体大小设置

    PHPzhongPHPzhong2018-05-15 11:01:30原创13519
    诶,告诉大家一些移动端css单位该怎么用。px肯定是不行的,手机有那么多的尺寸,要写多少@media。最常用的有两个单位:
    1、rem

    rem是相对于根元素的大小设置的,网页中的根元素指的是html我们通过设置html的字体大小就可以控制rem的大小。举个例子:

    <!DOCTYPE html>
    <html>
    <head>    
    <meta charset="utf-8" />    
    <title></title>    
    <style type="text/css">        
    html{            
    font-size:20px;        }        
    p{            
    width: 600px;            
    overflow: hidden;            
    line-height: 1;            
    font-size: 1rem;        }    
    </style></head>    <body>    
    <p>        是啊啊啊    
    </p></body></html>
    当你在html根元素设置 font-size:20px;的时候,1rem = 20px;同理,如果设置10px,那么1 rem = 10px;rem不只是可以用于字体大小,也就可用于width等长度单位。这时你会问,这样怎么做到响应式呢?所以就要结合@media来设置html根元素的大小,这样页面里所有对应的rem单位就会跟着根元素走,例如:
    • html {
          font-size : 20px;
      }
      @media only screen and (min-width: 401px){
          html {
              font-size: 25px !important;
          }
      }
      @media only screen and (min-width: 428px){
          html {
              font-size: 26.75px !important;
          }
      }
      @media only screen and (min-width: 481px){
          html {
              font-size: 30px !important; 
          }
      }
      @media only screen and (min-width: 569px){
          html {
              font-size: 35px !important; 
          }
      }
      @media only screen and (min-width: 641px){
          html {
              font-size: 40px !important; 
          }
      }

    如果你不设置html的字体大小,就会使用16px作为基数来。这个比px的好处显而易见,你不需要对每个元素就进行一次@media,只需要对html根元素做不同尺寸的设置就可以了,兼容性也很好。
    2、vw、vh
    rem单位虽然依旧很简单了,但是依旧不够简单粗暴,还有一种更简单的,就是vw、vh单位。

    相对于视口的宽度。视口被均分为100单位的vw。比如,1vw就相当于屏幕宽度的1%。直接上例子

    <!DOCTYPE html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <style type="text/css">
            p{
                width: 20vh;
                height: 30vw;
                line-height: 1;
                font-size: 1vw;
                background: #FC8B53;
                color: #fff;
            }
        </style>
    </head> 
    <body>
        <p>
            是啊啊啊
        </p>
    </body>
    </html>
    这么设置之后,p的宽度就随着屏幕高度的变化而变化,它的高度就随着屏幕宽度的变化而变化,字体的大小也随着屏幕变化。我这么搞是为了更直观的表示vw这个单位的灵活。再也不用写一堆连七八糟的@media了。
    怎么个灵活法呢?比如你设置一个p的宽度是屏幕的50%,那么width就是50vw。这时候,你要设置它的高度是它的宽度的50%,如果不用vw咋办?你只能用js去算。但是用了vw就直接设置成25vw就搞定了。
    但是这个有些兼容性的问题,ios是没有问题的,安卓手机自带浏览器要安卓系统4.4以上才行,别的浏览器都是可以的,只有自带的有问题。 不过现在谁还用安卓自带的浏览器去耍呢,在哪儿都找不到。所以,直接用vw、vh吧。

    以上就是移动端最佳字体大小设置的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Html
    上一篇:html 5常见的面试题 下一篇:Web前端面试题第八道—绝对定位与相对定位
    PHP编程就业班

    相关文章推荐

    • html5中块状元素怎么转换为其他元素• html5中元素能拉伸宽度吗• html下拉菜单文字怎么变小• myeclipse打开html乱码怎么解决• web开发中比较常用的html标签_html/css_WEB-ITnose

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网