龙空技术网

CSS里的ch到底是什么东西? - 掘金

德育处主任pro 88

前言:

当前你们对“css里的”可能比较着重,小伙伴们都想要剖析一些“css里的”的相关文章。那么小编也在网络上收集了一些对于“css里的””的相关资讯,希望姐妹们能喜欢,大家一起来了解一下吧!

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~

恭喜你,又学会了一个没用的知识~

标签: #css里的