前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CSS里的ch到底是什么东西?

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

作者头像
德育处主任
发布2022-09-23 10:06:09
1.2K0
发布2022-09-23 10:06:09
举报
文章被收录于专栏:前端数据可视化

ch 应该是一个鲜为人知的计算单位

ch 是一个相对于数字0的大小。

1ch 就是数字 0 的宽度

比如定义一个 3ch 宽度的容器,就只能装下3个0。

代码语言:javascript
复制
<style>
  div {\
   width: 3ch;\
   background: powderblue;\
  }
</style>

<div>0000</div>
01.png
01.png

重复一次:1ch 等于一个 0 的宽度!宽度!宽度!

注意,是0的宽度,和0的高度无关。

比如

代码语言:javascript
复制
<style>
  div {
    width: 6ch;
    height: 6ch;
    background: powderblue;
  }
</style>

<div></div>
微信截图_20220527224521.png
微信截图_20220527224521.png

可以看到,是一个正方形,因为ch只等于0的宽度。

ch还有另一个规则:

在使用等宽字体的情况下

  • 1ch = 1个英文 = 1个数字
  • 2ch = 1个中文

ch 是一个相对单位,所谓相对,意思是 ch 会根据当前容器的 font-size 变化而变化。

但如果 字体不是等宽字体,这时的ch看起来就不止是一个英文字母的宽度了。

比如

代码语言:javascript
复制
<style>
  div {
    width: 8ch;
    background-color: powderblue;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    font-size: 50px;
  }
</style>

<div>llllllllllllllll</div>
微信截图_20220527225746.png
微信截图_20220527225746.png

可以看到,16个小写L,并没有超出8ch。

同时,如果容器中的内容是中英文结合的话,用ch做长度单也不是那么好使。

上面用到的几个CSS属性,是用来控制如果内容超出容器,就用省略号显示超出的部分。

最后总结一下:

ch一般很少用得上,因为使用规则可能稍微有点复杂,而且通常需要 js 配合使用。

一般都会用em来代替ch~

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-05-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档