ITPub博客

首页 > IT职业 > IT职场 > CSS3实现背景透明,文字不透明

CSS3实现背景透明,文字不透明

IT职场 作者:蚂蚁没问题 时间:2021-09-09 09:51:36 0 删除 编辑

最近遇到一个需求,要在图片上显示带有半透明背景的文字,效果如下图所示:


图片描述

需求.png

看到这个需求之后,第一反应是使用CSS3中的opacity设置元素的透明度。

html>
    
    
    
    背景透明,文字也透明
    
    
        
            

2018世界杯已开幕:10天

        
    

效果如下:


图片描述

背景透明,文字也透明.png

这样貌似也满足了需求,不过并不完美,设置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的方式:

html>
    
    
    
    背景透明,文字不透明
    
    
        
            

2018世界杯已开幕:10天

        
    

效果如下:


图片描述

背景透明,文字不透明.png

这样设置之后,文字显得清晰了许多。

小结

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


图片描述

1.gif



作者:neromaycry
链接:https://www.jianshu.com/p/09ee8ce360ac


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/2568/viewspace-2813542/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-16

  • 博文量
    107
  • 访问量
    675