当前位置: 首页 > 面试题库 >

我可以使用CSS字体进行剔除/穿透透明吗?

郑帅
2023-03-14
问题内容

我想知道是否有什么方法可以对文本应用100%的透明度,以便我们可以在文本字符内看到页面的背景图片。

例如,假设我有一个<div>带有白色背景的,并且背景图片为<body>。我想将文字设置在内,<div>以便<body>尽管文字上有白色背景,也可以通过文字看到背景图片<div>

我可能可以使用倒置字体,但如果有的话,我希望有一种更好的方法。


问题答案:

它必须是动态的吗?唯一的方法是使用具有透明性的图像(GIF或更好的PNG)。

我不确定这是否是您想要的,但还是会解释一下。

情况:您希望通过文字看到蜜蜂的背景不整洁。

解决方案:没有CSS可以解决这个问题。您必须使用值得信赖的图像编辑器来创建一个包含文本的图层,以及另一个将成为文本负数的图层

这可以使您产生一些有趣的效果,但是如果您希望它是动态的,则必须在运行中的服务器端生成图像。

目前,使用纯CSS不可能实现这种欺骗(Javascript可能可以实现)。

编辑

看到Paul在Webkit上的发现,使我开始思考如何在Firefox,Opera和IE中伪造该行为。到目前为止,我canvas在Firefox上使用元素已经很幸运了,我正在尝试查找中的某些行为filter:progid:DXImageTransform.Microsoft

到目前为止canvas,这是我所做的

<html>
<body>
<canvas id="c" width="150" height="150">
</canvas>
<script>
ctx = document.getElementById("c").getContext("2d");
// draw rectangle filling the canvas element
ctx.fillStyle = "red";
ctx.fillRect(0,0,150,150);

// set composite property
ctx.globalCompositeOperation = 'destination-out'; 
// the text to be added now will "crop out" the red rectangle
ctx.strokeText("Cropping the", 10, 20);  
ctx.strokeText("red rectangle", 10, 40);

</script>
</body>
</html>

通过使用目标输出合成和在.NET上绘制文本canvas



 类似资料:
  • #klem1,#klem2 { opacity:0.4; filter:alpha(opacity=40); /* For IE8 and earlier */ } #klem1:hover,#klem2:hover { opacity:1.0; filter:alpha(opacity=100); /* For IE8 and earlier */ } div.background { widt

  • 前面在学习《 CSS颜色》时我们已经了解,通过 rgba()、hsla() 可以设置颜色的透明度,但是它们只能在定义颜色的同时设置透明度,无法对图像或者其它元素设置透明度。 CSS 中提供了一个 opacity 属性用来设置元素的透明度,它不仅对颜色有效,对图像或者页面中其它的元素也有效。其语法格式如下: opacity: number; 其中 number 为一个 0~1 之间的浮点数(小数),

  • 本文向大家介绍css穿透属性有哪些?相关面试题,主要包含被问及css穿透属性有哪些?时的应答技巧和注意事项,需要的朋友参考一下 /* Keyword values / pointer-events: auto; pointer-events: none; pointer-events: visiblePainted; / SVG only / pointer-events: visibleFill

  • 问题内容: 有没有简单的CSS方法可以使像这样的元素的边界半透明? 如果没有,是否有人知道我不使用图像怎么办? 问题答案: 不幸的是,该元素使整个元素(包括任何文本)都是半透明的。使边框半透明的最佳方法是使用rgba颜色格式。例如,这将给出不透明度为50%的红色边框: 这种方法的问题在于,如果这是整个声明,则某些浏览器将无法理解该格式,并且根本不会显示任何边框。解决方案是提供两个边界声明。第一个具

  • 目前,我正在使用FontAwesome的CDN中的图标开发一个示例解决方案。 出于某种原因,我的图标显示为白色背景。我注意到这一点,当应用效果从在我的。 实际上,我想在这里看到的只是指纹图标的前景和透明背景。 HTML

  • 问题内容: 所以我有一个问题。我环顾四周,环顾四周,但没有运气。我想使我的身体背景透明,但使文本不透明。现在,我保持相同的不透明度。这是我的代码: 问题答案: 不要为此使用,而是将背景设置为RGBA值,以仅使背景半透明。在您的情况下将是这样。