【问题标题】:Use CSS to show name initials使用 CSS 显示姓名首字母
【发布时间】:2023-10-13 03:32:01
【问题描述】:
有没有简单的 css 方法将名称简化为首字母?
Foo Bar => F. B.
我想出了一个(原型)解决方案,但 text-overflow: '.' 仅适用于 firefox。
我正在寻找适用于所有浏览器的 CSS 解决方案
.initials {
display: inline-block;
overflow: hidden;
white-space: nowrap;
text-overflow: '.';
width: 2ch;
}
<p class="initials">Foo</p> <p class="initials">Bar</p>
【问题讨论】:
标签:
css
overflow
truncate
【解决方案1】:
您可以考虑使用伪元素的技巧。请注意,ch 单位的使用适用于等宽字体:
.initials {
display: inline-block;
overflow: hidden;
white-space: nowrap;
width: 2ch;
font-family:monospace;
font-size:20px;
position: relative;
}
.initials:after {
content: ".";
position: absolute;
right:0;
top:0;
bottom:0;
background:#fff;
}
<p class="initials">Foo</p>
<p class="initials">Bar</p>
如果您想要透明度:
.initials {
display: inline-block;
overflow: hidden;
white-space: nowrap;
width: 2ch;
font-family: monospace;
font-size: 20px;
position: relative;
letter-spacing: 1ch; /*added*/
}
.initials:after {
content: ".";
position: absolute;
right: 0;
top: 0;
bottom: 0;
letter-spacing: 0; /*added*/
}
body {
background: pink;
}
<p class="initials">Foo</p>
<p class="initials">Bar</p>