2016-06-05 10 views
1

Ich möchte den Box-Shadow nur zur oberen, unteren und linken Seite hinzufügen - keine rechte Seite.Box shadow on top, bottom und left only

Das ist meine CSS-Klasse:

.topBottomLeft{ 
     box-shadow: inset -1px 0px 0.5px 0.5px #000,inset 0 1px 0.5px 0.5px #000,inset 0 -1px 0.5px 0.5px #000 !important; 
} 

Das ist mein jsfiddle: https://jsfiddle.net/Ly4tocny/

Es ist die Box Schatten jedoch auf allen vier Seiten anwenden. Was vermisse ich?

+0

Die Eigenschaft funktioniert nicht wirklich so. –

+0

Es wäre besser für Sie, ein Pseudo-Element zu verwenden, um den eingelassenen Schatten (mit ausgebreitetem Radius) nur auf drei Seiten hinzuzufügen. – Harry

Antwort

2

Sie sind in der Nähe einer Lösung. Sie müssen nur die Werte ein wenig optimieren.

Hier ist ein Arbeitsbeispiel mit Ihrer Methode, mit einigen zusätzlichen Betonung, so dass Sie die Änderungen sehen können, die ich gemacht habe.

box-shadow: inset 0 5px 0.5px 0.5px #000, 
    inset 0 -5px 0.5px 0.5px #000, 
    inset 5px 0.5px 0.5px #000; 

https://jsfiddle.net/ercnvzj7/

Ich empfehle diese für zukünftigen Shading: http://css3generator.com/

2

Der erste Einsatz Wert 1 nicht -1 sein sollte.

.topBottomLeft { 
    box-shadow: inset 1px 0px 0.5px 0.5px #000,inset 0 1px 0.5px 0.5px #000,inset 0 -1px 0.5px 0.5px #000; 
} 
+0

Es wäre immer noch ein kleiner Schatten auf der rechten Seite (zumindest auf Chrome). – Harry

+0

Wiedergabe mit negativem Wert, z. B. "Einfügung 4px 0 0,5px -2px # 000". –

+0

Aber dann wird die Dicke nicht gleich sein, was OP erwartet. Ich überlasse das dem OP, um zu entscheiden :) – Harry