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

是否有一种方法可以使用纯CSS替换部分内容文本,例如,如果文本是
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