html - 如何在不破坏复制粘贴的情况下替换 CSS 中的字符串?

标签 html css

假设我有以下代码:

(lambda (x) (+ x 1))

我想按如下方式显示它,而不更改实际复制粘贴的内容:

(λ (x) (+ x 1))

目的是实现Emacs的prettify-symbols-mode效果。 This question展示了如何隐藏一些文本并显示其他内容,但是 display:none 元素不会被复制,至少在 Firefox 中是这样。

换句话说,如何在不破坏复制粘贴的情况下显示美化的源代码列表?纯 HTML+CSS 的加分项。

我能想到的最好的是:

/* CSS */
.lambda:after {
    content:"λ";
}
<!-- HTML -->
(<span>
   <span style="position:absolute;left:-3000px;">lambda</span>
   <span class="lambda"></span>
 </span> x (+ x 1))

这是正确的做法吗?

最佳答案

这适用于 Chrome 和 Firefox:

.hide {
  color: transparent;
  display: inline-block;
  width: 0;
}

.lambda:after {
  content:"λ";
}

JSFiddle

关于html - 如何在不破坏复制粘贴的情况下替换 CSS 中的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35819256/

相关文章:

在 IE 中居中的 css 问题

javascript - Bootstrap 自动在我的网页 Php 中隐藏我的图像

html - CSS - 防止表格单元格扩展和截断长文本

c# - 即时通讯通知

CSS - 有什么方法可以使文本区域或输入框具有 flex 吗?

css - 并排定位 div 问题?

php - 使用复选框从表中选择多行

jQuery Click 函数在 Firefox 中有效,但在 Chrome/Safari 中无效

html - 在 OpenCart 3.x 的产品描述页面中添加自定义字段

jquery - 如何在跨域 iFrame 中找到 anchor 链接的 css 类?