複数の境界線を持つ がdiv
あり、1 つの境界線に を使用してbox-shadow
います。これdiv
には、1 つの正方形の角を持ついくつかの丸みを帯びた角が必要です。ただし、1 つのコーナー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>