【发布时间】:2019-07-05 11:25:33
【问题描述】:
更新:
我需要从文本中隐藏@@,但将其保留在 HTML 中。
我在 HTML 中有元素 - <mark>@@Text@@</mark> 并且基本上需要从文本的开头和结尾隐藏 @@。使用伪元素隐藏似乎很容易,但也需要从伪元素所在的位置移除空格和黄色背景。
mark {
position: relative;
color: red;
}
mark::before {
content: '@@';
position: absolute;
color: yellow;
left: 0;
}
mark::after {
content: '@@';
position: absolute;
color: yellow;
right: 0;
}
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width">
<title>JS Bin</title>
</head>
<body>
<mark>@@Some Text@@</mark> |
<mark>@@Some Text@@</mark> |
<mark>@@Some Text@@</mark>
</body>
</html>
上面的代码带来了这样的结果:
而我需要的是:
附言您可以在演示中看到奇怪的行为 - 从 CSS 中删除一行,结果将与我的第一张图片一样。在 HTML 中输入一些东西,它会再次刹车。不知道为什么会发生这种情况,但如果可能的话,我也很想对此有所了解。
【问题讨论】:
-
你想用javascript删除所有@@吗?
-
请注意,它们在 Firefox 上没有被正确删除,您的伪元素和原始文本不在完全相同的位置,显示分散的红色像素。另外,我怀疑你能否在 CSS 中做到这一点。有人会想知道为什么你想要这些
@@开始...... -
对我来说与 Chrome 中的 @Kaddath 相同。
-
抱歉,帖子已编辑。虽然,它运行不一样。无论如何-我想我很好地描述了我的问题。如果可能的话,我想用 CSS 删除它。谢谢
-
坦率地说,如果
mark元素从其内容中获取宽度,我认为您不会使用 CSS 来管理它。
标签: javascript html css pseudo-element