好的,这是否可能。
我有一个背景图片。在其上面,我有一个透明的灰色框用于内容。我想在顶部用文本显示标题,基本上是字母暴露背景。因此,文本会移除灰色框并让背景显示出来。
我唯一能想到的拙劣方法是创建一个图像,在相同灰色的背景上使字母透明,然后尝试以某种方式将其与灰色框对齐。
还有其他更好的方法吗?
好的,这是否可能。
我有一个背景图片。在其上面,我有一个透明的灰色框用于内容。我想在顶部用文本显示标题,基本上是字母暴露背景。因此,文本会移除灰色框并让背景显示出来。
我唯一能想到的拙劣方法是创建一个图像,在相同灰色的背景上使字母透明,然后尝试以某种方式将其与灰色框对齐。
还有其他更好的方法吗?
一种方法是使用 -webkit-background-clip: text;
:示例(仅适用于 Webkit 浏览器)。
通过使用 position,我们可以同步两个背景:
#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蒙版,这将适用于所有现代浏览器。