可以在CSS中设置子字符串的样式吗?
我想强调字符串的最后3个字符,例如: 123456789 用可以在CSS中设置子字符串的样式吗?,css,substring,Css,Substring,我想强调字符串的最后3个字符,例如: 123456789 用或轻松包装最后三个,但我想知道是否只能用CSS完成?因此,html将类似于: <span class="mytext">123456789</span> 123456789 在CSSmytextclass?::before和::after伪元素{content:attr()}值中添加了强调符号 演示1 使用伪元素::before和::after 在元素中添加前面的数据=“0123456”和后面的数据=“789
或
轻松包装最后三个,但我想知道是否只能用CSS完成?因此,html将类似于:
<span class="mytext">123456789</span>
123456789
在CSSmytext
class?::before
和::after
伪元素{content:attr()
}值中添加了强调符号
演示1
::before
和::after
前面的数据=“0123456”
和后面的数据=“789”
content:attr(data before)
和content:attr(data before)
和font-weight:900设置伪元素
ch
计量单位和等距字体
演示2
:root, body { font: 100 3.5vw/0.75 Consolas, monospace; }
所有与字体相关的属性都将引用此规则集。这不仅有助于保持一致性,而且反应灵敏
1ch
=零字符的宽度:当前字体系列中的“0”
。如果您的字体系列
是单空格字体,则所有字符的宽度都完全相同
演示1 注意:有两个示例:一个没有文本内容,两个有文本内容
部分{
字体:400 16px/1.45控制台;
背景:金;
颜色:蓝色;
}
.count::之前{
内容:attr(以前的数据);
}
.count::之后{
内容:attr(后面的数据);
字号:900;
}
.B{
字号:0;
}
B:以前,
B:之后{
字号:1rem
}
C:之后{
内容:attr(数据掩码);
位置:相对位置;
左:-3ch;
z指数:1;
字号:900;
}
0123456789
0123456789
这里有一个疯狂的想法,使用过滤器和SVG在最后3位数字上模拟粗体效果
仅适用于chrome
.mytext{
显示:内联块;
利润率:10px;
字体大小:50px;
字体系列:monospace;
位置:相对位置;
滤镜:投影(0px 0px 0px黑色);
}
.mytext:之后{
内容:“;
位置:绝对位置;
排名:0;
右:0;
底部:0;
宽度:3cm;
背景过滤器:url(#阴影);
}
123456789
123456789568
123568
这只是一个疯狂的想法,实际上显示有点错误
只需发布它,为其他人提供一些改进的想法
.mytext{
显示:内联块;
利润率:10px;
字体大小:50px;
字体系列:monospace;
位置:相对位置;
颜色:黑色;
文本阴影:-1px-1px 0px白色,-1px 0px 0px白色,-1px 1px 0px白色,
0px-1px 0px白色,0px 0px 0px白色,0px 1px 0px白色,
1px-1px 0px白色,1px 0px 0px白色,1px 1px 0px白色;
}
.mytext:之后{
内容:“;
位置:绝对位置;
排名:0;
右:0;
底部:0;
宽度:3cm;
背景色:白色;
混合模式:差异化;
}
123456789
123456789568
123568
您可以设置首字母的样式,但不能设置通用子字符串类似的内容:不,如果不将这些字符包装到其他元素中,则无法设置样式。即使在给出的答案中,您也有一个附加的包装元素::after
。告诉我们这样做的目的是什么,也许我们可以help@SaymoinSam这是为了让最后三个字符脱颖而出,因为它们是用户通常试图阅读的内容。它符合我的要求,我会给你的,哈哈。在最新的edge中也可以。(这并不奇怪)因为它需要javascript或服务器端的工作来制作分割字符串,所以它不会给我带来任何好处。不过还是很有趣,谢谢你。@TonyH-Ur…嗯?JavaScript?…不,没有JavaScript…服务器端?…不,纯客户端。事实上,它只是静态的HTML和CSS。请记住,只有少数几种技术可以促进仅使用CSS和HTML的动态行为。即便如此,我的答案也不是动态的……所有内容都是硬编码的HTML/CSS。我的意思是,如果服务器端的数据库中有字符串0123456789
,则必须在服务器端或JS中执行某些操作,以创建子字符串0123456
和789
。虽然很琐碎,但我希望避免的是。请参见演示2,注意事项是需要一个重复的标记。JS需要复制标记,其文本为:const x=document.querySelector(selector.outerHTML);document.body.innerHTML+=x代码>并且课程也会安排好。请记住,您正在寻求一种通过CSS处理原始值的方法……不可能,CSS不是一种编程语言。