在我们日常的项目中经常会用到不同的字体来达到我们想要的效果,可是某些情况下不同字体的大小在相同的px下显示的大小是不同的

<div id="div1">Text 1</div>
<div id="div2">Text 2</div>
<div id="div3">Text 3</div>
<div id="div4">Text 4</div> div#div1 {
font-family: Comic Sans Ms;
font-size: 16px;
}
div#div2 {
font-family: Tahoma;
font-size: 16px;
}
div#div3 {
font-family: Arial;
font-size: 16px;
}
div#div4 {
font-family: Times New Roman;
font-size: 16px;
}

在火狐下的显示效果如下

可以看到同样是16px的字体显示到浏览器中缺大小不一,可能会是原来安排好的页面布局产生混乱,这是最令人难过的事情了。那么:

div#div1 {
font-family: Comic Sans Ms;
font-size: 16px;
font-size-adjust: 0.50;
}
div#div2 {
font-family: Tahoma;
font-size: 16px;
font-size-adjust: 0.54;
}
div#div3 {
font-family: Arial;
font-size: 16px;
font-size-adjust: 0.54;
}
div#div4 {
font-family: Times New Roman;
font-size: 16px;
font-size-adjust: 0.49;
}

给每个css中添加了不同的font-size-adjust值,现在在浏览器中的显示效果如我们所愿(默认按照最后一个字体的大小显示):

aaarticlea/png;base64,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" alt="" />

在看font-size-adjust这个主角之前,我们先看这个属性的值 -- aspect,什么是aspect呢?举例:Verdana 的 aspect 值是 0.58(意味着当字体尺寸为 100px 时,它的 x-height 是 58px )。每一种字体都有自己的默认aspect值。

font-size-adjust 属性就是为某个元素规定一个 aspect 值,这样就可以保持首选字体的 x-height。字体的小写字母 "x" 的高度与 "font-size" 高度之间的比率被称为一个字体的 aspect 值。当字体拥有高的 aspect 值时,那么当此字体被设置为很小的尺寸时会更易阅读。   --来自W3C

浏览器对于aspect值的计算方法:c=(a/b) s  a:表示实际使用字体的aspect值,b表示修改前字体的aspect值,s表示指定的字体尺寸,c为浏览器最后显示的尺寸。所以当我们在我们的页面中使用了与页面原始不同的字体时,我们可以利用font-size-adjust来调整这个外来字体的大小,使他看起来和页面原始字体的大小一样,这样就不会对页面的布局产生不可预告的影响了。

最后,还有更多的未知等待探索,还是那句话,小角色有时候会变成大英雄!

低调的css3属性font-size-adjust的更多相关文章

  1. 实用的CSS3属性和使用技巧

    CSS可以改进网站的设计并且开拓网站设计更多的可能性,可以令你的网页更具吸引力.对于前端开发者.网站设计师来说,掌握并熟练应用CSS是一项必不可少的技能. 下面列出了一些非常实用的CSS3属性和使用技 ...

  2. CSS Sprites+CSS3 Icon Font

    CSS Sprites+CSS3 Icon Font CSS Sprites在国内很多人叫CSS精灵,是一种网页图片应用处理方式.它允许你将一个页面涉及到的所有零星图片都包含到一张大图中去,这样一来, ...

  3. GetPropInfo Font Size

    设置font size,遍历所有控件,有的控件没有font属性,所以要用GetPropInfo判断 if (GetPropInfo(cmp, "font")) function G ...

  4. 今天我们来讨论一下CSS3属性中的transition属性;

    transition属性是CSS3属性:顾名思义英文为过渡的意思:主要有四个值与其一一对应:分别是property(CSS属性名称),duration过渡的时长,timimg-function转速曲线 ...

  5. 如何处理CSS3属性前缀

    今天闲来无聊,重新来说说CSS3前缀的问题.在春节前和@一丝姐姐说起Sass中有关于gradient的mixins.姐姐说: 为什么还要用mixin呢?为什么不使用Autoprefixer?使用Aut ...

  6. CSS3属性 box-shadow 向框添加一个或多个阴影

    CSS3属性 利用box-shadow制作网页页眉背景 box-shadow 浏览器支持 IE9+.Firefox 4.Chrome.Opera 以及 Safari 5.1.1 支持 box-shad ...

  7. CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)

    CSS3属性transform详解之(旋转:rotate,缩放:scale,倾斜:skew,移动:translate)   在CSS3中,可以利用transform功能来实现文字或图像的旋转.缩放.倾 ...

  8. 让IE6/IE7/IE8浏览器支持CSS3属性

    让IE6/IE7/IE8浏览器支持CSS3属性 一.下载 您可以狠狠地点击这里:ie-css3.htc,这个玩意儿是让IE浏览器支持CSS3表现的关键东东. 二.上面的是什么东西 首先说说.htc文件 ...

  9. H5、CSS3属性的支持性以及flex

    一.项目中用到一个flex属性,但是应用了flex的父容器只设置了width,没有设置height,此时每一个应用了上面提到的属性的样式的div都重叠在了一起,在IE10,IE11出问题,IE9没有问 ...

