css 每行文字的第一个字大写

5cnsuln7  于 2022-12-01  发布在  其他
关注(0)|答案(2)|浏览(128)

在一个段落中,由于断字,单词被换到下一行,什么方法可以大写每行的第一个单词?
两行示例:

  • *《洛美协定》

普罗米修斯**
四线示例:

    • 洛雷姆

益普苏姆
还有
普罗米修斯**
我知道::first-letter::first-line选择器,但没有一个适合这种情况。

n6lpvg4x

n6lpvg4x1#

您可以转换文本,使每个单词都在自己的span中,然后在每次调整页面大小时检查每个spanposition
这可能无法很好地执行,因此您可能需要debounce调整大小。
要使用::first-letter,元素必须是块级元素,而span在默认情况下不是,因此它必须是display:inline-block
这不处理"中断字",因为OP示例不包括它作为示例,并且不赞成使用break-word
第一个

lokaqttq

lokaqttq2#

使用当前的CSS,不可能大写每个换行的第一个单词,所以我们必须使用JavaScript。
这里是一个现代的JS解决方案,而不是依赖于jQuery(在mousemove上更新了这个例子,我不推荐它的性能):
第一个
P.S.使用CSS最接近的方法是使用text-transform将每个单词大写,即text-transform: uppercase;

相关问题