我工作的一个网站,有很多涉及到透明度上,我想我会尝试在RGBA完全建立它,然后做回退的IE浏览器。我需要“facebox”样式边框效果,其中所述外边界是圆形的,并且比它包围框的背景较少不透明的。

http://24ways.org/2009/working-with-最后一个例子RGBA色似乎表明这是可能的,但我似乎无法得到它的工作。当我尝试以下方法:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>

 <title>RGBA Test</title>
 <style type='text/css'>
   body {
     background: #000;
     color: #fff;
   }
   #container {
     width: 700px;
     margin: 0 auto;
     background: rgba(255, 255, 255, 0.2);
     border: 10px solid rgba(255, 255, 255, 0.1);
     padding: 20px;
   }
  </style>
</head>
<body>
  <div id='container'>
    This should look like a facebox.
  </div>
</body></html>

好像后台“延伸”的元素,这使得像素值获得加在一起的边界下方。因此,当两个背景和边界是半透明的,边界总是比该元件的背景更不透明。这也正是我所试图达到的对面,但现在看来似乎应该根据我见过的例子是可能的。

我还要补充一点,我不能使用的容器内的另一个元素,因为我也打算使用容器上的边界半径得到圆角,和WebKit广场的子元素的角落,如果他们具有分配的背景下,这将意味着基本上圆形的外边界与正方形的内容。

对不起,我不能发布的这个图像......显然,我没有足够的代表处发布的图像。

有帮助吗?

解决方案

您可以使用新的background-clip: padding-box;属性来获取这是怎么回事。它计算应该在哪里背景的盒子内开始。 的更多细节和实施例中,检查在这里

其他提示

测试这在你的描述Firefox的确认 - 我花了一些时间来实现这意味着什么!有边界欠透明会对它下面的透明背景没有影响,因为边界是(像你说的)添加剂。

在这种情况下,你必须来模拟你后的效果和工作用的颜色比阿尔法更多:

background: rgba(128, 128, 128, 0.7);
border: 10px solid rgba(0, 0, 0, 0.1);

尝试这种情况:

#container {
    width: 700px;
    margin: 0 auto;
    background: rgba(255, 255, 255, 0.2);
    border: 10px solid rgba(255, 255, 255, 0.1);
    padding: 20px;

    /* and here is the fix */
    -webkit-background-clip: padding-box;
    -moz-background-clip: padding;
    background-clip: padding-box;
}
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top