[英]CSS Styling a transparent div
我有一个顶部显示div的视频标签。 在大多数情况下,div非常漂亮且可见,只有暗图像有点问题。
为了测试我搜索了3张图片并用我的div重叠了它们。
结果如下:
能见度不错!
可见性不好
可见性好,背景能见度差
.container{ position: relative; } img{ width: 100%; height: 100%; } .tag{ position: absolute; bottom: 5px; right: 0; color: white; font-size: 48px; padding: 5px; -webkit-border-top-left-radius: 20px; -moz-border-radius-topleft: 20px; border-top-left-radius: 20px; background-color: black; opacity: 0.4; filter: alpha(opacity=40); /* For IE8 and earlier */ }
<div class="container"> <img src="https://www.nasa.gov/sites/default/files/20140824_0304_171.jpg"></img> <div class="tag">Hello Tag</div> </div> <div class="container"> <img src="https://alifebeyondrubies.files.wordpress.com/2013/03/walls01.jpg"></img> <div class="tag">Hello Tag</div> </div> <div class="container"> <img src="http://photos.epicurious.com/2015/01/12/54b4006b2413537c0d45738f_51143820_spaghetti-mussels-white-beans_6x4.jpg"></img> <div class="tag">Hello Tag</div> </div>
虽然可能更适合UX.SE,但我可能提供了几种选择。
首先,不要对整个元素使用不透明度,使用透明背景颜色以使白色文本突出。
其次,概述白色(或透明白色)的黑色(ish)标签将允许元素在较暗的背景上更明显,但不会影响那些颜色较浅的元素。
.tag{
position: absolute;
bottom: 5px;
right: 0;
color: white;
font-size: 48px;
padding: 5px;
-webkit-border-top-left-radius: 20px;
-moz-border-radius-topleft: 20px;
border-top-left-radius: 20px;
background-color: rgba(0, 0, 0, 0.4);
box-shadow: -1px -1px 0px 0px rgba(255,255,255,0.3);
}
恕我直言,使文本白色,并添加一个投影。
.tag {
color: #fff;
text-shadow: 0 1px 10px rgba(0,0,0,0.75)
}
显然你担心一个硬编码的背景颜色不适合所有黑暗,中性和浅色背景。
有一个相对较新的CSS属性叫做background-blend-mode
,它控制两个背景如何相互混合。 您可以使用此属性指定在所有情况下都会产生一些对比度的混合模式 。
缺点:
mix-blend-mode
是更好的选择,支持较少) .photo { position: relative; height: 200px; background-blend-mode: difference, normal; } .photo span { position: absolute; left: 0; right: 0; bottom: 0; font: bold larger/50px sans-serif; color: rgba(255, 255, 255, 1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .photo-1 { background: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)) no-repeat bottom / 100% 50px, url(https://www.nasa.gov/sites/default/files/20140824_0304_171.jpg) center / cover; } .photo-2 { background: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)) no-repeat bottom / 100% 50px, url(https://alifebeyondrubies.files.wordpress.com/2013/03/walls01.jpg) center / cover; } .photo-3 { background: linear-gradient(to right, rgba(255, 255, 255, .4), rgba(255, 255, 255, .4)) no-repeat bottom / 100% 50px, url(http://photos.epicurious.com/2015/01/12/54b4006b2413537c0d45738f_51143820_spaghetti-mussels-white-beans_6x4.jpg) center / cover; }
<div class="photo photo-1"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> </div> <div class="photo photo-2"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> </div> <div class="photo photo-3"><span>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</span> </div>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.