我正在使用带有透明部分的PNG图像的border-image
。问题是div有background-color
设置黑色。当我应用border-radius
时,模式的透明部分显示div的黑色,而不是包含div的元素的背景。
如何让border-radius
忽略div的颜色。以下是相关代码。
HTML
<header>
<div class="outerColumn">
<div class="column clearfix">
<h1>Company</h1>
<nav>
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Portfolio</a></li>
<li><a href="#">My Work</a></li>
<li><a href="#">About me</a></li>
<li><a href="#">Elements</a></li>
<li><a href="#">Contact</a></li>
</ul>
</nav>
</div>
</div>
</header>
CSS
body > header {
position:fixed;
top:0;
left:0;
z-index:2;
border-bottom:10px solid #0e0e0e;
-moz-border-image: url(../images/header-background-pattern.gif) 0 0 10 0 repeat;
-webkit-border-image: url(../images/header-background-pattern.gif) 0 0 10 0 repeat;
border-image: url(../images/header-background-pattern.gif) 0 0 10 0 repeat;
}
header, footer {
width:100%;
background-color:#0e0e0e;
clear:both;
}
答案 0 :(得分:7)
您可以将background-clip设置为padding-box,将背景颜色大小设置为无边框的填充框:
-moz-background-clip: padding;
-webkit-background-clip: padding;
background-clip: padding-box;
有关更多信息,请参阅http://css-tricks.com/transparent-borders-with-background-clip/。
答案 1 :(得分:2)
将边框放在透明背景的包装纸上。
<div id="HeaderBorder">
<header>
...
</header>
</div>
<style type="text/css">
#HeaderBorder { /* border image stuff + transparent background */ }
</style>