CSS-替换部分内容文本
是否有一种方法可以使用纯CSS替换部分内容文本,例如,如果文本是CSS-替换部分内容文本,css,Css,是否有一种方法可以使用纯CSS替换部分内容文本,例如,如果文本是ABCDE- <span class="replacer">ABCDE</span> ABCDE 但是前3个字符不是ABCDE而是*,因此它将显示为***DE否,在纯CSS中不可能更改内容,但您可以通过重叠某些内容来欺骗,例如 .replacer { font-family: monospace; position: relative; } .replacer::before { ba
ABCDE
-
<span class="replacer">ABCDE</span>
ABCDE
但是前3个字符不是
ABCDE
而是*
,因此它将显示为***DE
否,在纯CSS中不可能更改内容,但您可以通过重叠某些内容来欺骗,例如
.replacer {
font-family: monospace;
position: relative; }
.replacer::before {
background: #fff;
position: absolute;
content: "***";
}
或者,另一个棘手的方法是创建并加载一种特殊字体,将符号a
、B
和C
映射到星号(通过unicode范围
属性,)
在javascript中,您只需要替换元素的
textContent
属性
var el = document.getElementsByClassName('replacer')[0]
el.textContent = el.textContent.replace(/^.{3}/, '***');
不,在纯CSS中,不可能更改内容,但可以通过重叠某些内容进行欺骗,例如
.replacer {
font-family: monospace;
position: relative; }
.replacer::before {
background: #fff;
position: absolute;
content: "***";
}
或者,另一个棘手的方法是创建并加载一种特殊字体,将符号a
、B
和C
映射到星号(通过unicode范围
属性,)
在javascript中,您只需要替换元素的
textContent
属性
var el = document.getElementsByClassName('replacer')[0]
el.textContent = el.textContent.replace(/^.{3}/, '***');
一个你想要的解决方案,试着看看它
.replacer{
显示:内联块;
位置:相对位置;
字体系列:monospace;
字号:18px;
}
.替换者:之前{
内容:attr(stars);
背景色:#fff;
位置:绝对位置;
左:0;
}
ABCDE
一个你想要的解决方案,试着看看
.replacer{
显示:内联块;
位置:相对位置;
字体系列:monospace;
字号:18px;
}
.替换者:之前{
内容:attr(stars);
背景色:#fff;
位置:绝对位置;
左:0;
}
ABCDE
注意,你没有隐藏3个字母OP要求的***DE
,这就是这个CSS的作用你需要一个等距字体,我仍然可以在你的example@fcalderan我的改变是这样的,不需要在之后改变,只需改变右/左,因为元素是位置:绝对注意,你没有隐藏3个字母OP要求的***DE
,这就是这个CSS的作用。你需要一个等距字体,我仍然可以在你的example@fcalderan我的改变是这样做的,不需要在之后改变,只要改变右/左,因为元素是位置:absoluteHi,在纯CSS中执行此操作不是一个好选项尝试使用JS而不是Headhi,在纯CSS中执行此操作不是一个好选项尝试使用JS