Logo: TR

thorsten-reinicke.eu

Labor

Letzte Aktualisierung: Do, 23. Apr 2009
 
Grafik: Warnschild W09
 
Warnung vor optischer Strahlung ;-)


Dies ist eine »Spielwiese« und ein »Test-Labor« für Webseiten. Entsprechend unaufgeräumt geht es hier zu.
Wenn Sie einen Link bedienen und danach auf diese Seite zurück möchten, benutzen Sie bitte den Zurück-Button Ihres Browsers.
So sieht diese Seite in Safari aus (mit CSS3: »border-radius«).



Einleitung

– Was ist mit den www-Standards möglich?
– Was funktioniert in den Browsern?
– Was ist praktikabel umsetzbar?

Es bleibt nur die Empfehlung, den Internet Explorer nicht zu verwenden, und stattdessen Browser wie Firefox, Safari oder Opera zu nehmen. Tests für Chrome (Google) u.a. stehen auf diesen Seiten noch aus. Und wenn ich einen Browser hier nicht nenne, bedeutet dies nicht, daß er nicht gut sein könnte. So sind mir über browsershots.org einige Browser unter Linux aufgefallen, die wirklich schön rendern.

Werfen Sie doch einmal einen Blick auf diese Browser:
Logo: Safari Safari – Mac, Win Logo: Firefox Firefox – Win, Mac, Linux Logo: Opera Opera – Win, Mac, Linux u.a.

Und nun zu den verschiedenen Tests.


Testvorlage: { opacity: ... }, { text-shadow: ... }, { box-shadow: ... }, { border-radius: ... }

Dies ist eine Testvorlage, an der abgelesen werden kann, ob ein Browser die CSS-Angaben opacity:, text-shadow:, box-shadow: und border-radius: interpretiert, bzw. welche anderen Angaben er ggfls. dafür braucht. Im Screenshot unten ein Beispiel, wie es in einem Browser angezeigt werden kann. Zur Veranschaulichung habe ich die ausgeführten Angaben auf dem Sreenshot rot markiert. Daneben ein Vergleich zwischen Safari und Firefox.

Test: Opacity, Shadows, Radius

Der Internet Explorer kann in allen Versionen lediglich Transparenzen (Opacity) umsetzen, und das auch nur in einem nicht standardkonformen Code, der zudem in den IE-Versionen unterschiedlich ist – siehe den folgenden Abschnitt. Es ist unverständlich, warum Microsoft in seinem neuesten IE8 eine neue Schreibweise einführt, statt sich an den CSS-Standard zu halten.


Test: { opacity: ... } und die Umsetzung in einigen Browsern

Dieser Entwurf (Test Nr. 6 – siehe unten) ist sehr transparent gedacht. Die Schrift wird erst dann deutlich lesbar, wenn man mit dem Mauszeiger drüber fährt und die Fläche undurchsichtig wird:

Der Hintergrund paßt sich flexibel der Fenstergröße an. Die transparenten Boxen passen sich der Breite des Fensters an.

Unten sind Screenshots von browsershots.org. Welcher Browser es jeweils ist, wird angezeigt, wenn Sie mit dem Mauszeiger über die Vorschaubilder fahren, und nicht sofort klicken. Die teils pixelige Schrift unter Windows dürfte dadurch zu erklären sein, daß dort »Clear Type« deaktiviert war.

CSS-Standard:
{ opacity: .50 ; }

Die CSS-Angabe für Transparenz wird vom IE nicht interpretiert. Erkennbar ist auch, daß der IE 8 rechts einen Scrollbalken erzeugt, die anderen Browser jedoch nicht. Das sind so die »Kleinigkeiten«, die aufhalten. Es dürfte 1 bis 2 Stunden kosten, herauszubekommen, wo der IE 8 hier nun seine »Macke« hat.

CSS + MS-CSS:
{ opacity: .50 ; filter: Alpha(opacity = 50) ; }

Beide Angaben werden vom IE 8 nicht unterstützt, obwohl filter: Alpha hauseigener Code von MS ist. Es stellte sich heraus, daß der IE 8 eine andere Schreibweise benötigt, nämlich mit Anführungszeichen. Dies sei ein Zugeständnis an die »Standardkonformität«. Der Standard ist allerdings opacity:.

CSS + MS-CSS + MS-CSS für IE8:
{ opacity: .50 ; filter: Alpha(opacity = 50) ; filter: "alpha(opacity = 50)" ; }

Screenshots folgen.

