CSS3实现背景透明文字不透明的示例代码
这篇文章主要介绍了CSS3实现背景透明文字不透明的示例代码的相关资料,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
最近遇到一个需求,要在图片上显示带有半透明背景的文字,效果如下图所示:

需求.png-600
看到这个需求之后,第一反应是使用CSS3中的opacity设置元素的透明度。
背景透明,文字也透明 2018世界杯已开幕:10天
效果如下:

背景透明,文字也透明.png-600
这样貌似也满足了需求,不过并不完美,设置opacity之后,整个元素都半透明了,造成文字显得模糊,这样的解决方式并不可取。
其实实现透明的CSS方法并不只有设置opacity一种方式。还有另外两种:
- css3的rgba(red, green, blue, alpha),alpha的取值从 0 到 1,如rgba(255,255,255,0.8)
- IE专属滤镜 filter:Alpha(opacity=x),x 的取值从 0 到 100,如filter:Alpha(opacity=80)
在这里我采用了设置rgba的方式:
背景透明,文字不透明 2018世界杯已开幕:10天
效果如下:

背景透明,文字不透明.png-600
这样设置之后,文字显得清晰了许多。
小结
其实要实现这个需求,并不只有这一种思路,还可以用两个DIV放在同一个位置,一个是半透明的背景DIV,一个是文字DIV,一样可以解决问题,但是需要写绝对定位或负margin,并出现空内容的DIV,这种方法在有些场景下会显得略微复杂,如下示例所示,所以在实际需求场景中还是要具体问题具体分析。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持0133技术站。