如何使用 CSS 将文本颜色作为背景图像?

Posted

技术标签:

【中文标题】如何使用 CSS 将文本颜色作为背景图像?【英文标题】:How to put text color as a background image using CSS? 【发布时间】:2020-12-07 15:54:36 【问题描述】:

我想要输出如下所示的图像。

这是我的代码:

https://jsfiddle.net/sidh_41/t7sbc2zf/

.card-text

      background: #1f2227ab;
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
  <div class="card bg-dark text-white">
    <img src="https://images.pexels.com/photos/1005417/pexels-photo-1005417.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=100&w=240" class="card-img" >
    <div class="card-img-overlay">
      <h5 class="card-title">B</h5>
      <p class="card-text">
        Content here.
      </p>      
    </div>
  </div>
</div>

【问题讨论】:

这对你有帮助 - tympanus.net/codrops/2013/12/02/… 需要帮助:***.com/questions/63575174/… 【参考方案1】:

这是使用mix-blend-mode: screen;的解决方案

https://jsfiddle.net/08rh23tw/

.card-text 
  background: white;
  color: #000;
  height: 100%;
  mix-blend-mode: screen;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 80px;
  text-align: center;
  padding: 30px;


.card 
  width: 400px;
  height: 600px;
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="card bg-dark text-white">
    <img src="https://images.pexels.com/photos/1005417/pexels-photo-1005417.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=100&w=240" 
    class="card-img" >
    <div class="card-img-overlay">
     
      <p class="card-text">
        Content here.
      </p>      
    </div>
  </div>

【讨论】:

需要帮助:***.com/questions/63575174/…【参考方案2】:

你觉得这个决定怎么样?

.card-title 
  text-align: center;
  font-size: 50px;
  line-height: 50px;
  background-color: white;
  padding: 10% 0%;
  color: black;
  /*mix-blend-mode: color-dodge;*/
  mix-blend-mode: screen;


.card-text

      background: #1f2227ab;
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<div class="row">
  <div class="card bg-dark text-white">
    <img src="https://images.pexels.com/photos/1005417/pexels-photo-1005417.jpeg?auto=compress&cs=tinysrgb&dpr=2&h=100&w=240" class="card-img" >
    <div class="card-img-overlay">
      <h5 class="card-title">B</h5>
      <p class="card-text">
        Content here.
      </p>      
    </div>
  </div>
</div>

【讨论】:

我会避免使用'color-dodge','screen''更适合使黑色元素透明 是的,你是对的。最好使用screen。编辑答案。 需要帮助:***.com/questions/63575174/…

以上是关于如何使用 CSS 将文本颜色作为背景图像?的主要内容,如果未能解决你的问题,请参考以下文章

如何通过 CSS3 动画淡入背景图像

使用 css 是不是可以使用图像作为文本颜色? [复制]

如何将图像视图颜色设置为文本字段背景颜色

如何在文本下显示图像作为背景?

根据背景图像/颜色更改文本颜色

根据背景颜色更改文本颜色