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

搞清楚CSS中单位px与em之间的关系和特点

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

本文主要包含单位,em,px等相关知识,佚名 希望在学习及工作中可以帮助到您
这里引用的是Jorux的“95%的中国网站需要重写CSS”的文章,题目有点吓人,但是确实是现在国内网页制作方面的一些缺陷。我一直也搞不清楚px与em之间的关系和特点,看过以后确实收获很大。平时都是用px来定义字体,所以无法用浏览器字体放大的功能,而国外大多数网站都可以在IE下使用。因为

1、IE无法调整那些使用px作为单位的字体大小;

2、国外的大部分网站能够调整的原因在于其使用了em作为字体单位;

3、Firefox能够调整px和em,但是96%以上的中国网民使用IE浏览器(或内核)。

px像素(Pixel)。相对长度单位。像素px是相对于显示器屏幕分辨率而言的。(引自CSS2.0手册)

em是相对长度单位。相对于当前对象内文本的字体尺寸。如当前对行内文本的字体尺寸未被人为设置,则相对于浏览器的默认字体尺寸。(引自CSS2.0手册)

任意浏览器的默认字体高都是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会继承父级元素的字体大小。

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

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

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

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

也就是避免1.2 * 1.2= 1.44的现象。比如说你在#content中声明了字体大小为1.2em,那么在声明p的字体大小时就只能是1em,而不是1.2em, 因为此em非彼em,它因继承#content的字体高而变为了1em=12px。

但是12px汉字例外,就是由以上方法得到的12px(1.2em)大小的汉字在IE中并不等于直接用12px定义的字体大小,而是稍大一点。这个问题 Jorux已经解决,只需在body选择器中把62.5%换成63%就能正常显示了。原因可能是IE处理汉字时,对于浮点的取值精确度有限。不知道有没有其他的解释。

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

  • 老生常谈CSS中的长度单位
  • css 字体单位之间的区分以及字体响应式的实现详解
  • 详解CSS中视窗单位和百分比单位的使用
  • 分享7个你可能不认识的CSS单位
  • 搞清楚CSS中单位px与em之间的关系和特点
  • CSS的em、px、pt长度单位转换示例
  • 宽度百分比单位的转换公式及示例
  • css中的长度单位(em/ex/px/pt)使用介绍
  • CSS值、单位和字体说明
  • CSS 字体单位em简介

相关文章

  • 2017-08-06纯css制作带三角border篇(兼容所有浏览器)
  • 2017-08-06CSS中position定位的个熟悉示例介绍
  • 2017-08-06细说CSS3中box属性中的overflow-x属性和overflow-y属性值的效果
  • 2017-08-06谨慎使用CSS中的星号(*)通配符
  • 2017-08-06CSS中的zoom属性和scale属性的用法及区别
  • 2017-08-06web开发中的一些技术杂项整理文章
  • 2017-08-06纯html+css制作三级下拉菜单
  • 2017-08-06CSS属性探秘系列(一):word-break与word-wrap
  • 2017-08-06有关网站网页设计中的那些事儿分享
  • 2017-08-06div设置背景图片且x轴重复排列的css样式

文章分类

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

最近更新的内容

    • HTML5 CSS3给网站设计带来出色效果
    • html内容超出了div的宽度如何换行让内容自动换行
    • 利用纯css3实现的文字亮光特效的代码演示
    • CSS的Box模型图
    • CSS实现的图片宽高自适应固定边框
    • CSS 使用table布局网页是不明智
    • 图片下面出现空白像素BUG的常用解决方法归纳
    • 浅谈CSS中overflow清除浮动的用法
    • 兼容当前五大浏览器的渐变颜色背景gradient的写法
    • 给div加滚动条 div显示滚动条设置代码

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

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