28 Apr, 2010

Crossbrowser CSS drop shadow

Categoriën: crossbrowser |CSS3 |hack |IE5 |IE6 |IE7 |IE8 |ms-filter |solution

Drop shadow – ofwel de illusie dat iets zweeft en diepte heeft – wordt al jarenlang met afbeeldingen gedaan, ofwel met nuffige semi-CSS oplossingen.
CSS3 is nog niet voor elke browser 100%, maar drop shadow is één van de zaken die we nu reeds kunnen doen en het werkt in:

  • Firefox 3.5+
  • Safari 3+
  • Google Chrome
  • Opera 10.50
  • Internet Explorer 5.5+

CSS

.shadow {
  -moz-box-shadow: 3px 3px 4px #000; /* Firefox/Mozilla */
  -webkit-box-shadow: 3px 3px 4px #000; /*Safari/Chrome */
  box-shadow: 3px 3px 4px #000; /* Opera & hoe het zou moeten */
  /* Voor IE 8 */
  -ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000')";
  /* Voor IE 5.5 - 7 */
  filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#000000');
}

Nartuurlijk zal je de ms-filter & filter via conditional comments laden?

Gerelateerde Snippets

14 Reacties op "Crossbrowser CSS drop shadow"

Jeffrey

June 15th, 2010 at 21:51

1

Hallo,

Handig! Werkt goed IE. Werkt echter niet bij mij in Chrome, Safari en Firefox (Opera nog niet getest). Ga even zoeken wat ik fout doe.

Theo HUbenet

July 30th, 2010 at 23:18

2

De microsoft schaduw filter is nooit echt een schaduw, dus ik gebruik de Glow filter in combinatie met de Blur en een beetje Opacity:

FILTER: progid:DXImageTransform.Microsoft.Glow(color=#898989,strength=7)
progid:DXImageTransform.Microsoft.Blur(pixelradius=6)
progid:DXImageTransform.Microsoft.Alpha(Opacity=80);

maarten

August 1st, 2010 at 07:59

3

Fantastisch! Lang op zoek geweest naar een shadow css en dit was wat ik precies zocht. Geen geklooi met plaatjes e.d. werkt ook in IE goed. Je post heeft me heel wat tijd gescheelt. Bedankt man!

Jeroen

August 20th, 2010 at 07:58

4

Ik dacht, laat ik nog is een poging doen om een schaduw via CSS weer te laten geven.
Dit stukje CSS werkt perfect in IE 6, 7, 8, Nieuwste Firefox, Safari (win), Chrome en Opera versie.

Ik merkte echter wel dat ik de div waar ik de schaduw op toepaste een background mee moest geven om de schaduw zichtbaar te maken.

Ontzettend bedankt voor de css, dit scheelt me ontzettend veel geklooi met stomme plaatjes.

Michel

September 2nd, 2010 at 19:44

5

Hij doet het bij mij in IE niet. Heb het als om de omsluitende div gezet (div staat om de inhoud van een gehele pagina), what is loss?

tijs

October 25th, 2010 at 13:20

6

doet het bij mij zoo mooi op chrome, maar zuigt van alle kanten op IE!

mathijs

November 3rd, 2010 at 16:27

7

Mooie oplossing.

Een vraagje. Is het mogelijk om in Iexplorer ook de schaduw recht achter het vlak te zetten zodat alle kanten een schaduwwerking hebben?

Oussama

November 13th, 2010 at 00:55

8

Je moet wel wat doen aan je Nederlands.. “Reaktie formulier”? En wat is nartuurlijk ?

Just saying..

Manuel

November 13th, 2010 at 11:32

9

Echt een superpost! was al tijden op zoek naar een oplossing onder vervelende divs!

mjwouda

November 18th, 2010 at 12:22

10

Perfect! Werkt direct zonder een aanpassing!
Even getest en werkt direct in IE6, IE7, Safari, FireFox, Opera en Chrome.

Marc

April 18th, 2011 at 10:03

12

Goede post, maar niet zoals ik wil, ik wil aan alle kanten een lichte schaduw.

Kijk anders eens hier, dan kun je met javascript een perfecte shadow krijgen voor IE all:
http://www.hintzmann.dk/testcenter/js/jquery/boxshadow/

JariZ

May 17th, 2011 at 10:40

13

Ik heb dit onlangs gebruikt, maar kwam erachter dat alle browsers ook gewoon werkte met alleen box-shadow, ik heb het getest met chrome, safari, firefox, en ie, en overal zie ik gewoon shadows,
Dus mensen: gebruik alleen box-shadow en laat de rest weg

Ben

May 19th, 2011 at 21:55

14

@JariZ: Box-shadow wordt alleen ondersteund door Opera..

Reactie formulier


Advertenties

Volgende nieuwe Snippet:

  • Momenteel niks gepland.