Css 是否可以在IE6/7/8中应用RGBA边界?

Css 是否可以在IE6/7/8中应用RGBA边界?,css,Css,我的CSS如下所示: #bbb { border: solid rgba(0, 0, 0, .45) 200px; height: 1500px; width: 960px; } 我确实需要使边框透明,但它在IE6/7/8上不起作用,我该如何处理它?你可以这样做,它基本上是渲染一个“borderdiv”,在“contentdiv”周围有一个透明的背景。“边框宽度”是通过更改div.border中的padding值来设置的,颜色/透明度来自背景图像值,该值当前链接到一个50%透明黑色

我的CSS如下所示:

#bbb {
  border: solid rgba(0, 0, 0, .45) 200px;
  height: 1500px;
  width: 960px;
}

我确实需要使边框透明,但它在IE6/7/8上不起作用,我该如何处理它?

你可以这样做,它基本上是渲染一个“border
div
”,在“content
div
”周围有一个透明的背景。“边框宽度”是通过更改
div.border
中的
padding
值来设置的,颜色/透明度来自
背景图像
值,该值当前链接到一个
50%透明黑色
像素大小的图像

HTML

<div class="border">
    <div class="content"></div>
</div>
<div class="component">
    <div class="background"></div>
    <div class="content">..Content..</div>
</div>
这里有一个在IE6/7/8中应该可以使用的方法


这是指向的链接,在旧浏览器中无法正确加载。

不使用图像的替代方法是:

HTML

<div class="border">
    <div class="content"></div>
</div>
<div class="component">
    <div class="background"></div>
    <div class="content">..Content..</div>
</div>
可以根据需要缩放任意大的边界。这一个使用定位,您也可以使用填充/边距


您不能在IE8及更高版本中使用RGBA,据我所知,它也没有polyfill

正如其他人已经说过的,您可以使用背景,但不需要使用图像。您也不能使用
Opactiy
(或
filter:alpha(opacity)
),因为这也会使子对象透明

相反,您可以以ARGB格式为父元素指定单一颜色
过滤器
渐变

.parent {
  background: transparent;
  -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#7FFFFFFF,endColorstr=#7FFFFFFF)"; /* IE8 */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7FFFFFFF,endColorstr=#7FFFFFFF);   /* IE6 & 7 */
  zoom: 1;
}
这相当于
background:rgba(255,255,255,5)在现代浏览器中


要获得更详细的解释和rgba到argb的转换,请参阅。

我很确定这是一个XY问题,为什么需要这么大的边框?IE6和IE7在透明PNG图像@FezVrasta上有问题-谢谢,我已经修复了帖子并摆弄了一个GIF图像。