CSS里的ch到底是什么东西?
ch 应该是一个鲜为人知的计算单位。
ch 是一个相对于数字0的大小。
1ch 就是数字 0 的宽度。
比如定义一个 3ch 宽度的容器,就只能装下3个0。
<style>
div {\
width: 3ch;\
background: powderblue;\
}
</style>
<div>0000</div>

重复一次:1ch 等于一个 0 的宽度!宽度!宽度!
注意,是0的宽度,和0的高度无关。
比如
<style>
div {
width: 6ch;
height: 6ch;
background: powderblue;
}
</style>
<div></div>

可以看到,是一个正方形,因为ch只等于0的宽度。
ch还有另一个规则:
在使用等宽字体的情况下
1ch = 1个英文 = 1个数字 2ch = 1个中文
ch 是一个相对单位,所谓相对,意思是 ch 会根据当前容器的 font-size 变化而变化。
但如果 字体不是等宽字体,这时的ch看起来就不止是一个英文字母的宽度了。
比如
<style>
div {
width: 8ch;
background-color: powderblue;
overflow: hidden;
white-space: nowrap;
text-overflow: ellipsis;
font-size: 50px;
}
</style>
<div>llllllllllllllll</div>

可以看到,16个小写L,并没有超出8ch。
同时,如果容器中的内容是中英文结合的话,用ch做长度单也不是那么好使。
上面用到的几个CSS属性,是用来控制如果内容超出容器,就用省略号显示超出的部分。
最后总结一下:
ch一般很少用得上,因为使用规则可能稍微有点复杂,而且通常需要 js 配合使用。
一般都会用em来代替ch~
相关推荐
-
PHP虚拟主机模拟socket发送GET,POST请求2025-04-19 00:59:11
-
php 5.6 已死,关于 php 7 你要知道的几件事!2025-04-19 00:56:15
-
从一道CTF题目谈PHP中的命令执行2025-04-19 00:34:15
-
nginx location在配置中的优先级2025-04-19 00:31:04
-
恶意PHP脚本或成大规模垃圾邮件活动的来源,超半数网站受损!
恶意PHP脚本或成大规模垃圾邮件活动的来源,超半数网站受损!2025-04-19 00:25:44