原文链接:http://www.feeldesignstudio.com/2013/05/text-rendering

Text-rendering 属性是一个非标准属性,主要用来告诉渲染引擎(rendering engine)渲染文字的时候如何来优化,浏览器根据这个属性来权衡速度、易读性、几何精度等方面。
暂时只有Gecko(Firefox)and WebKit(Safari 或 Chrome)支持这个属性。

注:
Gecko是套开放原始码的、以C++编写的网页排版引擎。目前为Mozilla家族网页浏览器以及Netscape 6以后版本浏览器所使用。
WebKit 是一个开源的浏览器引擎,与之相对应的引擎有Gecko(Mozilla Firefox 等使用)和Trident(也称MSHTML,IE 使用)。同时WebKit 也是苹果Mac OS X 系统引擎框架版本的名称,主要用于Safari,Dashboard,Mail 和其他一些Mac OS X 程序。

现在浏览器的内核引擎,基本上是四分天下:
Trident: IE 以Trident 作为内核引擎;
Gecko: Firefox 是基于 Gecko 开发;
WebKit: Safari, Google Chrome,傲游3 基于 Webkit 开发。
Presto: Opera的内核,但由于市场选择问题,主要应用在手机平台–Opera mini

Text-rendering属性有如下取值:

取值

描述

auto

浏览器为速度、易读性、几何精度等自动优化来绘制文本

在实践中,Gecko桌面浏览器(Firefox)如果字体大小为20 px或者更大,会使用optimizeLegibility;否则对于较小的文本使用optimizeSpeed

optimizeSpeed

绘制文本时速度优先,会禁用字距调整和连字

optimizeLegibility

绘制文本时易读性优先,会启用字距调整和连字

geometricPrecision

绘制文本时几何精度优先,暂时和optimizeLegibility相同

明显的效果是optimizeLegibility 在文字较小(20px以下)的时候,在一些特殊字体设定下(如Microsoft’s Calibri、Candara等)启用了连字(比如 ff、fi、fl)

下面是一些例子:

页面代码

 

XHTML

 
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>text-rendering</title>
<style>
body {
text-rendering:auto;
}
p {
margin:20px0;
font-size:30px;
}
p.auto {
text-rendering:auto;
}
p.optimizeSpeed {
text-rendering:optimizeSpeed;
}
p.optimizeLegibility {
text-rendering:optimizeLegibility;
}
p.geometricPrecision {
text-rendering:geometricPrecision;
}
</style>
</head>
<body>
<p class="auto">Welcome to Feeldesign Studio <br>ligatures: ff, fi, fl, ffl</p>
<p class="optimizeSpeed">Welcome to Feeldesign Studio <br>ligatures: ff, fi, fl, ffl</p>
<p class="optimizeLegibility">Welcome to Feeldesign Studio <br>ligatures: ff, fi, fl, ffl</p>
<p class="geometricPrecision">Welcome to Feeldesign Studio <br>ligatures: ff, fi, fl, ffl</p>
</body>
</html>

注意下面的图片中顺序是:

  1. text-rendering: auto;
  2. text-rendering: optimizeSpeed;
  3. text-rendering: optimizeLegibility;
  4. text-rendering: geometricPrecision;

Chrome:

Firefox:

换个字体,小于20px:

小于20px

 
 
 
 
 
 

CSS

 
p {
font:19px'DejaVu Serif',Constantia;
}

  

Chrome:

Firefox:

换个字体,大于20px:

大于20px

 
 
 
 
 
 

CSS

 
1
2
3
p {
     font:30px'DejaVu Serif',Constantia;
}

Chrome:

Firefox:

可以比较明显的看出,不同的text-rendering属性在Chrome下的区别比较明显,在Firefox下基本上没有区别。

