Ralph Einfeldt: Wie soll man eigentlich sinnvoll mit CSS arbeiten

Bei allen möglichen Quellen wird empfohlen, man solle doch CSS verwenden.
In der Theorie hört sich das ja auch alles logisch an, wenn es denn die Browser
nicht gäbe, die jeweils eine eigene Meinung dazu haben, was denn dargestellt
werden soll.

Ein keines Beispiel:

Ich habe 8 Varianten ausprobiert, den Text in einer Tabelle zu formartieren. In
allen Varianten hätte (nach meiner Meinung) die gleiche Schrift verwendet werden
müssen. Der IE 5 schafft es immerhin in 7 Fällen die richtige Schrift zu verwenden.
Netscape 4.7 gerade mal in 4 Varianten.

Es geht nicht unbedingt darum, dass man das Ziel nicht erreichen kann,
sondern darum, dass es irgendwie ziemlich nervenaufreibend ist, bei jedem
Effekt teilweise stundenlang zu probieren, warum er in einem von beiden
Browsern nicht funktioniert. Besonders bei Test 8 hat es eine ganze Weile
gedauert, bis ich die Zusammenhänge erkannnt habe, da das Original um
einiges komplizierter war.

P.S.: Gibt es irgendwo eine Resource, die die Browserunterschiede auf einem
tieferen Level beschreibt, als Selfhtml oder Web Design in a Nutshell es tun ?
Beide kranken daran, nur zu beschreiben, welche Features jeweils
unterstützt werden, aber nicht unbedingt unter welchen Rahmendingungen.

Hier der Beispielcode:

<html><head><title>Tabellentest</title>
<style>
<!--
.testtd td {font-family:Verdana, Arial;}
.testtable table {font-family:Verdana, Arial;}
-->
</style></head><body>

<table><tr><td>Normal</td></tr></table>

<table class="testtd"><tr><td>Test 1: Styledefinition td stylesheet</td></tr></table>

<table class="testtable"><tr><td>Test 2: Styledefinition table stylesheet</td></tr></table>

<table style="font-family:Verdana, Arial;">
  <tr><td>Test 3: Styledefinition table direkt</td></tr>
</table>

<table>
  <tr><td style="font-family:Verdana, Arial;">Test 4: Styledefinition td direkt</td></tr>
</table>

<div class="testtable">
  <table><tr><td>Test 5: Styledefinition div table stylesheet</td></tr></table>
</div>

<div class="testtd">
  <table><tr><td>Test 6: Styledefinition div td stylesheet</td></tr></table>
</div>

<table>
  <tr><td>
    <table class="testtd">
      <tr><td>Test 7: Styledefinition td stylesheet eingebettet</td></tr>
    </table>
  </td></tr>
</table>

<table width=100%>
  <tr><td>
    <table width=100% class="testtd">
      <tr><td>Test 8: Styledefinition td stylesheet eingebettet 2 mal 100% </td></tr>
    </table>
  </td></tr>
</table>

