我有一个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>