比例字体&等宽字体

我们都知道等宽字体和比例字体的区别,就在于比例字体(Monospaced Font)即每个字母宽度是按一定比例自动调整的,而等宽字体(Proportional font)则是固定宽度,固定间距,字体的每一个字母和字符所占的水平空间都是相同的。

比例字体:是指字符宽度存在变化的字体,在传统西文活字印刷中使用的铅字,如小写字母的i, j和w,m的字符宽度是不一样的,但是这样做可以提高单词的可读性,这在铅字制作设计上称为比例字体。近年来制作的比例字体中,一般都会包含有较多的间距调整、斜体修正、合体字等信息 。 等宽字体:早期的打字机、电脑屏幕由于技术的限制,不能自动显示比例字体,因而最先出现的是等宽字体。它指的是字符宽度相同的一类字体。这里要注意的一点是,中英文宽度应该不是相同而是成整数倍关系——一般来说中文字符在这些字体中的宽度是英文字符的两倍。

两者区别:它们的关键差别主要是在阅读上,显然比例字体使单词的整体可读性增强了,比如我们最常用的kindle。

不过,即便到今天,等宽字体也还有它一定的使用优势,比如命令行、打字机效果、又或者程序猿常常会拿它来显示代码。

接下来我们看看他们跟web又有 什么关系:

代码阅读

之前有提到过代码显示一般是用到等宽字体,是为了方便阅读,其实在有些情况下,不一定,比如下面这种字母错误的情况,如果是等宽字体,查阅起来就没有那么容易,好在编辑器有高亮错误提示。

HTML标签

UI开发熟悉的html标签< code>,它是用于表示计算机源代码或者其他机器可以阅读的文本内容。通常将标签内的文本变成等宽字体,表示这段文本是源程序代码。< code>标签是一个短语标签,用来定义计算机代码文本。

当然不光是< code>标签,还有< pre>,预格式化文本,任何位于< pre>开标签和< /pre>闭标签之间的文本都会保持其在源文件中的格式。大多数浏览器默认会使用等宽字体显示这种文本(Courier字体就是一个等宽字体的例子,每个字母占用相同的宽度 )。< pre>元素最常用于显示计算机源码。

CSS单位

还有一个与等宽字体有关的css单位:ch

它是以字符0的宽度为基准, 另外一个单位ex是以小写字符x的高度为基准,当font-family改变的时候这两个单位的值也会变化,不同字体表现的样式不一样。

我们可以测试一下这个ch单位,当们把宽度设置为2ch的时候的表现是怎样:

总结:不同于比例字体,等宽字体具有相同的宽度字符。这种特点让它更易于阅读,拥有较高的统一性和一致性。也因为它简单、连贯和实用,常常受到设计师和开发者的亲睐。

下面是一些关于等宽字体的资源:

https://en.wikipedia.org/wiki/Samples_of_monospaced_typefaces

https://www.fontsquirrel.com/fonts/list/classification/monospaced

http://www.1001fonts.com/monospaced-fonts.html

https://www.typewolf.com/top-10-monospaced-fonts

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏小巫技术博客

A013-animator资源

8530
来自专栏小狼的世界

如何让高度、宽度不定的容器保持水平、垂直居中

这个题目似乎解决的办法很多,JS是最能够确保各种浏览器中一致性的,但是仍然可以使用CSS的方式来解决。这个问题分解为两个方面,第一解决左右居中的问题,第二解决上...

12920
来自专栏Nian糕的私人厨房

Canvas 让你的屏幕下一场 Hacker 流星雨吧

今天来分享一个很狂拽酷炫吊炸天的特效,其装逼效果不亚于上面那张入侵五角大楼导弹制导系统的概念图(手动滑稽),实现起来很简单,跟着动手一起来吧

9720
来自专栏不会写文章的程序员不是好厨师

全栈第一步-CSS基础前言CSS基础总结

作为一名后端狗,也有一个全栈梦。前端工程师第一步,CSS的基础得打好。本文仅用于记录上周学习CSS的过程,文中对于CSS知识点可能存在理解错误之处。

9820
来自专栏练小习的专栏

封装图片滑动效果

by bopooo 在腾讯QQ软件下载的页面有一个图片滑动的效果,觉得还不错 就自己封装了一个 技术方面在 动作缓冲上 遇到一些问题 不过都解决了 不过还...

266100
来自专栏进击的君君的前端之路

CSS理解之Float

17240
来自专栏极客猴

会变色的TextView

近几年来,网络直播可以说是非常火热。网红也是遍地花开,其中不少主播在 PC 端做直播,也有很多主播用手机来直播。主播和观众经常需要互动交流,所以文字交流必不可少...

6310
来自专栏疯狂的小程序

详解微信小程序如何实现流程进度功能

最近正在做微信小程序,需要实现一个流程进度的图样式如下面

32770
来自专栏Pythonista

Golang之(for)用法

地鼠每次选好了一块地,打洞,坚持半个月发现地下有块石头,然后他就想绕路了。。。殊不知绕路只会让它离成果越来越远

17940
来自专栏木子昭的博客

块元素, 内联元素, 内联块元素块元素(默认为父级宽度的100%,支持全部样式):内联元素(不支持宽高, 不支持margin上下, 不支持padding上下)内联块元素(从其它元素转换而来, disp

块元素(默认为父级宽度的100%,支持全部样式): body h1 , h2, h3, h4, h5, h6 p div li (条目) ul(定义无序列表, ...

37460

扫码关注云+社区

领取腾讯云代金券