sto*_*kli 25 html css css3 rgba
我正在开发一个涉及很多透明度的网站,我想我会尝试在RGBA中完全构建它,然后为IE做后备.我需要一个"facebox"风格的边框效果,其中外边框是圆形的,并且比它所包围的框的背景更不透明.
来自http://24ways.org/2009/working-with-rgba-colour的最后一个例子似乎暗示它是可能的,但我似乎无法让它发挥作用.当我尝试以下内容时:
<!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>
Run Code Online (Sandbox Code Playgroud)
看起来背景"延伸"在元素的边界下面,这导致像素值被加在一起.因此,当背景和边界都是半透明时,边框总是比元素的背景更不透明.这与我想要实现的完全相反,但似乎应该可以基于我见过的例子.
我还应该补充一点,我不能在容器中使用另一个元素,因为我也将在容器上使用border-radius来获得圆角,如果它们有背景,webkit会对子元素的角进行平方已分配,这实际上意味着带有方形内容的圆形外边框.
对不起,我无法发布此图片...显然我没有足够的代表发布图片.
在 Firefox 中进行测试证实了您所描述的内容 - 我花了一些时间才意识到这一点的含义!使边框不那么透明不会对其下方的透明背景产生影响,因为边框(正如您所说)是可加的。
在这种情况下,您必须模拟您想要的效果并使用比 alpha 更多的颜色:
background: rgba(128, 128, 128, 0.7);
border: 10px solid rgba(0, 0, 0, 0.1);
Run Code Online (Sandbox Code Playgroud)