使用 CSS 显示姓名首字母
Use CSS to show name initials
有没有简单的 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>
你可以考虑使用伪元素的技巧。请注意,使用 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>
有没有简单的 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>
你可以考虑使用伪元素的技巧。请注意,使用 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>