我想知道纯css是否有可能产生模板效果: 具有背景颜色的块,颜色“透明”,可以显示父块的背景。
例如,我有一个带有渐变或图案作为背景的父块,我想要覆盖一个带有黑色背景的块,文本内容会留下,看看父块的渐变
我还没有办法让这个工作,但也许有人有想法或提示?
修改
对不起,我不够准确。
以下是所需结果的图片:
答案 0 :(得分:4)
可以使用CSS3 background-clip 。写得像这样:
<强> HTML 强>
<p>T</p>
<强> CSS 强>
p{
font-size:50px;
font-family:impact;
background: url(http://lorempixel.com/output/technics-h-c-1414-1431-2.jpg);
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
position:relative;
width:80px;
height:80px;
text-align:center;
padding-top:10px;
}
p:after{
content:'';
position:absolute;
background:rgba(0,0,0,0.8);
width:80px;
height:80px;
border-radius:100%;
top:0;
left:0;
z-index:-1;
}
body{
background: url(http://lorempixel.com/output/technics-h-c-1414-1431-2.jpg);
}
答案 1 :(得分:1)
使用嵌入字体的某些内容(例如http://www.google.com/webfonts/specimen/Allerta+Stencil)可能与您想要的内容接近。通过更改背景和文本颜色,您应该得到您想要的内容
答案 2 :(得分:1)
#element_id {
opacity:0.4;
filter:alpha(opacity=40);
}
这会将div的不透明度或你应用它的任何东西设置为其原始不透明度的40%(通常为100%,除非你将它应用于已经降低不透明度的.png或.gif图像)
答案 3 :(得分:1)
据我所知,您可以使用SVG,但这不会是微不足道的。
This(和this)可能是您需要的最接近的实施方式。问题是它在每个浏览器中都不起作用,尽管你可能会尝试更深入的研究。
更新:Lea Verou在她的文章中提出了一个简单而优雅的解决方案:Text masking — The standards way
答案 4 :(得分:0)