我假设这是不可能的,但如果有人知道或者有什么诀窍,请告诉我,是否有一种使用CSS来定位特定字符的方法?
例如,将段落中所有字母z
变为红色,或者在标记为chord
类的元素中设置vertical-align:sup
以适用于所有7
。
我假设这是不可能的,但如果有人知道或者有什么诀窍,请告诉我,是否有一种使用CSS来定位特定字符的方法?
例如,将段落中所有字母z
变为红色,或者在标记为chord
类的元素中设置vertical-align:sup
以适用于所有7
。
嗨,我知道你说的是CSS,但正如其他人告诉你的那样,你无法在CSS中实现。这是一个JavaScript解决方案,仅供参考。
祝好...
css
span.highlight{
background:#F60;
padding:5px;
display:inline-block;
color:#FFF;
}
p{
font-family:Verdana;
}
HTML
<p>
Let's go Zapata let's do it for the revolution, Zapatistas!!!
</p>
JavaScript
jQuery.fn.highlight = function (str, className) {
var regex = new RegExp(str, "gi");
return this.each(function () {
this.innerHTML = this.innerHTML.replace(regex, function(matched) {return "<span class=\"" + className + "\">" + matched + "</span>";});
});
};
$("p").highlight("Z","highlight");
结果
`Let's go Zapata pizza?
`
(或者,highlight('m',…)
将匹配任何em
标签中的m
等)因此有句谚语:“如果你有一个问题,并用正则表达式解决它,那么你现在有两个问题” :-( - not-just-yeti这在 CSS 中是不可能的。你唯一的选择是使用 ::first-letter
,但那并不够用。要么使用 JavaScript,要么(如你在评论中所述)使用服务器端语言。
<span class="c">B7</span>
而不是<span class="c">B<span class="7">7</span></span>
,因为这样做需要很多字符来设置两个字符的样式 :p - Svishspan
标签毁了你的和弦 :) - Mathew Thompson# DOM Element.nodeType:
NodeType =
ELEMENT: 1
ATTRIBUTE: 2
TEXT: 3
COMMENT: 8
# Tags all instances of text `target` with <span class=$class>$target</span>
#
jQuery.fn.tag = (target, css_class)->
@contents().each (index)->
jthis = $ @
switch @.nodeType
when NodeType.ELEMENT
jthis.tag target, css_class
when NodeType.TEXT
text = jthis.text()
altered = text.replaceAll target, "<span class=\"#{css_class}\">$&</span>"
if altered isnt text
jthis.replaceWith altered
($ document).ready ->
($ 'div#page').tag '⚀', 'die'
$("p").highlight("u\(u002A)","highlight");
并在html中插入*
,但它没有起作用。const paragraphs = document.getElementsByTagName("p");
const substringToHighlight = "sz"; // the substring to be highlighted
const regex = new RegExp(substringToHighlight, "gi");
for (let i = 0; i < paragraphs.length; i++) {
const paragraph = paragraphs[i];
const text = paragraph.innerHTML;
const newText = text.replace(regex, (match) => {
return `<span class="highlight">${match}</span>`;
});
paragraph.innerHTML = newText;
}
span.highlight{
background:#F60;
padding:5px;
display:inline-block;
color:#FFF;
}
p {
font-family: 'BeingHumannormalhuman';
font-weight: normal;
font-style: normal;
}
<link rel="stylesheet" media="screen" href="https://fontlibrary.org//face/being-human" type="text/css"/>
<p>
Let's go Szeklers let's do it for the freedom of Szeklerland!!!
</p>
span
元素,怎么样? - toniedzwiedz:first-letter
。 - FelipeAls@font-face
使用特定于某些(Unicode代码点指定的)字符的自定义字体,这可能是接近 OP 所需求的,并且可能结合font-style
描述符来实现完全符合 OP 需求的效果。 - ijoseph