Diese Angaben werden nur vom IE 8 umgesetzt, nicht aber vom IE 7 und 6. Der Grund: Die Angaben stehen nicht in der für den IE richtigen Reihenfolge. Hier die Lösung, die schließlich funktioniert:

CSS + MS-CSS + MS-CSS für IE8 in anderer Reihenfolge:
{ opacity: .50 ; filter: "alpha(opacity = 50)" ; filter: Alpha(opacity = 50) ; }

Screenshots folgen.

Die Angaben für den IE 8 müssen vor den Angaben für den IE 7 stehen, damit beide Browser die Transparenz umsetzen. Der Code-Aufwand hat sich vervielfacht, allein des IEs wegen.

All das in der Summe herauszubekommen, hat einige Stunden gedauert ... . Dies ist nur ein Beispiel für viele Probleme, die immer wieder mit den Varianten des IE auftauchen.


Test-Seiten für { opacity: ... }, { text-shadow: ... }, { box-shadow: ... }, { border-radius: ... }

Ich nehme meine Startseite und probiere damit Positionierungen, Transparenzen, Schatten und Hover-Effekte per CSS / CSS 3. Hier zunächst das HTML der Seite:
Homepage - HTML ohne CSS

Die Struktur ist einfach: Oben ein Kopfbereich, unten ein Fußbereich. Dazwischen Überschriften als Verweise zu Seiten.

Test 1

Die Überschriften sind hier frei dimensioniert und positioniert (position: absolute). Sie sind mit Hintergrundbildern versehen. Die entstehenden Flächen sind transparent (opacity) und überlappen einander. Fährt man mit der Maus drüber, rückt das entsprechende Element in den Vordergrund (z-index) und wird undurchsichtig. Bei den oberen beiden erscheinen zugleich zusätzliche PopUp-Fenster (display: none / display: block). Ändert man die Fenstergröße, paßt sich der Inhalt flexibel an.

Homepage - Test 1
Screenshot (75%): Homepage - Test 1

Hier dasselbe noch einmal, aber mit gerundeten Boxen. border-radius gehört zum künftigen Standard CSS 3. Es funktioniert aktuell nur in Safari (-webkit-border-radius:) und Firefox 3.1 (-moz-border-radius:).

Homepage - Test 1a

– Weitere Screenshots: Screenshots Test 1a

Sehr schön sind auch diese rautenartigen Boxen:

Homepage - Test 1b
Screenshot (75%): Homepage - Test 1 Screenshot (75%): Homepage - Test 1 Screenshot (75%): Homepage - Test 1

Test 2

Hier lediglich eine andere Anordnung der Boxen.

Homepage - Test 2

Test 3

Hier ist eine HTML-Seite per <iframe> eingebunden. Letzterer und damit auch die HTML-Seite werden nur angezeigt, wenn mit dem Mauszeiger über »Browser« gehovert wird. Mit width:- und padding:-Angaben lassen sich die empfindlichen Bereiche definieren, welche die Sache aktivieren.

Homepage - Test 3

Die iframe-PopUp-Boxen sehen interessant aus. Im folgenden Beispiel habe ich sie daher vermehrt angewendet.

Die Variante 3a hat weiter Schatten für Text und Boxen erhalten. Per :hover und <iframe> werden andere HTML-Seiten eingebunden und als Vorschau angezeigt. Per Hover lassen sich auch mehrere Elemente zugleich aktivieren, wenn sie verschieden per { position: absolute ; } positioniert wurden.

Der Nachteil: Die iFrames sind natürlich im HTML-Code enthalten, und dort eher störend, wenn die Seite ohne CSS betrachtet wird. Zur Veranschaulichung hier die Seite in HTML ohne CSS: ► Homepage Test 3a - HTML ohne CSS

Diese Variante funktioniert - so wie auf den Screenshots zu sehen - derzeit nur in Safari, Firefox 3.1 und iCab 4.5.

Homepage - Test 3a

Test 4

Text folgt.

Homepage - Test 4

Test 5

Text folgt.

Homepage - Test 5

Test 6

Text folgt.

Homepage - Test 6

Homepage - Test 6a


Vorläufige Zusammenfassung – Stand: März 2009

