css - 两种颜色的文字

标签 css svg

我想要一个在特定点 x 切换颜色的文本。我提供了一个示例,该示例使用文本两次来生成结果,开关位于 45px。有没有办法在 css 中执行此操作而无需两次输入文本?也许使用 svg?

div{
  width: 400px;
  height: 40px;
  border: 1px solid #000;
  position: relative;
}
div>span{
  position: absolute;
  top: 0;
  left: 0;
}

div :nth-child(2){
  color: blue;
  clip: rect(0 200px 40px 45px);
}
div :nth-child(1){
  color: red;
  clip: rect(0 45px 40px 0);
}
<div>
<span>Some bicolored Text</span>
<span>Some bicolored Text</span>
</div>

最佳答案

你可以使用 :before:after 伪类:

div {
  width: 400px;
  height: 40px;
  border: 1px solid #000;
  position: relative;
}

div:before,
div:after {
  content:attr(data-text);
}

div:after{
  position: absolute;
  top: 0;
  left: 0;
}

div:after {
  color: blue;
  clip: rect(0 200px 40px 45px);
}

div:before {
  color: red;
  clip: rect(0 45px 40px 0);
}
<div data-text="Some bicolored Text">
</div>

关于css - 两种颜色的文字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34289603/

相关文章:

css - 不换行的 float 元素(截断最后一个元素)

html - 重叠粘性标题的问题(重叠其下方的主要内容)

html - 我如何在我的导航栏中更改它以及如何更改代码以使其适合任何屏幕?

javascript - FabricJS:将 SVG 添加到 Canvas 但在导出时不可见

html - 如何旋转单个字母并使它们从左到右流动?

css 选择混合列表中的每第二个元素

css - 文本标签 svg,其他行中的长文本

html - SVG 滤镜不改变填充颜色

javascript - RaphaelJS 似乎缺乏形状层次结构

javascript - 使用经度/纬度在国家 map 上标记位置