Html 使用rgba css属性开发主题布局,而不是在IE中工作

Html 使用rgba css属性开发主题布局,而不是在IE中工作,html,css,Html,Css,我在为网站创建css驱动的主题布局时遇到了一个问题。要求是用户将为其自定义主题选择主颜色和次颜色。页面中的块将使用一些不透明度(或alpha值)进行渲染,在这些不透明度(或alpha值)之上将渲染渐变图像。使用opacity css属性的问题是,所有子元素也继承了不透明度值,这不是我们想要的。另一方面,使用rgba属性与IE存在兼容性问题。我应该采取哪种方法 /* HTML */ <div class="someClass"> Page Title </di

我在为网站创建css驱动的主题布局时遇到了一个问题。要求是用户将为其自定义主题选择主颜色和次颜色。页面中的块将使用一些不透明度(或alpha值)进行渲染,在这些不透明度(或alpha值)之上将渲染渐变图像。使用opacity css属性的问题是,所有子元素也继承了不透明度值,这不是我们想要的。另一方面,使用rgba属性与IE存在兼容性问题。我应该采取哪种方法

/* HTML */
  <div class="someClass">
       Page Title
 </div>

/* CSS */ 
.someClass{

  border-top:10px solid #b59a47;
  border-bottom:5px solid #f4e196;
  background-image: url(../../images/contentHeader-bg.png);
  background-color: rgba(244,225,150,0.2);
}
/*HTML*/
页面标题
/*CSS*/
.某个班级{
边框顶部:10px实心#b59a47;
边框底部:5px实心#f4e196;
背景图像:url(../../images/contentHeader bg.png);
背景色:rgba(244225150,0.2);
}

如何分别为所有子元素设置不透明度(如果问题是它们继承了不透明度值)


如果在某些浏览器中不起作用,请尝试添加
!重要信息
用于子样式。

并非所有浏览器都支持RGBa,因此如果设计允许,您应该声明一种“回退”颜色。这种颜色很可能是纯色(完全不透明)。不声明回退意味着在不支持它的浏览器中不会应用颜色。这种回退在一些非常旧的浏览器中确实失败了

div {
   background: rgb(200, 54, 54); /* The Fallback */
   background: rgba(200, 54, 54, 0.5);
}

不过,请务必注意不要在IE 6和IE 7中使用速记。

您可以使用渐变过滤器进行伪装,在渐变过滤器中,您可以使用rgba颜色,只需为开始和结束设置相同的颜色:

filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);

您需要为IE8及以下版本使用筛选器:。这不是我想要的,在发布此问题之前,我已经阅读了此内容。寻找一些好方法。这是一个好方法。你只有两个选择,即png背景图像或过滤器的东西。没有其他选择。本文向您展示了这两种方法的优缺点:
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000050,endColorstr=#99000050);