Browserfähigkeiten – Transparenz, Schatten und Kurven
unter Vorbehalt der Nachbesserung – im Zweifel bitte selbst prüfen
CSS ►
(HTML)
opacity: text-shadow: box-shadow: border-radius: background:
anpassen1)
background:
einfärben2)
position:
absolute
3)
<iframe>
PopUp4)
Chrome 1 Ja Nein mangelhaft mangelhaft entfällt 1) ? Ja ?
Chrome 2 Ja Ja mangelhaft mangelhaft entfällt 1) ? Ja ?
Firefox 2 Ja Nein Nein -moz- Nein Ja Ja Ja
Firefox 3 Ja Nein Nein -moz- Ja Ja Ja Ja
Firefox_3.1 Ja Ja -moz- -moz- Ja Ja Ja Ja
Opera 9.6 Ja Ja Nein Nein entfällt 1) Ja Ja Ja
Safari 3 Ja Ja -webkit- -webkit- Ja Ja Ja Ja
Safari 4 Test steht aus.
IE 6 filter:Alpha() Nein Nein Nein entfällt 1) Nein Nein Nein
IE 7 filter:Alpha() Nein Nein Nein entfällt 1) Ja mit Fehlern Nein
IE 8 filter:"Alpha()" Nein Nein Nein entfällt 1) ? Ja ?

1) Mit »background anpassen« meine ich, ob der Hintergrund entsprechend des border-radius angepaßt wird. Wird kein border-radius ausgeführt, dann entfällt hier die Angabe.

2) Mit »background einfärben« ist eine transparente Farbe gemeint, die über den background gelegt wurde. Sie wird nur bei :hover aktiviert.

3) Hier geht es darum, ob bei { position: absolute ; } die weiteren Angaben wie top:, left:, width:, height: u.a. korrekt ausgeführt werden. Ich beziehe mich dabei allein auf die oben gezeigten Entwürfe.

4) Hier wird es etwas komplexer. Ein Element wird per { position: absolute ; } positioniert. In diesem Element befindet sich ein <iframe>. Um ihn aus dem Eltern-Element heraus zu bekommen, wird er per { position: fixed ; } positioniert. Er wird weiter per { display: none ; } zunächst unsichtbar gemacht. Erst bei :hover über das Elternelement wird er per {display: block ; } sichtbar gemacht. Der IE7 zeigt den <iframe> bei :hover allerdings innerhalb des Elternelements an.


Test: { text-shadow: ... } und die Umsetzung in einigen Browsern

Dies ist ein Test mit der CSS-Eigenschaft { text-shadow: ... }. Zur Anwendung kommen weiter { opacity: ... ; }, { position: relative ; } und { position: absolute ; }, sowie Hintergrundbilder.

Textshadow und Opacity gehören zwar nicht zum aktuellen CSS 2.1, aber sie sind Teil vom kommenden CSS 3, und werden heute schon von vielen Browsern umgesetzt. Hier zunächst der reine HTML-Code:
labor_text_shadow_html.html

Auf dem Mac werden die CSS-Angaben wirklich sehr schön gerendert, deswegen hier jeweils ein Screenshot von Safari 3, Firefox 3.1 (Version 3 kann noch kein text-shadow), Opera 9.6 und iCab 4.5 auf dem Mac.

Test-Seite Text-Shadow (mit CSS)

Da der IE skalierte Grafiken nicht so gut rendert, hier noch einmal die Grafiken als Vollbild:
Safari 3Firefox 3.1Opera 9.6iCab 4.5

CSS ist mittlerweile sehr leistungsfähig geworden. Voraussetzung ist allerdings ein aktueller Browser. Je nach Einstellung im CSS sind mit Text-Shadow viele Effekte möglich. Bislang wurden dafür aufwändig Grafiken in der Bildbearbeitung erstellt, die gesondert geladen werden mußten. Die können nun durch einige Zeilen Code ersetzt werden.

Die Vorteile: Der Text läßt sich einschließlich der Effekte skalieren, sodaß auch Menschen mit Sehbehinderung in den Genuß schöner Seiten kommen können. Text kann – im Gegensatz zu Grafiken – von Suchmaschinen gelesen werden. Markieren und Kopieren des Textes ist ebenfalls möglich.

Es folgt an dieser Stelle noch ein Test über browsershot.org - in einigen Tagen.


  1. ▲ ▼ Navigation
  2. ▲ Top
  3. Einleitung
  4. Test-Vorlage:
    opacity, text-shadow, box-shadow, border-radius
  5. Test: opacity
  6. Test-Seiten:
    opacity, text-shadow, box-shadow, border-radius

    ► siehe auch Untermenü
    1. Test-Seite: Test 1
    2. Test-Seite: Test 2
    3. Test-Seite: Test 3
    4. Test-Seite: Test 4
    5. Test-Seite: Test 5
    6. Test-Seite: Test 6
  7. Vorläufige Zusammenfassung
    Stand: März 2009
  8. Test: text-shadow
  9. ▼ Bottom