是否可以在div上实现具有纯色背景的跨浏览器(ie6+)半透明边框?
我只发现了以下情况:
- 边框是半透明的,但背景也是半透明的。
- 身体是半透明的,但边框不是。
谁能指出我正确的方向或替代解决方案?
是否可以在div上实现具有纯色背景的跨浏览器(ie6+)半透明边框?
我只发现了以下情况:
谁能指出我正确的方向或替代解决方案?
这取决于您想要/必须支持的浏览器,但您可以使用 CSS3-rgba 声明来定义颜色(标准 rgb 和附加a
- 这是 alpha/透明通道)。此外,根据背景和边框的颜色,您可能需要添加background-clip
属性。
rgba(255,255,255,.5);
background-clip:padding-box;
会给你一个 50% 不透明的白色。这适用于您可以指定颜色的每个属性。
IE<=8 的例外(多么令人惊讶)得到了很好的支持。
这是一个给你的例子:带实心 bg 的透明边框。
为了完整起见:必要的背景剪辑具有相同的浏览器支持,但这里有一个浏览器支持表
编辑:
对于 IE6+ 的支持,你应该看看CSS3Pie。它通过 VML 模拟圆角或其他颜色空间等 CSS3 属性。
我设法在 MSIE6 中完成了这项工作:具有不透明背景的半透明边框:
.qm {
background-attachment: fixed;
background-color: transparent;
background-image: url("trans_paars70.png");
padding: 1em;
}
基本上,我使用元素的填充来创建一个假边框,填充半透明背景图像(只要您提供 256 色调色板 gif 或 png,这在 MSIE6 中就可以正常工作)。
根据您需要支持的浏览器的年龄,背景剪辑可能是一个很好的解决方案。
您想使用padding-box
然后将背景颜色和边框颜色设置为您需要的任何颜色,rgba(0,0,0,0)
用于任何半透明值,第四个值是 alpha。
希望有帮助:)
rgba properties
嘿,现在您可以像这样习惯于背景颜色和边框实心
CSS
.parent{
background: rgba(0,0,0,0.2);
padding: 50px;
}
.box {
background: #f0edcc;
border: 24px solid rgba(0,0,0,0.3);
padding: 10px;
margin: 20px;
}
HTML
<div class="parent">
<div class="box">Your message.</div>
</div>