背景透明,文字不透明的解决方案

在写项目的时候,会经常遇到这种需求,如图:

背景半透明,文字正常显示
你看到之后会有什么样的解决方案呢?思考一会儿。
假设你思考了,可以看看和我的方法的区别,对比一下优劣,相互交流一下。

有的童鞋可能会随口说出opacity:50%; 这种可能会遇到坑哦;而opacity的坑主要在于按照上边的HTML代码结构设置父元素opacity:0.5;会发现作为子元素的文字也变透明了。

方案一:
html:

<div class="del_tip">
 <div class="del_word"> 
  <p>确定删除?</p>
  <span class="sure">确定</span>
  <span class="cancle">取消</span>
 </div>
</div>

 

css代码:

.del_tip {
  text-align: center;
  width: 125px;
  height: 203px;
  position: absolute;
  background: rgba(0, 0, 0, 0.5);
  display: none;
}
.del_tip .del_tip_word {
  position: inherit;
  top: 45%;
  left: 50%;
  margin-top: -25px;
  margin-left: -35px;
  color: #fff;
}
.del_tip .del_tip_word p {
  font-size: 16px;
  margin-bottom: 25px;
}
.del_tip .del_tip_word .sure {
  width: 50px;
  height: 25px;
  background: #ff4040;
  padding: 5px 10px;
  margin-left: -19px;
  cursor: pointer;
}
.del_tip .del_tip_word .cancle {
  width: 50px;
  height: 25px;
  background: #bbb;
  padding: 5px 10px;
  margin-left: 10px;
  cursor: pointer;
}

 

主要使用的是background:rgba(0,0,0,.5);这个属性。

 

方案二:
当然可以在写一个空的div当做背景。需要通过定位来实现。不在详细展开。

 

方案三:
还有一个跟rgba相似的就是hsla(0,0%,100%,.5);

H:
Hue(色调)。0(或360)表示红色,120表示绿色,240表示蓝色,也可取其他数值来指定颜色。取值为:0 – 360
S:
Saturation(饱和度)。取值为:0.0% – 100.0%
L:
Lightness(亮度)。取值为:0.0% – 100.0%
A:
Alpha透明度。取值0~1之间。

兼容性IE9+,其他主流浏览器都支持。

转载于:https://www.cnblogs.com/-simon/p/5916659.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值