RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 702263
Accepted
federk
federk
Asked:2020-08-05 18:03:22 +0000 UTC2020-08-05 18:03:22 +0000 UTC 2020-08-05 18:03:22 +0000 UTC

css+html是否可以制作双色字体字母?

  • 772

根据这个原则,有必要在页面上制作两个(可能还有三个)彩色字母:

双色字母

会有很多字母和不同的颜色,我不想使用图像。请告诉我,是否可以使用 CSS 和 HTML 来做到这一点(好吧,如果第一个还不够,JavaScript 也可以提供帮助)?

html
  • 4 4 个回答
  • 10 Views

4 个回答

  • Voted
  1. NTP
    2020-08-05T18:16:27Z2020-08-05T18:16:27Z

    所以?

    h1 {
      font-size: 72px;
      width:  50px;
      background: -webkit-linear-gradient(left, red 49%, blue 50%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    <h1>A</h1>

    UPD:添加了垂直划分。不是最理想的解决方案,也许有人会提供更好的解决方案。

    UPD2:横版我也不说了,你永远不知道谁会派上用场。

    h1 {
      font-size: 72px;
      background: -webkit-linear-gradient(red 49%, blue 50%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    <h1>A</h1>

    UPD3: 3 种颜色的代码

    h1 {
      font-size: 72px;
      width:  50px;
      background: -webkit-linear-gradient(left, red 30%, green 30%, green 60%, blue 60%);
      -webkit-background-clip: text;
      -webkit-text-fill-color: transparent;
    }
    <h1>A</h1>

    • 13
  2. Best Answer
    soledar10
    2020-08-05T19:34:55Z2020-08-05T19:34:55Z

    也作为一种选择

    h1 {
      font-size: 72px;
      width:  50px;
      color: blue;
      position: relative;
      display: inline-block;
      vertical-align: top;
    }
    h1:before,
    h1:after{
        content: 'A';
        position: absolute; top: 0; left: 0;
        color: red;
        width: 50%;
        overflow: hidden;
    }
    
    .gradient-3:before,
    .gradient-3:after{
        width: 33.333%;
    }
    .gradient-3:after{    
        left: 50%;
        color: green;       
        transform: translateX(-50%);
        text-align: center;        
        text-indent: -33.333%;
    }
    /* hack for ff */
    @-moz-document url-prefix() { 
      .gradient-3:after {
         text-indent: -100%;
      }
    }
    <h1>A</h1>
    <h1 class="gradient-3">A</h1>

    • 11
  3. Sasha Omelchenko
    2020-08-07T17:25:04Z2020-08-07T17:25:04Z

    使用伪元素,可以在属性中复制文本,而不仅仅是单个字母。

    该方法的本质是通过 将文本克隆为伪元素content: attr(data-text),使文本本身透明并仅显示 和 中的:before文本:after。然后剩下的只是将它们分散到块的不同部分并设置一个负数z-index,以便可以正常选择文本。

    p[data-text] {
      position: relative;
      font-size: 45px;
      color: transparent;
      font-weight: bold;
    }
    
    p[data-text]:before,
    p[data-text]:after {
      position: absolute;
      content: attr(data-text);
      left: 0;
      bottom: 0;
      color: #000;
      height: 50%;
      overflow: hidden;
      z-index: -1;
    }
    
    p[data-text]:before {
      line-height: 0;
    }
    
    p[data-text]:after {
      top: 0;
      color: red;
    }
    <p data-text="Doublecolor text">Doublecolor text</p>

    • 8
  4. Vadim Ovchinnikov
    2020-08-06T19:11:05Z2020-08-06T19:11:05Z

    对于跨界工作并且不摆弄绝对定位的元素,请使用 SVG:

    <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 150" width="200" height="200">
      <defs>
        <linearGradient id="gradient" x1="0%" y1="0%" x2="100%" y2="0%">
          <stop offset="52%" style="stop-color:rgb(255,0,0);" />
          <stop offset="52%" style="stop-color:rgb(0,0,255);" />
        </linearGradient>
      </defs>
      <text x="0" y="150" textLength="150" lengthAdjust="spacingAndGlyphs" font-family="Arial Black, Arial" font-size="200" fill="url(#gradient)">
        A
      </text>
    </svg>

    这里基本上很简单,只是使用缩进渐变。

    • 6

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    Python 3.6 - 安装 MySQL (Windows)

    • 1 个回答
  • Marko Smith

    C++ 编写程序“计算单个岛屿”。填充一个二维数组 12x12 0 和 1

    • 2 个回答
  • Marko Smith

    返回指针的函数

    • 1 个回答
  • Marko Smith

    我使用 django 管理面板添加图像,但它没有显示

    • 1 个回答
  • Marko Smith

    这些条目是什么意思,它们的完整等效项是什么样的

    • 2 个回答
  • Marko Smith

    浏览器仍然缓存文件数据

    • 1 个回答
  • Marko Smith

    在 Excel VBA 中激活工作表的问题

    • 3 个回答
  • Marko Smith

    为什么内置类型中包含复数而小数不包含?

    • 2 个回答
  • Marko Smith

    获得唯一途径

    • 3 个回答
  • Marko Smith

    告诉我一个像幻灯片一样创建滚动的库

    • 1 个回答
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Алексей Шиманский 如何以及通过什么方式来查找 Javascript 代码中的错误? 2020-08-03 00:21:37 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    user207618 Codegolf——组合选择算法的实现 2020-10-23 18:46:29 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5