带有彩色背景的不透明文本 - 仅限 CSS

Posted

技术标签:

【中文标题】带有彩色背景的不透明文本 - 仅限 CSS【英文标题】:opaque text with colored background - CSS only 【发布时间】:2015-06-07 17:16:11 【问题描述】:

div 是否可以有白色背景的不透明/透明文本。 (div1(+)

基本上我可以在第一个 div(div1) 后面有另一个彩色 DIV (div2) 并且文本将是它后面的 div (div2) 的颜色,纯粹通过没有 JS 的 CSS?。

【问题讨论】:

可以参考这个:***.com/questions/10835500/… 您想要剪切文本吗?基本上你通过顶部div上的文字字母看到底层div的背景?像这样css-tricks.com/image-under-text 这是您要找的吗? (阅读答案):***.com/questions/13932946/… 【参考方案1】:

如果我正确阅读了您的问题,您想要做的是使用文本穿透第一个 div 并显示其后面第二个 div 的颜色或图像。

仅使用 CSS 无法做到这一点。 (至少到今天)

我想你可能会觉得这很有用。

http://blog.ericzhang.com/punch-through-text-masks-with-css-and-html5/

【讨论】:

是这样的。所以不可能纯粹用CSS?谢谢你的回答【参考方案2】:

像这样?

p
  color: rgba(0,0,0,0.5);
<p>Hello World!</p>

还是这样?

p
  opacity: 0.5;
<p>Hello World!</p>  

还是这样?

p 
  position: relative;
  color: rgba(255,255,255,0.5);
  font-size: 30px;

p:before 
  content: '';
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
<p>Hello World!</p>

【讨论】:

我认为这不是 OP 所要求的。他希望纯色背景中的文本是透明的,这样您就可以通过文本看到纯色背后的内容 无论他想要什么,他都可以通过rgbaopacity 来实现。我不认为这可以通过任何其他方法来完成。 是的,我想说 color:opacity() 所以只有文本是透明的,而不是整个 div。因此我只能看穿文本,但 div 的其余部分是纯色。

以上是关于带有彩色背景的不透明文本 - 仅限 CSS的主要内容,如果未能解决你的问题,请参考以下文章

CSS更改选项卡背景的不透明度而不影响选项卡上的文本[重复]

CSS 内部边框,带有背景图像的div上的不透明度

CSS - 低不透明度div上的不透明文本?

CSS 为 div 的背景颜色而不是内容添加不透明度

列表但不是文本的CSS 3不透明度[重复]

透明度和文字问题