我正在创建一个图形用户界面,其中的下拉菜单填充了CSS样式(粗体,斜体,更改词的颜色等)。我遇到的问题是当我应用这些样式时,它适用于整个段落而不是单个单词。如何编码以识别突出显示的内容,并将格式专门应用于该内容。
我想将跨度仅应用于突出显示的部分。怎么样?
例如:
<style>
.red {
color: red;
}
</style>
<body>
<p>This <span class="red">is a</span> test.</p>
</body>
这是我知道应用跨度的唯一方法,但我想学习如何将其应用于用户突出显示的内容。是否存在检测到用户突出显示的代码?
编辑:目标是突出显示,将CSS样式应用于突出显示的内容,删除突出显示并且样式仍然存在。
答案 0 :(得分:2)
我认为您正在寻找::selection
https://developer.mozilla.org/en-US/docs/Web/CSS/::selection
::selection {
background: cyan;
}
Some text
答案 1 :(得分:0)
如果只想突出显示span.red
,请使用::selection
伪元素,如下所示:
span.red::selection { background-color: red }
<p>Hello, <span class="red">RED HIGHLIGHT</span>!</p>
答案 2 :(得分:0)
尝试一下。它应该为您工作。我们有一个ID为bg-span
的跨度,将在其上应用样式。
<!DOCTYPE html>
<html>
<head>
<style>
#bg-span {
background-color: #f18973;
}
</style>
</head>
<body>
<p>Set a <span id="bg-span">background</span> color for only a part of a text.</p>
</body>
</html>
答案 3 :(得分:0)
我搜索并找到了一种解决方案,可以通过JavaScript获取选中/突出显示的文本并将其隐藏。
您可以使用此解决方案并更改代码,以用span
包裹所选文本并将所选的class
添加到该span
。
JQuery selector for highlighted text
祝你好运