HTML vs. CSS Formatierung

Überkinger

Lieutenant
Registriert
Juli 2010
Beiträge
600
Hallo,

um größtmögliche Kompatibilität zu erreichen (WEB, MAIL, SMARTPHONES), muss ich meine Dokumente als Tabelle gestalten. DIV werden von vielen Programmen nur unzureichend unterstützt, während Tabellen von allen mehr oder weniger gut umgesetzt werden.

Bisher habe ich die Tabellen per CSS formatiert. Einige Webmailer (GMX, Google, Live) machen da aber dann wieder mit CSS Probleme und es scheint, ich muss Tabellenbreiten zusätzlich setzen.

Was hat dabei Priorität. Stets CSS vor HTML? Sprich, was wird genommen, wenn für eine Tabellenspalte eine Breite als HTML und CSS angegeben ist?
 
Wie hast du denn die Tabellenbreite im HTML-Quelltext angegeben?

Grundsätzlich gilt: Inline-CSS geht vor extern eingebundenen CSS.

Ausnahme: "!Important"-Angaben. Diese haben immer Vorrang. Bei zweierlei solcher Angaben dominiert wieder die Inline-CSS.
 
Inline-Style (sprich im HTML selbst) sollte höher priorisiert sein als "normales" CSS.
Allerdings kann im CSS beim jeweiligen Attribut !important angegeben werden um praktisch die Priorität zu erhöhen.

Demnach sollte die Prioritätsreihenfolge so aussehen (wenn ich mich nicht irre)

Inline !important > CSS !important > Inline > CSS
 
Beispiel.

.test {
width: 200px;
.
.
.

}

<table width="200px" class="test" ... >

...
..

..
</table>

Inline-CSS class="test" hat Vorrang?
 
HTML:
<table>
<tr>
<td class="tdata" style="width: 200px"> text </td>
<td class="tdata"> text </td>
</tr>
</table>

CSS:

.tdata{
width: 100px;
}


Das erste TD wäre nun 200px breit, während das zweite und alle weiteren mit der class tdata 100px breit sind.
Mit dem style-Attribut kannst du jedem HTML-Element CSS-Eigenschaften zuweisen(unterstützte Angaben vorrausgesetzt)
 
Sporano schrieb:
HTML:
<table>
<tr>
<td class="tdata" style="width: 200px"> text </td>
<td class="tdata"> text </td>
</tr>
</table>

CSS:

.tdata{
width: 100px;
}


Das erste TD wäre nun 200px breit, während das zweite und alle weiteren mit der class tdata 100px breit sind.
Mit dem style-Attribut kannst du jedem HTML-Element CSS-Eigenschaften zuweisen(unterstützte Angaben vorrausgesetzt)

Das ist schon klar, was Du sagst. Ich beziehe mich aber konkret auf breitenangaben unter HTML und CSS. CSS wird eben nicht von allen Webmail-Anbietern korrekt umgesetzt.
 
Überkinger schrieb:
<table width="200px" class="test" ... >
[...]

Hierbei hätte die (alte) Breitenangabe für die Tabelle, width="200px", den Vorrang. Die Klassenvergabe class="test" ist kein Inline-CSS. Entsprechend ist auch die Behandlung der Eigenschaften durch den Browser.
 
Zurück
Oben