text-rendering 详解的更多相关文章

  1. phaser学习总结之Text对象详解

    前言 在phaser学习总结之phaser入门教程中,我们已经入门了phaser,对phaser也有所了解但是我们并没有对phaser中的每个对象的属性和方法进行详解,本章将对phaser中的Text ...

  2. jquery之html(),text()方法详解

    一:html() html()函数用于设置或返回当前jQuery对象所匹配的DOM元素内的html内容. 该函数的用途相当于设置或获取DOM元素的innerHTML属性值. 该函数属于jQuery对象 ...

  3. Flutter Container 组件、Text 组件详解

    Text 组件 textAlign     文本对齐方式(center 居中,left 左对齐,right 右对齐,justfy 两端对齐) textDirection   文本方向(ltr 从左至右 ...

  4. UITextView的使用详解

    //初始化并定义大小 UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 30)]; te ...

  5. 【转】UITextView的使用详解

    //初始化并定义大小 UITextView *textview = [[UITextView alloc] initWithFrame:CGRectMake(20, 10, 280, 30)]; te ...

  6. java爬取网页内容 简单例子(2)——附jsoup的select用法详解

    [背景] 在上一篇博文java爬取网页内容 简单例子(1)——使用正则表达式 里面,介绍了如何使用正则表达式去解析网页的内容,虽然该正则表达式比较通用,但繁琐,代码量多,现实中想要想出一条简单的正则表 ...

  7. SUBLIME TEXT 2 设置文件详解

    SUBLIME TEXT 2 设置文件详解 Preferences.sublime-settings文件: // While you can edit this file, it’s best to ...

  8. Sublime Text 设置文件详解

     Sublime Text 2是那种让人会一眼就爱上的编辑器,不仅GUI让人眼前一亮,功能更是没的说,拓展性目前来说也完全够用了,网上介绍软件的文章和推荐插件的文章也不少,而且很不错,大家可以去找找自 ...

  9. sublime text 3 build 3143 安装详解

    sublime text 3 build 3143 安装详解   环境:ubuntu 16 (x64) 0x00 下载   官网下载地址   下载的文件是个压缩包,笔者解压之后将整个sublime-t ...

  10. 全网最详细的Sublime Text 3的安装Package Control插件管理包(图文详解)

    不多说,直接上干货! 全网最详细的Windows里下载与安装Sublime Text *(图文详解) 全网最详细的Sublime Text 3的激活(图文详解) 全网最详细的Sublime Text ...

随机推荐

  1. [Java] 过滤文件夹

    package test.file; import java.io.File; import java.io.FileFilter; /** * 过滤文件夹 * @author Frost.Yen * ...

  2. 在MS CRM 4.0中引用JS文件

    引用: http://blog.csdn.net/qzw4549689/article/details/6027987 1.编写好JS代码,在ISV目录下新建一个目录javascripts,将JS文件 ...

  3. struts2的异常

    index.jsp <%@ page language="java" import="java.util.*" contentType="tex ...

  4. MongoDB 语法使用小结

    MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的     他支持的数据结构非常松散,是类似json的bjson格式,因此可以存储比较复杂的数据 ...

  5. 山东省第六届ACM省赛

    A.Nias and Tug-of-War(sort排序) B.Lowest Unique Price(set+map) C.Game!(博弈) D.Stars E.BIGZHUGOD and His ...

  6. 第七届蓝桥杯C++B组省赛

    1.煤球数目 2.生日蜡烛 3.凑算式 4.快速排序 5.抽签 6.方格填数 7.剪邮票 8.四平方和 9.交换瓶子 10.最大比例 今天是周三了,周天刚考完,这次做的还是不好(上次是全省最后一名). ...

  7. [SQL]SQL语言入门级教材_SQL数据操作基础(二)

    SQL数据操作基础(初级) netnova 于 -- :: 加贴在 数据库探讨: 为了建立交互站点,你需要使用数据库来存储来自访问者的信息.例如,你要建立一个职业介绍服务的站点,你就需要存储诸如个人简 ...

  8. php 使用pathinfo(), parse_url(), basename()解析URL

    本文章向大家介绍解析URL的三种方法,分别为pathinfo()方法.parse_url()方法和basename()方法.每个方法都列举了一个实例,通过实例更容易理解这三个函数的使用方法和技巧,需要 ...

  9. JQuery 插件FlexiGrid 之完全配置与使用

    博客分类: Java综合 jQuery配置管理jsonServlet数据结构  自己再做这个的时候.也是找了很多资料..但网上搜索了很多资料. 没有介绍的很全的. 鄙人就在此献丑一下. 来全面的介绍一 ...

  10. Android——进度条ProgressBar

    1.activity_progressbar.xml <?xml version="1.0" encoding="utf-8"?><Linea ...