【问题标题】:HTML/CSS: "See Through Background" Text? [duplicate]HTML/CSS:“透视背景”文本? [复制]
【发布时间】:2012-06-12 23:58:46
【问题描述】:

好的,这可能吗。

我有一张背景图片。最重要的是,我有一个用于内容的透明灰色框。我想在文本顶部有标题,基本上是字母暴露背景。因此,文本删除了灰色框并让背景显示出来。

我能看到的唯一 hacky 方法是创建一个图像,其背景上的字母透明,颜色相同,然后尝试以某种方式将其与灰色框对齐。

还有其他更好的方法吗?

【问题讨论】:

  • 使用 CSS 3 opacity 属性可能会有所帮助。 w3schools.com/css/css_image_transparency.asp
  • 为什么是“hacky”?这是一个具有透明度的图层。
  • 我能想到的唯一方法是WebKit-only。可以吗?
  • @Celeritas - 考虑避免在 Stackoverflow 链接到 w3schools;可以说,这是一种“紧张”的关系。链接到规范,链接到 HTMLDog、Sitepoint 等网站……但不是 w3schools(参见 w3fools.com)。仅供参考
  • @JaredFarrish: -webkit-background-clip: text 具有多种背景。可能是。我还在解决:P(虽然,如果背景是静态的,那么它会很简单。)

标签: html css


【解决方案1】:

一种方法是使用-webkit-background-clip: text;demo here(显然只有webkit)。

使用位置,我们可以同步两个背景:

#container, #container h1 {
    background: url(bg.png)
}

#container {
    position: relative;
}

#container #gray {
    background: rgba(0,0,0,.8);
    padding-top: 8em;
}

#container h1 {
    font-size: 8em;
    padding-top: /* padding + border of div */;
    position: absolute;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
}​

或者您可以使用相同的方法并应用svg mask,这将适用于所有现代浏览器。

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2018-06-22
  • 1970-01-01
  • 1970-01-01
  • 2019-02-01
  • 2011-08-02
  • 1970-01-01
  • 1970-01-01
  • 2023-03-14
相关资源
最近更新 更多