</body>

  1. Hallo,

    ich hatte mich auch einmal dazu verleiten lassen, den ganzen CSS-Empfehlungen nach zu geben. Und war (als Anfänger) auch erst ziemlich beeindruckt. Aber dann habe ich die Seiten "quergetestet".... und dann will ich auch nicht (leicht) ältere Browser sofort ausschliessen. Und dann habe ich "hier" den Verdacht mal geäußert, daß das ja alles ganz nett ist, aber eigentlich nur für einen begrenzten Besucherkreis anwendbar ist.

    Darauf bekam ich einige Antworten, die da hießen, "Nein nein, so kann man das auch nicht sehen, das mit den älteren Browser stimme schon, und das eine oder andere wird bei den neuen Browser auch unterschiedlich gehandhabt, aber trotzdem, das sei doch die Zukunft und logisch...."

    Tja, und somit habe ich die Finger von gelassen (schweren Herzens) und (be)schreibe weiter im guten alten HTML-Standart ohne CSS....... (und erwarte weiter die "Nein nein"- Antworten - ich würd mich ja gerne überzeugen lassen, bis auf die 2er Browser-Versionen will ich ja gar nicht runtergehen, ;-) )

    Chräcker

    1. Selbst HTML ist ja keine exakte Formatierungssprache und dafür war sie ja niemals gedacht.
      Sie beschreibt typische Dokumentinhalte, vom HTML-Prinzip ist dabei jedoch nicht eindeutig festgelegt wie diese Elemente dann tasächlich aussehen. Unterschiede muss man halt in kauf nehmen.
      Vielleicht sollte man ja auch nicht genau schauen ob bei allen Browsern alles pixelgenau so ist wie man will und alles gleich (geht ja sowieso nicht).
      Ich würde das ganze Design bei Verwendung von CSS nicht davon abhängig machen, das Design sollte auch ohne CSS laufen. CSS kann man meiner Meinung nach jetzt schon da sinnvoll einsetzen wo man noch ein paar feinheiten aus dem Design herausholt.
      Natürlich erschweren die Browserhersteller das wiederum unnötig, denn CSS ist eine exakte Formatierungssprache, und die zum Teil unterschiedlichen Interpretationen sind absolut fehl am Platz. Das stellt die ganzen Vorteile von CSS wieder in Frage.
      An einem Beispiel, wenn ich nun einem Textblock eine Hintergrundfarbe per CSS zuweise, wenn nun ältere Browser dies nicht interpretieren und es passt trotzdem zum Design, warum nicht in Kauf nehmen das es bei "neueren" anders (etwas besser) aussieht.
      Benutzer welchseln ihre Browser ja auch nicht täglich in werden daher von einem ständig wechselnden erscheinungsbild nicht irritiert.

      gruss

      Thorsten

    2. Hallo Chräcker und die Anderen!

      Was hab ihr denn alle gegen CSS????

      und dann will ich auch nicht (leicht) ältere Browser sofort ausschliessen.

      »»

      Es kommt darauf an was du machen willst.
      Der NS3 kann kein CSS, klar. Der IE3 kann schon einiges. Ab den 4-er geht schon so maches.
      Keiner "jammert" sich die Seele aus dem Leib, wenn etwas mit JavaScript irgendwie nicht geht. (Ja, es wird so wie im Sachen HTML immer wieder an den Brwoser "gehackt", aber das wars dann, es wird meistens akzeptiert das etwas nicht geht. Kaum so beim CSS)

      »»Und dann habe ich "hier" den Verdacht mal geäußert, daß das ja alles ganz nett ist, aber eigentlich nur für einen begrenzten Besucherkreis anwendbar ist.
      »»

      Das kannst du aber genau so über JavaScript, HTML4.0, Grafiken usw. sagen, es kommt immer darauf an was der Besucher der Seite benüzt.

      Darauf bekam ich einige Antworten, die da hießen, "Nein nein, so kann man das auch nicht sehen, das mit den älteren Browser stimme schon, und das eine oder andere wird bei den neuen Browser auch unterschiedlich gehandhabt, aber trotzdem, das sei doch die Zukunft und logisch...."

      »»

      Stimmt doch!
      Warum heulen nicht die Leute, daß der IE3 nicht mal HTML4.0 kann??
      Und CSS IST logisch, viel viel logischer als JavaScript jemals sein wird!

      »»(und erwarte weiter die "Nein nein"- Antworten - ich würd mich ja gerne überzeugen lassen >

      Nun dann für IE und win: http://www.unet.univie.ac.at/~a9105535/forum/CSS-tabellen-exp.html

      Ah ja, bevor du sagst, jaaa ABER: NUR IE und win. Ich weiss es! Es ging mir nur darum, zu testen was so alles möglich wäre. Unter IE5 wäre nochmehr möglich, aber ich habe jetzt für "Spiele" keine Zeit.
      CSS wäre ein so mächtiges Werkzueg für Design, wenn die Browser es unterstützen würden. Kann mann nicht damit leben, was gerade geht und auf die Nächste Browsergenereation warten? Klar wäre nett wenn die Browser es schon jetzt könnten, was seit über 2 Jahren Standard ist, aber schaue dir mal an wonach immer gefragt wird:
      immer die Sachen, die die letze Schrei sind. Kapieren denn manche nicht, daß ihre sogenannte "Webdesing" niemals besser sein kann als der Inhalt? Nein, das kapieren die wenigsten, statdessen wird über CSS gemeckert!

      Also Leute: nicht darüber jammern warum CSS uns so ....schreib schön den Browserherstellern, daß sie ihre fetten Ärs... ehm... Hintern in Bewegung setzen sollen!

      Grüße
      Thomas

      PS: oops... etwas streng ... aber das musste mal auch sein!

      1. Hallo Thomas

        Was hab ihr denn alle gegen CSS????

        Ach lass man, Thomas, CSS ist eh nicht mehr zu retten, es ist ja voellig in Misskredit geraten, besonders unter den Nicht-Windows-Usern - und zwar allein durch eine einzige Datei, die CSS total verhunzt und leider sehr verbreitet ist: naemlich durch die wselfhtm.css!
        Was, das glaubst du nicht? Na, du weisst doch, wo man so was lesen kann ... www.infosystems.usw... ;-)

        viele Gruesse
          Stefan Muenz

      2. Hallo,

        <;-)> na siehste, geht doch, man muß doch nur ein bissel wollen, schon bin ich ein bissel mehr von CSS überzeugt </;-)>

        ...zumal ich die Vorteile ja immer eingesehen habe und das ganze recht elegant finde. (Vor allem durch die Ausgliederungsmöglichkeit) und vor allem Dein Argument, daß ich bei JScript ja auch dann "notfalls" auf diesen oder jenen Browser-Besucher verzichte....

        Ich werde mal CSS-Light probieren und bei meinen tausend verschachtelten Tabellen aufräumen. (Denn ich gebs ja zu, den Font-Tag kann ich nicht mehr sehen.....) Wenn die Welt dann noch steht kann ich ja mutig werden ;-)

        Chräcker

      3. Moin Thomas

        PS: oops... etwas streng ... aber das musste mal auch sein!

        nicht doch! Alles wahr und richtig!

        Dein Email-lesender und texteschreibender Swen

    3. Hi!

      Ja, du hast recht; mit CSS alle Browser zu befriedigen ist ziemlich schwierig.
      Ich habe ebenfalls versucht, möglichst viel mit CSS zu formatieren, und habe bald vor dem Ideenreichtum der Inkompatibilät der Browser kapituliert. Gerade bei "width" und Kollegen scheint dem Irrsinn keine Grenzen gesetzt zu sein (unter NS verursachte width:nn tolle Javascript-Fehler!).

      Für Schriftformatierungen allerdings ist CSS durchaus verwendbar. Natürlich sitzt du auch hier zwischen den Stühlen, aber mit HTML kriecht man manche Male auch ziemlich lange am Boden herum.
      Und mit reinem HTML Tabellenzellen zu formatieren, die dann auch noch überall gleich aussehen sollen, bleibt dir oft auch nichts anderes übrig, als jede Zelle einzeln zu formatieren. Und da erspare ich mir mit CSS einiges an Schreibarbeit und keine aufwendige Suchen-Ersetzen-Funktion, wenn ich die Schrift mal probehalber ändern möchte.

      Standards sind was wunderbares - wenn nicht jeder Browser seine eigenen hätte!

      In diesem Sinne,

      Joseph