Wenn man um ein HTML-Element einen Schatten haben möchte, so kann man dies entweder mit einem oder mehrere Bidlern lösen oder mit der box-shadow CSS-Eigenschaft (ich glaube nue in CSS 2.0). Was ist die empfohlene Art und Weise?
Sowas ist bei Webdesign immer ein bisschen eine Frage der genauen Zielsetzung.
Wenn du unbedingt willst, dass der Schatten in jedem noch so alten Browser gut aussieht, empfiehlt sich vielleicht noch das mit Bildern zu machen. Das ist aber erstens unschön, weil es dich zwingt deine Dokumentstruktur für ein beiläufiges Design-Element wie Schatten anzupassen (Du brauchst dann eine extra Tabelle um jedes Feld das Schatten werfen soll).
Viel eleganter und heutzutage denk ich in den allermeisten Fällen die richtige Wahl ist da schon der Weg über CSS. Selbst wenn ein Browser die Eigenschaft nicht unterstützt, hast du im schlimmsten Fall einfach nur keinen Schatten. Dafür bist du aber Auflösungsunabhängiger, kannst Struktur und Design auseinanderhalten und die Wartung deines HTML/CSS Codes ist wesentlich einfacher.
Es ist also deine Aufgabe abzuwägen, wie wichtig der zuverlässige support in allen/vielen browsern für das web-projekt ist bzw. inwiefern bestimmte inkompatibilitäten hinnehmbar sind.
im zweifel würde ich eher drauf verzichten, als grafik-stückwerk zu verwenden.
codekicker.de verwendet CSS 2 box-shadow und border-radius. Deshalb sieht es leider im Internet Explorer nicht ganz so hübsch aus, aber beschleunigt sie Seite, weil weniger Bilder vorhanden sind. Außerdem kann Entwicklungsaufwand in sinnvolleres investiert werden.
also für einfache Schatten bevorzuge ich durchaus mittlerweile CSS. Jedoch sehen sie nicht ganz so schick aus wie Grafiken (da die End-Kante immer relativ hart bleibt) und wenn man wirklich viele Elemente hat (die im schlimmsten Fall noch animiert werden) kann es durchaus etwas lahm werden.
Wie schon gesagt: Wenn es nicht so schlimm ist, dass IE (<9) Nutzer den Schatten nicht sehen, auf jeden Fall benutzen! :)