Wie wende ich Box-Shadow auf alle vier Seiten an?


84

Ich versuche ein box-shadowauf allen vier Seiten anzuwenden . Ich konnte es nur auf 2 Seiten bekommen:


2
CSS3please.com ist immer hilfreich für diese Art von Sachen ...
sscirrus

Antworten:


143

Es liegt am x- und y-Versatz. Versuche dies:

-webkit-box-shadow: 0 0 10px #fff;
        box-shadow: 0 0 10px #fff;

Bearbeiten (Jahr später ..): Die Antwort wurde browserübergreifender gestaltet, wie in den Kommentaren gefordert :)

Übrigens: Es gibt heutzutage viele CSS3-Generatoren. CSS3.ME , CSS3Maker , CSS3-Generator usw.


1
+1, weil Sie schneller die richtige Antwort erhalten haben, obwohl sie mit einem kleineren Radius und einem Spread-Wert besser aussieht.
dreißig Punkte

1
Vielen Dank. Ich habe mir deine erste Antwort angesehen und dachte, dass ich die Frage falsch verstanden habe :)
Damb

Sie sollten Ihre Antwort browserübergreifender gestalten.
Lucas

Ich bin mir nicht sicher warum, aber das funktioniert bei mir nicht. Ich bekomme keinen Boxschatten, wenn ich das benutze. Wenn ich die Antwort von @thirtydot verwende, funktioniert es. Sie müssen die Unschärfe und Ausbreitung haben, wenn die ersten beiden Werte 0 sind. Dies geschieht in Chrome.
Charles Williams

1
@thirtydot - Sie haben Recht, mit einem helleren Hintergrund können Sie es sehen. Aber wenn Ihr Hintergrund schwarz ist, können Sie ihn überhaupt nicht sehen. Ich sollte also nicht sagen, dass es nicht funktioniert. Aber es ist definitiv nicht sichtbar ohne die Ausbreitung, wenn Sie einen schwarzen Hintergrund haben, unabhängig von der Farbe des Kastenschattens. Selbst mit Rot scheint Ihr Rand leicht rot zu sein, aber es gibt keinen "sichtbaren" Kastenschatten. Wenn Sie also einen helleren Hintergrund haben, würde diese Lösung wahrscheinlich funktionieren. Für einen sehr dunklen Hintergrund ist diese Lösung nicht zuverlässig. jsfiddle.net/vkzd71rc vs jsfiddle.net/vkzd71rc/1
Charles Williams


10

Das sieht cool aus.

-moz-box-shadow: 0 0 5px #999;
-webkit-box-shadow: 0 0 5px #999;
box-shadow: 0 0 5px #999;

10

Einfach so wie dieser Code:

box-shadow: 0px 0px 2px 2px black; /*any color you want*/

5

Die einfachste und einfachste Lösung besteht darin, Schatten für alle vier Seiten hinzuzufügen. CSS

box-shadow: 0 0 2px 2px #ccc; /* with blur shadow*/
box-shadow: 0 0 0 2px #ccc; /* without blur shadow*/

5

Verstehen Sie die Box-Shadow-Syntax und schreiben Sie sie entsprechend

box-shadow: h-offset v-offset blur spread color;

h-Versatz: Horizontaler Versatz des Schattens. Ein positiver Wert platziert den Schatten auf der rechten Seite der Box, ein negativer Wert platziert den Schatten auf der linken Seite der Box - Erforderlich

v-Versatz: Vertikaler Versatz des Schattens. Ein positiver Wert setzt den Schatten unter die Box, ein negativer Wert setzt den Schatten über die Box - Erforderlich

Unschärfe: Unschärferadius (Je höher die Zahl, desto unschärfer wird der Schatten) - Optional

Farbe: Farbe des Schattens - Optional

Ausbreitung: Ausbreitungsradius. Ein positiver Wert erhöht die Größe des Schattens, ein negativer Wert verringert die Größe des Schattens - Optional

Einschub: Ändert den Schatten von einem äußeren Schatten in einen inneren Schatten - Optional

box-shadow: 0 0 10px #999;

Box-Shadow funktioniert besser mit Spread

box-shadow: 0 0 10px 8px #999;

Verwenden Sie 'Einschub', um Schatten innerhalb der Box anzuwenden

box-shadow: 0 0 8px inset #999;
(or)
box-shadow: 0 0 8px 8px inset #999;

Verwenden Sie rgba (rot grün grün blau alpha), um den Schatten effizienter anzupassen

box-shadow: 0 0 8px inset rgba(153, 153, 153, 0.8); 
(or)
box-shadow: 0 0 8px 8px inset rgba(153, 153, 153, 0.8); 

2

Ich habe die Website http://css-tricks.com/forums/topic/how-to-add-shadows-on-all-4-sides-of-a-block-with-css/ gefunden .

.allSides
{
    width:350px;height:200px;
    border: solid 1px #555;
    background-color: #eed;
    box-shadow: 0 0 10px rgba(0,0,0,0.6);
    -moz-box-shadow: 0 0 10px rgba(0,0,0,0.6);
    -webkit-box-shadow: 0 0 10px rgba(0,0,0,0.6);
    -o-box-shadow: 0 0 10px rgba(0,0,0,0.6);
}

1
Es ist angemessen wie die anderen Antworten auf dieser Seite, aber während Sie sich bemühen, stimme ich über Ihre Antwort ab.
Blueray

1

CSS3 Box-Shadow: 4 Seiten Symmetrie

  1. jede Seite mit der gleichen Farbe

:root{
  --color: #f0f;
}

div {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 50px auto;
  width: 200px;
  height: 100px;
  background: #ccc;
}

.four-sides-with-same-color {
  box-shadow: 0px 0px 10px 5px var(--color);
}
<div class="four-sides-with-same-color"></div>

  1. jede Seite mit einer anderen Farbe

:root{
  --color1: #00ff4e;
  --color2: #ff004e;
  --color3: #b716e6;
  --color4: #FF5722;
}

div {
  display: flex;
  flex-flow: row nowrap;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 50px auto;
  width: 200px;
  height: 100px;
  background-color: rgba(255,255,0,0.7);
}

.four-sides-with-different-color {
  box-shadow: 
    10px 0px 5px 0px var(--color1),
    0px 10px 5px 0px var(--color2),
    -10px 0px 5px 0px var(--color3),
    0px -10px 5px 0px var(--color4);
}
<div class="four-sides-with-different-color"></div>

Screenshots

refs

https://css-tricks.com/almanac/properties/b/box-shadow/

https://www.cnblogs.com/xgqfrms/p/13264347.html


0

Verwenden Sie diesen CSS-Code für alle vier Seiten: Box-Shadow: 0px 1px 7px 0px rgb (106, 111, 109);


0

Sie können verschiedene Kombinationen unter dem folgenden Link.
https://www.cssmatic.com/box-shadow

Die Ergebnisse, die Sie benötigen, können mit dem folgenden CSS erzielt werden

-webkit-box-shadow: 0px 0px 11px 1px rgba(0,0,0,1);
-moz-box-shadow: 0px 0px 11px 1px rgba(0,0,0,1);
box-shadow: 0px 0px 11px 1px rgba(0,0,0,1);
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.