用鼠标悬停时的背景图像替换文本颜色
Replace a text color by a background image on mouse over
我想知道是否可以用背景图片替换文本的颜色。我不认为这只能使用CSS来完成,但我正在寻找任何其他方法来做到这一点,而不使用png图片作为文本。其想法是保持背景图像仅在字体上可见。
这真的没那么容易。。。
Safari和Chrome提供属性-webkit-mask-image
,它完全可以满足您的需求,但除Safari和Chrome外,任何网络浏览器都不支持它。。。请在这里阅读。
然而,还有另一个"窍门"
纯CSS文本渐变
我并不完全推荐,但我想你不会真的出错,唯一的问题是当你在文本的同一行上有其他元素时,因为这种梯度会直接穿过页面。。。如果这些都合适,编写JavaScript将相当容易,但CSS文本背景图像本身就是个问题。
1)使用css3-webkit背景剪辑:text;-但仅适用于chrome&safari
#p:hover{
background:transparent url(http://www.astrosurf.com/~buil/iris/new540/gradient1.jpg);
-webkit-text-fill-color: transparent;
-webkit-background-clip: text;
}
http://jsfiddle.net/KHECk/2/
2) 使用绝对位置。它适用于所有浏览器。但必须根据您的要求进行检查。不适用于所有类型的图像。
http://jsfiddle.net/KHECk/9/
3) 您也可以使用SVG来生成这种效果
http://www.boogdesign.com/examples/svg/pattern-fill.svg
相关文章:
- 使用javascript的图像替换循环
- 是否可以仅通过jQuery将图像替换为用户动态选择的另一个图像
- 用图像替换SVG
- 将href中的图像替换为其他元素中的图像
- 错误时用图像替换视频
- 以编程方式将fabric-js-canvas的图像替换为hq图像,并重新计算其他对象的坐标和大小
- jQuery 图像替换为类
- 可以用我自己的自定义图像替换光标
- jQuery-图像替换转换〔Safari中的问题〕
- d3.js用图像替换节点
- 用图像替换页面,而不是添加图像
- 可以动态设置图像替换文本吗
- JQuery - 单击时将背景图像替换为另一个背景图像
- 将鼠标悬停在另一个图像上时,将图像替换为另一个图像
- HTML:用图像替换文本微笑
- 将所有图像替换为一个图像 Javascript
- 在 jquery 中使用类和 ID 将一个图像替换为另一个图像
- 如何用自定义图像替换脸书按钮
- 在 PHP 中将一个外部图像替换为另一个内部图像
- 将图像替换为另一个图像,然后在超时后再次替换 - Javascript