随机推荐

  1. Java基础 - 标识符

    标识符就是用来给包,类,方法变量等起名字的符号 组成规则: A:unicode字符 数字字符,英文大小写字母,汉字(不建议使用汉字) B:下划线 _ C:美元符 $ 注意事项: A:不能以数字开头 B ...

  2. 洛谷 2233 [HNOI2002]公交车路线

    题目戳这里 一句话题意 一个大小为8的环,求从1到5正好n步的方案数(途中不能经过5). Solution 巨说这个题目很水 应该是比较容易的DP,直接从把左边和右边的方案数加起来即可,但是有几个需要 ...

  3. java堆分析神器MAT

    Memory Analyzer(MAT) 基于Eclipse的软件 http://www.eclipse.org/mat/

  4. 如何使用Django实现用户登录验证

    最初开始搞用户登录验证的时候感觉没什么难的,不就是增删改查中的查询数据库么,但是还是遇到许多小问题,而且感觉在查询数据库的时候,要把前端的数据一条一条的进行比对,会导致我的代码很丑,而且方式很不智,所 ...

  5. bug-3——onload,onbeforeunload,Onunload的区别

    window.onload事件设置页面加载时执行的动作,即进入页面的时候执行的动作.   window.onunload已经从服务器上读到了需要加载的新的页面,在即将替换掉当前页面时调用 一般用于设置 ...

  6. python中的一些坑(待补充)

    函数默认参数使用可变对象 def use_mutable_default_param(idx=0, ids=[]): ids.append(idx) print(idx) print(ids) use ...

  7. Linux基础系列:常用命令(5)_samba服务与nginx服务

    作业一:部署samba 每个用户有自己的目录,可以浏览内容,也可以删除 所有的用户共享一个目录,只能浏览内容,不能删 安装samba服务 1.准备环境 setenforce 0 2.安装软件包 yum ...

  8. c的详细学习(9)结构体与共用体的学习(一)

    C语言提供了另外两种构造类型:结构体与公用体,用来存储若干个类型不同但彼此组成一个集合的数据总体. (1)结构体类型与结构体变量 1.定义 其一般形式为: struct  结构体类型名{ 数据类型1 ...

  9. 常用grads函数

    GrADS的函数分两类, 一类是对格点/站点数据执行运算的,这一类我们姑且称之为分析函数; 另一类是脚本编程(gs)时使用的, 这后一类我们姑且称之为脚本函数. 第一类分析函数又分为格点分析和站点分析 ...

  10. ubuntu android studio 编译及运行错误Error retrieving parent for item: No resource found that matches the given name

    安装好android studio并且安装其它需要的SDK或组件后,根据向导生成新的项目, 编译或运行时可能会出现下面的错误: Error:Error retrieving parent for it ...