そのように、親のdivシャドウに続く外部シャドウで折り畳みコーナーを行うにはどうすればよいですか:
ありがとう。
少し複雑ですが、これを試してみましたが、うまくいきます
.box {
width: 200px;
height: 100px;
position: relative;
padding: 25px;
background: none;
}
.box .content {
position: relative;
z-index: 2;
}
.box .the_background {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
}
.box .the_background .square-top-right {
width: 250px;
height: 125px;
position: absolute;
top: 0;
left: 0;
background: #fff;
display: block;
z-index: 3;
}
.box .the_background .square-bottom-left {
width: 225px;
height: 150px;
position: absolute;
bottom: 0;
left: 0;
background: #fff;
display: block;
z-index: 3;
}
.box .the_background:after {
content: '';
width: 35px;
height: 35px;
background: #ddd;
position: absolute;
z-index: 2;
right: 7px;
bottom: 7px;
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-box-shadow: 0px 0px 10px #000;
-moz-box-shadow: 0px 0px 10px #000;
box-shadow: 0px 0px 10px #000;
}
.box .the_background .square-shadow {
position: absolute;
left: 0;
top: 0;
z-index: 1;
width: 100%;
height: 100%;
}
.box .the_background .square-shadow:before {
content: '';
position: absolute;
left: 0;
width: 250px;
height: 125px;
-webkit-shadow: 0px 0px 10px #000;
-moz-shadow: 0px 0px 10px #000;
box-shadow: 0px 0px 10px #000;
}
.box .the_background .square-shadow:after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 225px;
height: 25px;
-webkit-shadow: 0px 0px 10px #000;
-moz-shadow: 0px 0px 10px #000;
box-shadow: 0px 0px 10px #000;
}
<div class="box">
<div class="content">
Lorem ipsum...
</div>
<div class="the_background">
<div class="square-top-right"></div>
<div class="square-bottom-left"></div>
<div class="square-shadow"></div>
</div>
</div>
CSS Backgrounds and Borders モジュール レベル 4 では、次のcorner-shape
プロパティが導入されています。
デフォルトでは、0 以外の border-radii は、影響を受ける角を丸くする 1/4 楕円を定義します。ただし、場合によっては、他のコーナー形状が必要になることもあります。この
corner-shape
プロパティは、半径の再解釈を指定して、他の角の形状を定義します。
あなたの場合、次のように設定する必要がありますbevel
。
境界半径は、コーナーで斜めのスライスを定義します。
コードは次のようになります
corner-shape: bevel;
border-radius: 0 0 30px;
box-shadow: 0 0 5px #000;
ただし、この仕様はドラフトであり、実装の準備ができていません。したがって、ブラウザはそれを実装していません。ただし、コーナー形状のプレビューを使用して、どのように見えるかを確認できます。