これは実装上のバグか、box-shadow
がoverflow-x
およびoverflow-y
にどのように関係しているか誤解しています。 Chrome、Firefox、Safariでこれを確認できるので、バグではないと思います。CSSのオーバーフロー-xとオーバーフロー-yがボックスシャドウで機能しないのはなぜですか?これはバグですか?
box-shadow
は、overflow
プロパティの場合には、まったく無意味であるようです。 overflow: hidden
あまりにも動作しますoverflow: visible
ボックスシャドウの作品、...しかし、
overflow-x: hidden;
overflow-y: visible;
...は動作しません。ブラウザは単にx軸とy軸の両方を隠すだけです。私の見解では、y軸上のボックスシャドーが見える間にx軸のボックスシャドウが隠されていることが予想されます。
は、ここで私が何を意味するかだ、と同様にCodePen:
body {padding: 0; margin: 0;}.container {background: dimgray;display: flex;align-items: center;justify-content: center;width: 100vw;height: 100vh;}
.orangeSquare {
background: orange;
width: 100px;
height: 100px;
display: flex;
align-items: center;
justify-content: center;
overflow-x: hidden;
overflow-y: visible; /* why doesn't this work? */
}
.tealRectangle {
background: teal;
color: white;
width: 92px;
height: 92px;
line-height: 92px;
text-align: center;
box-shadow: 0 0 85px 15px black;
}
<div class='container'>
<div class='orangeSquare'>
<span class='tealRectangle'>—</span>
</div>
</div>
すべてのアイデアは、これが起こっている理由を?または私は何か明白な行方不明ですか?回避策も高く評価されます。ありがとう!
は、つまりCSSは 'ボックスシャドウleft'を持っていません(単一の側に適用することはできません'-right'などのプロパティ)あなたが提供したシナリオを処理することは期待できません。どのようにして影の半分を隠すのですか?影は隠された領域に消えますか?それはちょうど急にクリップされますか? – Quantastical
@Quantasticalそれは良い点です。私は、ボックスシャドー左の欠如はそれがいかに難しいかを指摘します。 'overflow:hidden'が設定されているときにボックスシャドウを突然クリップするので、X軸またはY軸に沿ってその機能を複製することができました。私の思うところに願いを込めて考える。 –