Wenn Sie experimentelle Technologie mit nur partial support verwenden möchten, können Sie die clip path
property verwenden.
Dadurch erhalten Sie genau den Effekt, den Sie glauben: einen normalen Schatten auf der oberen, linken und unteren Kante und sauber abgeschnitten am rechten Rand. Viele andere SO-Lösungen für dieses Problem führen zu Schatten, die sich "auflösen", wenn sie sich der Kante nähern, die keinen Schatten haben soll.
In Ihrem Fall würden Sie clip-path: einfügen (px px px px); wo die Pixelwerte von der fraglichen Kante berechnet werden (siehe unten).
#container {
box-shadow: 0 0 5px rgba(0,0,0,0.8);
clip-path: inset(-5px 0px -5px -5px);
}
Dies wird die div betreffenden Clip an:
- 5 Pixel über dem oberen Rand (einschließlich der Schatten)
- 0 Pixel von der rechten Kante (den Schatten zu verbergen)
- 5 Pixel oberhalb der Unterkante (einschließlich der Schatten)
- 5 Pixel außerhalb des linken Randes (einschließlich der Schatten)
012.
Beachten Sie, dass zwischen den Pixelwerten keine Kommas erforderlich sind.
Die Größe des div kann flexibel sein.
Bitte erstellen Sie ein Beispiel in http://jsfiddle.net/ oder geben Sie Ihren Code, was Sie versucht haben –
Ich weiß, das ist ein Oldie, aber kennen Sie die Größe der div, die Box-Shadow ist angewendet? Hat das Div eine feste Größe oder ist es flexibel? – Luke