CSS – Monospaced font & ch unit 等宽字体与 ch 单位
前言
在做 Statistics Counter 时, 发现总是会跳, 研究后才发现原来是等宽搞的鬼, 这篇就来说说等宽字体.
参考
不等宽字体
不等宽指的是, 不同字母的 width 不一样.
游览器默认的字体 Times New Roman 就是不等宽字体

不管是字母还是数字, 不同字符宽度都不一致.
半等宽字体
Material 的 Roboto 算是半等宽字体.

它的字母是不等宽的, 但是数字是等宽的. 这也是为什么许多人会特意拿 Roboto 做数字的 font-family.
等宽字体
Roboto Mono 就是完全的等宽字体

字母和数字的宽度都是一致的.
等宽字体列表: List of monospaced typefaces, 大部分后面有加 Mono 的都是等宽字体 (但也不是 100% 啦)
游览器等宽字体
如果不想引入 roboto 的话, 可以用游览器自带的 monospace. 参考: CSS Web Safe Font Combinations, CSS Web Safe Fonts
ch unit
1ch 等于一个字符 "0" 的宽度. 如果字体是等宽字体, 那么可以说 10 ch 就等于 10 个字符的 width.
但如果不是等宽字体, 那么 ch 就不准了. 所以要谨慎使用哦.
CSS – Monospaced font & ch unit 等宽字体与 ch 单位的更多相关文章
- CSS 条件判断、等宽字体以及ch单位
<!DOCTYPE> <html lang="en"> <head> <meta charset="utf-8"> ...
- ch 与等宽字体
难题 有的时候,特别想通过字符来判断元素的长度,比如: 多行文本溢出时,文字变省略号 文字一个个的显示 效果分别如下: 第一种情况下,如果可以通过字符的数量判断长度是否溢出,从而把最后几个字符替换成省 ...
- 字体:等宽字体与比例字体 - Monospaced font & Proportional font
字体:等宽字体与比例字体 - Monospaced font & Proportional font 量子波儿 2013-08-24 16:54:12 7101 收藏 1分类专栏: 计算机常识 ...
- 等宽字体延伸到的 ch 长度单位和动画 animation-timing-function
新知识点get! 等宽字体(monospaced font)是指字符宽度相同的电脑字体.与此相对,字符宽度不尽相同的电脑字体称为比例字体(proportional font). 东亚字体基本都是等宽字 ...
- css中 font常用的样式属性
今天我总结一下文本常用的字体样式 1.font常用样式 1)字体类型 语法:font-family: +字体类型: 如: font-family:宋体; 2)字体大小 语法:font-size: ...
- netbeans等宽字体却不支持中文
一直用netbeans,各方面都很满意,就是这字体十分不爽,如用等宽字体却不支持中文,百度了一下,找到了解决办法,贴出来,给需要的朋友. 01.找到自己java字体目录.我的目录是[C:\Progra ...
- 等宽字体的妙用-loading 点点点动画
原理 ch等宽字体 + text-indent 动画负缩进 显示效果如 loading . loading .. loading ... loading . loading .. loading .. ...
- css 14-CSS3属性详解:Web字体
14-CSS3属性详解:Web字体 #前言 开发人员可以为自已的网页指定特殊的字体(将指定字体提前下载到站点中),无需考虑用户电脑上是否安装了此特殊字体.从此,把特殊字体处理成图片的方式便成为了过去. ...
- 利用private font改变PDF文件的字体
利用private font改变PDF文件的字体 前几天做项目,需要使用未安装的字体来改变PDF的文件.以前并没有实现过类似的功能,幸运的是我在网上找到了类似的教程,并成功实现了这个功能. 下面就跟大 ...
- 编程等宽字体Source Code Pro(转)
Source Code Pro - 最佳的免费编程字体之一!来自 Adobe 公司的开源等宽字体下载 每一位程序员都有一套自己喜爱的代码编辑器与编程字体,譬如我们之前就推荐过一款"神 ...
随机推荐
- Swift开发基础07-内存布局
了解Swift的内存布局和底层原理对于编写高性能和内存高效的应用非常重要.接下来,我将更详细地介绍Swift的内存管理机制和一些底层实现细节,包括内存布局.ARC(自动引用计数).引用类型和值类型的区 ...
- Mysql中where条件自动类型转换的坑
我有张表,其主键id字段为varchar(5),内容是5位随机不重复字符串表的内容大概是这样的 id name s8bk2 admin 9f0ps username 在一个方法中我查询了这张表,代码大 ...
- 调试 Node.js
调试 Node.js 调试器 调试器是一种软件工具,用于通过分析方法观察和控制程序的执行流 设计目标:帮助找出 bug 的根本原因,并帮助你解决它 工作方式:将程序托管在自己的执行进程中或者作为附加到 ...
- 一文揭开JDK21虚拟线程的神秘面纱
虚拟线程快速体验 环境:JDK21 + IDEA public static void main(String[] args) { try (var executor = Executors.newV ...
- 暑假自学Java进度总结04
一.今日所学: 1.下载并使用idea开发工具 1>了解idea的发展历史 2>尝试用idea编写代码 3>学习idea中的项目和模块操作 2.学习赋值运算符 加后赋值:" ...
- Linux系统——删除用户命令
背景: 负责管理实验室的服务器,近期有保研的大三同学放弃保送到实验室而选择其他实验室,因此需要把之前给他开的账号取消掉. ===================================== ...
- mojo编程语言:编译后的mojo二进制执行文件调用python库报错——设置MOJO_PYTHON_LIBRARY变量
代码: from python import Python fn f() raises: # This is equivalent to Python's `import numpy as np` l ...
- Hessian Free Optimization——外国网友分享的“共轭梯度”的推导
外国网友分享的"共轭梯度"的推导: https://andrew.gibiansky.com/blog/machine-learning/hessian-free-optimiza ...
- 【转载】 vim中常用折叠命令
原文地址: https://www.cnblogs.com/litifeng/p/11675547.html 个人推荐的一个视频教程地址: 上古神器Vim:从恶言相向到爱不释手 - 终极Vim教程01 ...
- java多线程之ReentrantLock详解
1.背景 2.基本语法 public class Test01 { // 定义锁 static ReentrantLock reentrantLock = new ReentrantLock(); p ...