我可以将不透明度属性分配给一个div的背景属性,而不是它的文本吗?
我试过了:
background: #CCC;
opacity: 0.6;
但这不会改变不透明度。
我可以将不透明度属性分配给一个div的背景属性,而不是它的文本吗?
我试过了:
background: #CCC;
opacity: 0.6;
但这不会改变不透明度。
当前回答
仅适用于Less用户:
如果你不喜欢使用RGBA设置颜色,而是使用HEX,有解决方案。
你可以像这样使用mixin:
.transparentBackgroundColorMixin(@alpha,@color) {
background-color: rgba(red(@color), green(@color), blue(@color), @alpha);
}
像这样使用它:
.myClass {
.transparentBackgroundColorMixin(0.6,#FFFFFF);
}
实际上,这是内置的Less函数也提供的:
.myClass {
background-color: fade(#FFFFFF, 50%);
}
看我如何转换十六进制的颜色与rgba与少编译器?
其他回答
我也有同样的问题。我想要100%透明的背景色。只需使用这段代码;这对我来说非常有效:
rgba(54, 25, 25, .00004);
你可以在这个网页的左边(联系表单区域)看到一些例子。
这样做的一个好方法是使用CSS 3。
创建一个div宽度类-例如,在你的页面顶部的supersizer:
然后设置以下CSS属性:
.supersizer { 后台:url("http://fc06.deviantart.net/fs70/f/2012/099/d/f/stackoverflow_16x16_icon_by_muntoo_stock-d4vl2v4.png")无重复中心中心固定; 宽度:100%; 高度:100%; 位置:固定; z - index: 1; 透明度:0.5; -webkit-background-size:封面; -moz-background-size:封面; -o-background-size:封面; background-size:封面; 上图:0; } < div class = "超大" > < / div >
我的技巧是创建一个透明的。png颜色和使用background:url()。
你不能。你必须有一个单独的div作为背景,这样你只能对它应用不透明度。
我最近尝试这样做,因为我已经在使用jQuery,我发现以下是最不麻烦的:
创建两个不同的div。他们会是兄弟姐妹,彼此之间没有羁绊。 给文本div一个纯背景色,因为这将是无javascript的默认值。 使用jQuery获取文本div的高度,并将其应用到背景div。
我相信有一些CSS忍者的方法来做所有这些,只有浮动或其他东西,但我没有耐心去弄清楚。
最简单的方法是用2个div, 1个是背景,1个是文本:
#{容器 位置:相对; 宽度:300 px; 身高:200 px; } #块{ 背景:# CCC; 过滤器:α(不透明度= 60); /* ie */ -moz-opacity: 0.6; /* Mozilla */ 透明度:0.6; /* css3 */ 位置:绝对的; 上图:0; 左:0; 高度:100%; 宽度:100%; } #{文本 位置:绝对的; 上图:0; 左:0; 宽度:100%; 高度:100%; } < div id = "容器" > < div id = "块" > < / div > < div id = " text " > < / div >测试 < / div >