zoukankan      html  css  js  c++  java
  • [css] px em rem

    一、区别

    px是相对于显示器屏幕分辨率而言的。

    em相对于浏览器的默认字体尺寸。

    rem相对于HTML根元素。

    二、使用

     1、em

    任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合: 1em=16px。那么12px=0.75em,10px=0.625em。

    为了简化font-size的换算,需要在css中的body选择器中声明Font-size=62.5%,这就使em值变为 16px*62.5%=10px,

    这样12px=1.2em, 10px=1em, 也就是说只需要将你的原来的px数值除以10,然后换上em作为单位就行了。

    所以我们在写CSS的时候,需要注意两点:

    1. body选择器中声明Font-size=62.5%;

    2. 将你的原来的px数值除以10,然后换上em作为单位;

    3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明。

    2、rem

    参考:http://isux.tencent.com/web-app-rem.html

    css3新属性 针对于响应式网页设计

    之前网页的响应式是在head标签内直接设置meta viewport标签进行缩放.

    iphone4:设计宽度为320px

    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0 />

    iphone6: 设计宽度为375px

    iPhone6需要调整缩放比例 initial-scale=375/320 =1.18

    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.18 />

    iPhone6 Plus:设计宽度为414px   initial-scale=414/320 =1.30
    <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.30 />
    缺点是:这样做会使得,因为initial-scale越来越大,相当于拉伸网页,而使得在大屏幕的移动端设备下,文字、图片会变模糊。

    rem能等比例适配所有屏幕

    html{
        font-size:20px;
    }
    .btn {
         6rem;
        height: 3rem;
        line-height: 3rem;
        font-size: 1.2rem;
        display: inline-block;
        background: #06c;
        color: #fff;
        border-radius: .5rem;
        text-decoration: none;
        text-align: center;    
    }
    html{
        font-size:40px;
    }

    按钮大小结果如下:

    只要改变html中font-size的大小,页面中所有的width、height等用到rem单位的元素的大小都进行改变。

    可以使用media对大小不同的页面进行适配,如:

    html {
        font-size : 20px;
    }
    @media only screen and (min- 401px){
        html {
            font-size: 25px !important;
        }
    }
    @media only screen and (min- 428px){
        html {
            font-size: 26.75px !important;
        }
    }
    @media only screen and (min- 481px){
        html {
            font-size: 30px !important; 
        }
    }
    @media only screen and (min- 569px){
        html {
            font-size: 35px !important; 
        }
    }
    @media only screen and (min- 641px){
        html {
            font-size: 40px !important; 
        }
    }
    补充:viewpoint说明

    <meta name=”viewport” content=”width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;” />

    viewport 的宽度 (范围从 200 到 10,000 ,默认为 980 像素 )
    height: viewport 的高度 (范围从 223 到 10,000 )
    initial-scale: 初始的缩放比例 (范围从>0到 10 )
    minimum-scale: 允许用户缩放到的最小比例
    maximum-scale: 允许用户缩放到的最大比例
    user-scalable: 用户是否可以手动缩放

    
    

    对于这些属性,我们可以设置其中的一个或者多个,并不需要你同时都设置,iPhone 会根据你设置的属性自动推算其他属性值 ,而非直接采用默认值。

    如果你把initial-scale=1 ,那么 width 和 height在竖屏时自动为320*356 (不是320*480 因为地址栏等都占据空间 ),横屏时自动为 480*208。

    类似地 ,如果你仅仅设置了 width ,就会自动推算出initial-scale 以及height。

    例如你设置了 width=320 ,竖屏时 initial-scale 就是 1 ,横屏时则变成 1.5 了。

    
    
     
     

     

  • 相关阅读:
    翻转链表——链表
    Hadoop 2.2.0和HBase-0.98 安装snappy
    【POJ 1850】 Code
    Google翻译PDF文档
    leetcode第一刷_Reverse Linked List II
    linux之SQL语句简明教程---AND OR
    spring实战三装配bean之Bean的作用域以及初始化和销毁Bean
    spring实战一:装配bean之注入Bean属性
    系统启动时,spring配置文件解析失败,报”cvc-elt.1: 找不到元素 'beans' 的声明“异常
    阿里云ECS(云服务器)之产品简介
  • 原文地址:https://www.cnblogs.com/wxiaona/p/5753112.html
Copyright © 2011-2022 走看看