当前位置:   article > 正文

CSS3中的rem,em与px间的换算关系_在线css rem px换算

在线css rem px换算

px,em,rem之间有什么区别?

国内的设计大师都喜欢用px,而国外的网站大都喜欢用em和rem,那三者之间有什么区别?又各自有什么优劣呢?

px

Pixel像素,相对长度单位。像素是相对于显示器分辨率而言。

em

相对长度单位,相对于当前对象内文本的字体尺寸,如当前对行内文本的字体尺寸未被设置,则相对于浏览器的默认字体尺寸。
任意浏览器的默认字体高都是16px。所有未经调整的浏览器都符合:1em= 16px。有时为简化font-size的换算,需要在css中的body选择器中声明font-size=62.5%,此时1em=16px*62.5%=10px,这样12px=1.2em,10px=1em,也就是说换算时只需将原有px数值除以10,然后换上em作为单位即可。
特点:
1 em 的值并不是固定的。
2 em的值会继承父级元素的字体大小。

<html>
    <div>
        <p> 你猜我字体是多大?</p>
    </div>
</html>
/******css样式*********/
html{
    font-size:62.5% // font-size:10px 1em:10px
}
div{
    font-size:1.2em //font-size: 10 *1.2 =12px
}
p{
    font-size:1.2em //font-size= 12*1.2=14.4px
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

rem

rem是CSS3新增的一个相对单位(root em,根em),这个单位与em有什么区别呢?区别在于使用rem为元素设定字体大小时,虽然仍是相对大小,但相对的只是HTML根元素。通过rem,既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。
目前除IE8及更早版本外,所有浏览器均已支持rem。对于不支持的浏览器,可以多写一个绝对单位的声明。如此浏览器会忽略rem设定的字体大小。

p{
    font-size:14px;
    font-size:2rem;
}
  • 1
  • 2
  • 3
  • 4

注意:
1 若没有在根元素(html字体)指定参照值,那浏览器默认1 rem就是16px,若指定值,则1rem就是指定值
2 html设置为62.5%或者10px时会失效,是因为 小于12px或者75%的字体大小 不支持换算。这可能与有些浏览器不支持12px以下的大小有关。所以,使用rem单位,html的字体默认字体大小必须设置为12px或以上。若小于12px则浏览器换算时自动默认字体为12px。

px,em,rem转换进阶版

px,em,rem 在线转换工具:地址:http://pxtoem.com/

移动端适配时,大量的数据转换非常耗时。对于数学不是很好的娃来讲,恩,好讨厌。算完一遍之后还要核查一遍。更讨厌了。

懒人推动世界进步。前方高能。使用该js,无需meta viewport 进行移动端各个界面的编写。

//author:caibaojian
//website:http://caibaojian.com
//weibo:http:weibo.com/kujian
//兼容UC竖屏转横屏出现的BUG
//自定义设计稿的宽度:designWidth
//最大宽度:maxWidth
;(function(designWidth, maxWidth) {
    var doc = document,
        win = window;
    var docEl = doc.documentElement;
    var tid;
    var rootItem,rootStyle;

    function refreshRem() {
        var width = docEl.getBoundingClientRect().width;
        if (!maxWidth) {
            maxWidth = 540;
        };
        if (width > maxWidth) {
            width = maxWidth;
        }
        var rem = width * 100 / designWidth;
        rootStyle="html{font-size:"+rem+'px !important}';
        rootItem = document.getElementById('rootsize') || document.createElement("style");
        if(!document.getElementById('rootsize')){
        document.getElementsByTagName("head")[0].appendChild(rootItem);
        rootItem.id='rootsize';
        }
        if(rootItem.styleSheet){
        rootItem.styleSheet.disabled||(rootItem.styleSheet.cssText=rootStyle)
        }else{
        try{rootItem.innerHTML=rootStyle}catch(f){rootItem.innerText=rootStyle}
        }
        docEl.style.fontSize = rem + "px";
    };
    refreshRem();

    win.addEventListener("resize", function() {
        clearTimeout(tid); //防止执行两次
        tid = setTimeout(refreshRem, 300);
    }, false);

    win.addEventListener("pageshow", function(e) {
        if (e.persisted) { // 浏览器后退的时候重新计算
            clearTimeout(tid);
            tid = setTimeout(refreshRem, 300);
        }
    }, false);

    if (doc.readyState === "complete") {
        doc.body.style.fontSize = "16px";
    } else {
        doc.addEventListener("DOMContentLoaded", function(e) {
            doc.body.style.fontSize = "16px";
        }, false);
    }
})(750, 750);
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57

js文件下载地址:
http://download.csdn.net/detail/monster_g/9738647

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/article/detail/98764
推荐阅读

  • 蓝桥Web应用开发【国赛班】-CSS3新特性【练习一:属性有效性验证】蓝桥Web应用开发-CSS3新特性【练习一:属性有效性验证】练习一:属性有效性验证页面上有一个邮箱输入框,当你的输入满足邮箱格式时,输入框的背景颜色为绿色;当你的输入... [详细]

  • 表单概述 表单信息输入 单行文本输入框密码框文本框 关于在不同浏览器中显示宽度不同的解决问题 关于IE浏览器中默认文本框和密码框显示长度不一的问题 复选框单选按钮 提交按钮重置按钮和普通按钮 图像提交按钮 按钮组合案例 文件选择框及隐... [详细]

  • 前言CSS3边框 1.border-radius圆角边框 2.box-shadow边框阴影 3.border-image边框图像CSS3转换transform属性 1.CSS32D转换总结[HTML]Web前端开发技术21(HTML5、CS... [详细]

  • 前言CSS3动画animationCSS3动画animation子属性设置CSS3多列属性CSS3文本效果 1.文本阴影text-shadow属性 2.文本换行text-wrap属性 3.控制换行word-wrap属性 4.文本溢出text... [详细]

  • 掌握HTML标签基本语法(标题、段落、换行、水平线、文本格式、图像、路径、超链接、音频、视频、注释),能够独立布局文章页HTML5+CSS3+移动web——HTML基础目录一、标签语法HTML的基本框架1.标题标签2. 段落标签3... [详细]

  • html+css+js生日快乐网站模板(多页面功能版本+音乐)❤520/表白/七夕情人节/求婚❤专用炫酷动画网页的源代码HTML5+CSS3+JS)程序员爱情❤520/表白/七夕情人节/求婚❤专用html5+css3+js生日快乐网站模板... [详细]

  • 【实例简介】是对之前一个资源的补充,之前少了一些内容,但是没办法修改所以就重传了一份。多了一张图片和一个帮助文档,介绍怎么修改登陆密码和替换图片,其它也没啥不一样23333.下面是原文档的描述:自己给好朋友制作的一个生日快乐的网站,做完之后... [详细]

  • 生日快乐网站模板HTML(精品制作)(HTML5+CSS3+JS)最近姐姐的生日快到了,想着也没有什么礼物送给她,恰好因为CTF的原因学了点HTML和JavaScript,就做了两个网页,当然因为网页(wo)很(ye)简(bu)单(hui)... [详细]

  • CSS3简单3D旋转画册上次我们简单介绍了c3的一些基础知识,我们今天来做一个小练习;这个简单的案例是3D的一个旋转画册,那么上面是我们的一个效果图,因为不能够传视屏所以就暂时只能够截图来看一下具体结构。正如大家所看见的,该相册由两个正方体... [详细]

  • 实例:3D立方体旋转相册。技术栈:HTML、CSS。_html5css33d旋转html5css33d旋转实例:3D立方体旋转相册技术栈:HTML、CSS效果: 源码:<!DOCTYPEhtml><html>... [详细]

  • 特效描述:3D动画方块翻转动画动画特效css33D翻转动画效果代码结构1.引入CSS2.引入JS3.HTML代码SophiaShowGilrLoremipsumdolorsitamet,consecteturadipiscingelit,... [详细]

  • 用到的知识点最重要的一个属性transform-style:flat|preserve-3d;该属性默认值为flat。当我们指定一个容器的transform-style的属性值为preserve-3d时,容器的子元素便会相对父元素所在平面进... [详细]

  • HTML5文档结构HTML5页面结构HTML5新增结构元素1.header标记2.nav标记3.article标记4.section标记5.aside标记6.footer标记HTML5新增页面元素hgroup标记figure标记与figca... [详细]

  • 一年一度的/520/七夕情人节/女朋友生日/程序员表白,是不是要给女朋友或者正在追求的妹子一点小惊喜呢,今天这篇博客就分享下前端代码如何实现3D立体动态相册。赶紧学会了,来制作属于我们程序员的浪漫吧!❤七夕情人节表白[樱花飘落3D相册],程... [详细]

  • 一段动画,就是一段时间内连续播放n个画面。每一张画面,我们管它叫做“帧”。一定时间内连续快速播放若干个帧,就成了人眼中所看到的动画。同样时间内,播放的帧数越多,画面看起来越流畅。关键帧指的是,在构成一段动画的若干帧中,起到决定性作用的2-3... [详细]

  • html+css+js实现生日快乐代码????超炫酷效果????(含生日背景音乐)❤520/表白/七夕情人节/求婚❤专用炫酷动画网页的源代码程序员爱情❤520/表白/七夕情人节/求婚❤专用html5+css3+js生日快乐网站模板HTML生... [详细]

  • 表格网页标题域标签的使用网页标题美家装饰联系我们网页标题登录界面网页标题问卷调查[HTML]Web前端开发技术16(HTML5CSS3JavaScript)表格课后练习网页标题域标签的使用网页标题美家装饰联系我们网页标题登... [详细]

  • 博主自己学习css3+html5时所记录的笔记,以及练习的大厂项目的资料分享,希望可以帮助到大家。_使用html5结构元素和无序列表布局页面,标题的背景颜色是#e6071b使用css3使用html5结构元素和无序列表布局页面,标题的背景颜... [详细]

  • 项目效果实现原理首先给他一个div盒子,然后在里面给他装8个div装img,给装img的div一个position:absolute,使所有的照片都叠在一起,然后给个transform:translatesZ(px)使图片在对应的角度移动出... [详细]

  • 相关标签
      

    闽ICP备14008679号