• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > css中em px 区别你真的了解吗

css中em px 区别你真的了解吗

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含em,px,css等相关知识,佚名 希望在学习及工作中可以帮助到您
之前听人说过,网站制作中字体单位应该用em而不用px,原因简单来说就是支持IE6下的字体缩放,在页面中按ctrl+滚轮,字体以px为单位的网站没有反应。px是绝对单位,不支持IE的缩放,em是相对单位。

首先了解一下em是何物?

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作为单位就行了。em有如下特点:

1. em的值并不是固定的;
2. em会继承父级元素的字体大小。

重写步骤:

1. body选择器中声明Font-size:62.5%;
2. 将你的原来的px数值除以10,然后换上em作为单位;

简单吧,如果只需要以上两步就能解决问题的话,可能就没人用px了。经过以上两步,你会发现你的网站字体大得出乎想象。因为em的值不固定,又会继承父级 元素的大小,你可能会在content这个div里把字体大小设为1.2em, 也就是12px。然后你又把选择器p的字体大小也设为1.2em,但如果p属于content的子级的话,p的字体大小就不是12px,而是1.2em= 1.2 * 12px=14.4px。这是因为content的字体大小被设为1.2em,这个em值继承其父级元素body的大小,也就是16px * 62.5% * 1.2=12px, 而p作为其子级,em则继承content的字体高,也就是12px。所以p的1.2em就不再是12px,而是14.4px。

3. 重新计算那些被放大的字体的em数值。避免字体大小的重复声明,也就是避免以上提到的1.2 * 1.2= 1.44的现象。比如说你在#main中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。

诡异的12px汉字

在完成em转换时还会发现一个诡异的现象,就是由以上方法得到的12px(1.2em)大小的汉字在IE中并不等于直接用12px定义的字体大小,而 是稍大一点。这个问题我已经解决,你只需在body选择器中把62.5%换成63%就能正常显示了。

您可能想查找下面的文章:

  • css3中单位px,em,rem,vh,vw,vmin,vmax的区别及浏览器支持情况
  • CSS中单位px与em的区别(推荐)
  • 轻松掌握CSS3中的字体大小单位rem的使用方法
  • 知识普及:彻底搞懂CSS中单位px和em,rem的区别
  • 浅析rem和em和px vh vw和% 移动端长度单位
  • CSS的font-size属性及其em值的使用
  • 深入解读CSS的OOCSS和SMACSS以及BEM
  • ie6下embed标签不能播放视频问题解决方法
  • 搞清楚CSS中单位px与em之间的关系和特点
  • Class属性Extends和Implements的区别示例介绍

相关文章

  • 2017-08-06纯CSS实现垂直居中的9种方法
  • 2017-08-06CSS hack 针对IE6,IE7,firefox显示不同效果
  • 2017-08-06对CSS中的Position、Float属性的一些深入探讨
  • 2017-08-06CSS的预处理框架stylus学习教程
  • 2017-08-06从可维护性角度考虑css的!important规则的可用性
  • 2017-08-06关于CSS中的display:table-cell使用技巧的几种应用
  • 2017-08-06CSS样式继承和层叠
  • 2017-08-06css让页脚始终在底部不论页面内容多少
  • 2017-08-06实例讲解CSS3中的border-radius属性
  • 2017-08-06CSS 控制Html页面高度导致抖动问题的原因

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • 纯CSS实现Lavalamp效应的滑动菜单效果
    • ul和li实现分两列(多列)布局显示
    • 2013年五大主流浏览器 HTML5 与 CSS3 兼容性大比拼
    • div footer标签css实现位于页面底部固定
    • CSS常用浏览器兼容调整小结
    • 详解CSS的Sass框架中代码注释的编写方法
    • 一个挺常用的float布局div问题解决方法
    • 高效的CSS选择器编写指南
    • 去掉checkbox边框的方法(css)
    • 学习DIV+CSS网页布局之一列布局

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有