You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用CSS实现首字母大写?数字开头文本后续不转换

仅用CSS实现首字母大写(数字开头文本不触发后续字符大写)

要实现你需要的效果,可以通过组合text-transform和::first-letter伪元素完成,核心思路是先统一将单元格文本转为小写,再单独把第一个字符转为大写:

table.evenOdd tr td {
  text-transform: lowercase;
}
table.evenOdd tr td::first-letter {
  text-transform: uppercase;
}

效果说明:

  • 字母开头的文本:比如question 1会先转为全小写的question 1,再通过::first-letter把首字母转为大写,最终得到Question 1;原本首字母大写的Success会先变为success,再恢复首字母大写,结果还是Success,完全符合预期。
  • 数字开头的文本:比如100 mm转为全小写后就是100 mm,::first-letter选中的是数字,text-transform: uppercase对数字无影响,因此保持原格式不变,不会出现100 Mm的问题。

原代码问题分析:

你之前的代码只给::first-letter设置text-transform: capitalize,但如果单元格文本出现后续单词首字母被大写的情况,大概率是单元格继承了父元素的text-transform: capitalize样式(该属性会让所有单词的首字母大写)。上面的方案通过先统一转为小写,再单独处理首字母,彻底避免了这个问题。

内容的提问来源于stack exchange,提问作者neurodede

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 22:01:18