是否可以,仅使用CSS,使background元素半透明但元素的内容(文本和图像)不透明?
我想在不将文本和背景作为两个单独元素的情况下实现此目的.
尝试时:
p {
position: absolute;
background-color: green;
filter: alpha(opacity=60);
opacity: 0.6;
}
span {
color: white;
filter: alpha(opacity=100);
opacity: 1;
}Run Code Online (Sandbox Code Playgroud)
<p>
<span>Hello world</span>
</p>Run Code Online (Sandbox Code Playgroud)
看起来子元素受父母的不透明度影响,因此opacity:1相对于opacity:0.6父元素而言.
如何使跨浏览器(包括Internet Explorer 6)的透明度在一段div时间后文本保持不透明?
我需要在不使用任何库(如jQuery等)的情况下完成它.(但是如果你知道一个库那样做我很想知道,所以我可以查看他们的代码).
我有以下代码:
@color : #d14836;
.stripes span {
-webkit-background-size: 30px 30px;
-moz-background-size: 30px 30px;
background-size: 30px 30px;
background-image: -webkit-gradient(linear, left top, right bottom,
color-stop(.25, rgba(209, 72, 54, 1)), color-stop(.25, transparent),
color-stop(.5, transparent), color-stop(.5, rgba(209, 72, 54, 1)),
color-stop(.75, rgba(209, 72, 54, 1)), color-stop(.75, transparent),
to(transparent));
Run Code Online (Sandbox Code Playgroud)
我需要转换@color为rgba(209, 72, 54, 1).
所以我需要rgba(209, 72, 54, 1)在我的代码中用Less函数替换,该函数rgba()从我的@color变量生成值.
我怎么能用Less做这件事?
我有这门课
.box { background-color:#fff; border:3px solid #eee; }
Run Code Online (Sandbox Code Playgroud)
我的问题是如何才能将白色背景的不透明度设置为与我的背景混合?
谢谢.
假设我有一个必须保持的设置字体颜色,并且它覆盖了可以是任何颜色的内容,我怎样才能确保字体是否可读,无论它覆盖什么?
这是一个jsFiddle来展示我试图描述的效果. http://jsfiddle.net/4AUDr/
#overlay
{
position: relative;
top: -150px;
color: #860101;
}
Run Code Online (Sandbox Code Playgroud)
Meme字幕使用带有黑色轮廓的白色文本使其在任何假设的meme图像上都可读,但是我不认为有一种跨浏览器兼容的CSS方法可以实现这一点,并且使用较小的字体可能看起来非常可怕.
这个问题有什么解决方案?
我想让rgba背景适用于所有浏览器.我做了一些搜索,发现通常有三种类型的浏览器:
1)支持rgba的浏览器.
2)通过奇怪的'-ms-filter'事物支持rgba的Internet Explorer.
3)不支持rgba的浏览器,但我可以使用带有'数据URI方案'的base64 png图像.(即使浏览器不支持URI方案,根据这个它仍然可以这样做.)
我对rgba支持浏览器没有任何问题,我可以使用IE,但问题是我不知道如何为URI方案生成客户端base64 png图像.我真的不想预生成png文件,因为我的rgba值不是常量.我可以使用php gd库进行动态png生成,但我真的很想在客户端做这一切.所以我想知道,有没有什么好方法可以用java脚本生成半透明的png图像.在此之后,我可以对它们进行base64编码并将它们与URI方案一起使用?
谢谢.
编辑:
我希望有半透明的div背景,同时内容完全可见.
我需要在卡片中显示多个图像,我想在它们上面写一些文字.这些是用户上传的随机图像,因此可以是任何颜色.需要在它们上面的白色文字不透明,如附加小提琴所示.
这是一个例子 - http://jsfiddle.net/7dgpbLd8/1/
这是我在图像上添加一些灰色div的解决方案.但是,文本在灰色背景上应始终为白色.但它也在这里被遮蔽了.知道如何遮蔽实际背景以便文本可读,这将是很棒的.
我只需要闪烁背景颜色,而不是文本。而我却做不到这一点。我需要你的帮助。
.blink{
width:200px;
height: 50px;
background-color: magenta;
padding: 15px;
text-align: center;
line-height: 50px;
}
.text{
font-size: 25px;
font-family: cursive;
color: white;
animation: blink 1s linear infinite;
}
@keyframes blink{
0%{opacity: 0;}
25%{opacity: .5;}
50%{opacity: 1;}
75%{opacity: .5;}
100%{opacity: 0;}
}Run Code Online (Sandbox Code Playgroud)
<div class="blink">
<span class="text">blinking text</span></div>Run Code Online (Sandbox Code Playgroud)