我有一个div
带有多个边框的边框,我正在使用一个边框box-shadow
。我希望它div
有几个圆角和一个方角。但是,只要一个角border-radius
添加了一个(除了0
),其他角box-shadow
也会变成圆角(半径与 的任何指定值不同border-radius
)。有没有办法border-radius
为某些角落设置,但不是全部,并且box-shadow
使用与所有角落相同的半径border
?
这种行为存在于 Chrome 19、Firefox 13 和 Safari 5 中,但不存在于 Internet Explorer 9 或 Opera 12 中,它们都box-shadow
按预期显示 -box-shadow
当border
' 的角也是正方形时,会显示正方形的角。
代码(示例):
CSS
.block1 {
padding: 18px 14px;
margin: 5px;
background: #fff;
border: 1px solid red;
-webkit-box-shadow: 0 0 0 5px rgba(0, 57, 47, .32);
-moz-box-shadow: 0 0 0 5px rgba(0, 57, 47, .32);
box-shadow: 0 0 0 5px rgba(0, 57, 47, .32);
-webkit-border-radius: 10px 0 10px 10px;
-moz-border-radius: 10px 0 10px 10px;
border-radius: 10px 0 10px 10px;
}
.block2 {
padding: 18px 14px;
margin: 5px;
background: #fff;
border: 1px solid red;
-webkit-box-shadow: 0 0 0 5px rgba(0, 57, 47, .32);
-moz-box-shadow: 0 0 0 5px rgba(0, 57, 47, .32);
box-shadow: 0 0 0 5px rgba(0, 57, 47, .32);
}
.outer {
border: 1px solid green;
}
HTML
<p>Top-right block corner is not rounded, but box-shadow is:</p>
<div class="outer">
<div class="block1">
foo
</div>
</div>
<p>Box-shadow on block without border-radius:</p>
<div class="outer">
<div class="block2">
bar
</div>
</div>