在复制未转换的文本时,在页面中显示另一个字母

时间:2014-10-17 23:12:04

标签: html css

在CSS中,.someclass { text-transform: uppercase }将所有带有someclass类的文本翻译为大写,但当我选择文本,复制并粘贴到文本编辑器或电子邮件中时,这些字母保留了原始案例。除了CSS之外,某些客户端Web样式技术是否允许文档定义自定义文本转换以更改除案例之外的其他内容,例如rwf到{{1} ,当用户复制文本时没有应用转换?

Replace a particular character using css推荐JavaScript的答案。我更喜欢使用一些(非CSS)声明式样式技术而不是脚本,原因如下:

  1. 我希望复制并粘贴以与属性相同的方式返回原始文本,而不是转换后的文本。
  2. 如果用户输入未转换的字母,我希望“在页面内查找”(Ctrl + F)。
  3. 我缺少有关我的网站有多少观看者使用NoScript或其他脚本白名单插件的统计信息。但后来由于我经常访问一个在线论坛,其用户经常吹嘘自己没有受到特定漏洞的影响,因为他们没有运行JavaScript
  4. 运行text-transform的脚本会在线条被重新包装时引起明显的无格式内容。
  5. 最近我能够根据answer to a question about whitelisting characters编写一个XSLT样式表来改变onload中的文本节点。 (提示:<body>match="html:body//text()"。) 它没有复制和Ctrl + F标准,并且它在尝试变得过于聪明的浏览器中reportedly fails the no-FOUC criterion,但它应该加载几乎所有主要的浏览器,因为IE 6甚至关闭了脚本。 然而,一年前,谷歌试图kill client-side XSLT a year ago by removing it from Blink。 如果Chrome,Opera和其他基于Chromium的浏览器最终放弃XSLT,那么非XSLT用户可能会超过无脚本用户。

    是否正在获取libre字体并对其进行修改以包含translate()@font-facefont-feature-settings可以触发唯一方式的自定义表单和连字?

1 个答案:

答案 0 :(得分:3)

CSS - 级联样式表,顾名思义,它仅用于样式化工作表(html页面)。代码段.someclass { text-transform: uppercase }只是使用类someclass对标记内的字符(字母表)进行样式化。它不容易,或者我可以说它不可能仅使用CSS而不是JavaScript来实现您的需求。

根据Zach Saucier对您的问题的评论,&#34;使用CSS&#34;没有好办法,我也同意。

使用JavaScript绝对可能。但是你的标准并不希望你这样做。

我的请求,尝试使用JavaScript或尝试不使用CSS。