从HTML中复制除文本之外的文本

时间:2017-01-11 22:20:03

标签: html css

我在网页上有一些文字指的是格式化程序LaTeX。在HTML源代码中,文本是这样的。

<span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>

(Snippet在下面包括CSS。)当用户复制它时,它们会获得“LATEX”,全部大写。我希望他们得到“LaTeX”,这是首选的拼写。有(跨浏览器)方式吗?

.tex sub,
.latex sub,
.latex sup {
  text-transform: uppercase;
  line-height: 0;
}
.tex sub,
.latex sub {
  vertical-align: -0.5ex;
  margin-left: -0.1667em;
  margin-right: -0.125em;
  line-height: 0;
}
.tex,
.latex,
.tex sub,
.latex sub {
  font-size: 1em;
  line-height: 0;
}
.latex sup {
  font-size: 0.85em;
  vertical-align: 0.15em;
  margin-left: -0.36em;
  margin-right: -0.15em;
  line-height: 0;
}
 <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>

4 个答案:

答案 0 :(得分:1)

您需要更改

.tex sub, .latex sub, .latex sup {
  text-transform: uppercase;line-height: 0;
  }

.tex sub, .latex sub, .latex sup {
   line-height: 0;
  }

text-tranform正在使文字大写

答案 1 :(得分:1)

您可以使用原始案例&#34; LaTeX&#34;复制文本,并将其包装到范围中,将color设置为transparentrgba(0,0,0,0)user-select: all;加上一些位置技巧,这是复制&amp;糊。然后将另一个范围设置为user-select: none;以进行显示。

&#13;
&#13;
.container {
  display: inline-block;
  position: relative;
}

.duplicate {
  position: absolute;
  left: 0;
  top: 0;
  color: transparent;
  letter-spacing: -0.05em;
  -webkit-user-select: all;
  -moz-user-select: all;
  -ms-user-select: all;
  user-select: all;
}

.latex {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

.tex sub,
.latex sub,
.latex sup {
  text-transform: uppercase;
  line-height: 0;
}

.tex sub,
.latex sub {
  vertical-align: -0.5ex;
  margin-left: -0.1667em;
  margin-right: -0.125em;
  line-height: 0;
}

.tex,
.latex,
.tex sub,
.latex sub {
  font-size: 1em;
  line-height: 0;
}

.latex sup {
  font-size: 0.85em;
  vertical-align: 0.15em;
  margin-left: -0.36em;
  margin-right: -0.15em;
  line-height: 0;
}
&#13;
This is the
<div class="container">
  <span class="latex">L<sup>a</sup>T<sub>e</sub>X</span>
  <span class="duplicate">LaTeX</span>
</div>
logo.
&#13;
&#13;
&#13;

答案 2 :(得分:0)

使用CSS text-transform属性

p.uppercase {
    text-transform: uppercase;
}

p.lowercase {
    text-transform: lowercase;
}

答案 3 :(得分:0)

超越鲍里斯&#39;回复,我要做的是创建以下css:

.uppercase {
    text-transform: uppercase;
}

.lowercase {
    text-transform: lowercase;
}

然后,对于您的代码,请使用

<span class="uppercase">L</span><span class="lowercase">a</span><span class="uppercase">T</span><span class="lowercase">e</span><span class="uppercase">X</span>

您的代码中的大小写无关紧要,因为CSS正在为您改变案例。