CSS-Klassen und Cellspacing bzw. -padding
Christian
- css
0 Orlando0 Thomas J.S.
Hallo!
Da die SELFHTML-Suche derzeit ausgelastet ist, komme ich nicht umhin, meine Fragen hier zu stellen, auch wenn es Vergleichbares im Archiv bereits gibt.
1. Ist es möglich (und erlaubt), einem Element zwei Klassen zuzuweisen? Bsp.: <p class="rahmen, zentriert">...</p>
2. Wie kann man cellpadding und cellspacing durch CSS ersetzten?
Ich weiß, border-spacing und padding; aber trotzdem funktioniert es bei mir nicht richtig. Ich habe mal in einem Thread gelesen, dass man noch eine zusätzliche Angabe machen muss, um diesen Effekt zu bewirken. Wisst ihr bescheid?
3. Obwohl ich relative Schriftgrößen benutze, funktioniert im IE (6) die Einstellung Ansicht->Schriftgrad->... nicht. Ist das ein Bug im IE oder woran liegt es?
Danke für eure Antworten,
Christian
Hi Christian,
- Ist es möglich (und erlaubt), einem Element zwei Klassen zuzuweisen? Bsp.: <p class="rahmen, zentriert">...</p>
Ja, das ist erlaubt und funktioniert in ausreichend CSS-fähigen Browsern.
- Wie kann man cellpadding und cellspacing durch CSS ersetzten?
http://selfhtml.teamone.de/css/eigenschaften/tabellen.htm
- Obwohl ich relative Schriftgrößen benutze, funktioniert im IE (6) die Einstellung Ansicht->Schriftgrad->... nicht. Ist das ein Bug im IE oder woran liegt es?
"px" ist eine relative Einheit, daran liegt's also nicht. Wie sieht das Stylesheet aus?
"Meine Glaskugel ist in der Reinigung" ;-)
Grüße,
Roland
- Ist es möglich (und erlaubt), einem Element zwei Klassen zuzuweisen? Bsp.: <p class="rahmen, zentriert">...</p>
Ja, das ist erlaubt und funktioniert in ausreichend CSS-fähigen Browsern.
AFAIK nur mit Space dazwischen
"px" ist eine relative Einheit
Würglich?
Hallo,
"px" ist eine relative Einheit
Würglich?
Ja.
Und zwar releativ zur Auflösung des Ausgabegerätes. Ganz einfach gesagt:
Be einer Bildschirmauflösung von 1600x1200 passen eben 1600x1200 Pixel auf dem Bildschirm, beim 800x600 eben nur 800x600, da sich die phyikalische Größe des Bildschirms nicht ändert werden die Pixel bei kleineren Auflösungen größer.
Netürlich bei ein und der selben Auflösung wirkt Pixel wie einzementiert, denn da nützt nichts, wenn man die Schriftgröße im Browser ändert.
Grüße
Thomas
Hi Thomas
"px" ist eine relative Einheit
Würglich?
Ja.
Und zwar releativ zur Auflösung des Ausgabegerätes. Ganz einfach gesagt:
Be einer Bildschirmauflösung von 1600x1200 passen eben 1600x1200 Pixel auf dem Bildschirm, beim 800x600 eben nur 800x600, da sich die phyikalische Größe des Bildschirms nicht ändert werden die Pixel bei kleineren Auflösungen größer.
Aber innerhalb einer "Auflösungsstufe", sagen wir also 1600x1200, ist ein Pixel absolut ... wenn ich das so sagen kann:
<PHILOSOPHISCH>
Nehmen wir zwei Browserfenster bei gleicher Auflösung ...
Einmal ist die Breite eines <DIV>'s mit "50%" angegeben, einmal mit "800px".
Ändere ich nun die Breite des Browserfensters durch verschieben, so ändert sich auch die Breite des <DIV>'s mit %-Angabe _relativ_ zur Breite des Browsers, das <DIV> mit px-Angabe bleibt aber _absolut_ gleich breit!? ... also ist IMHO % realtiv und px absolut.
Aber natürlich stimmt Deine Aussage auch, nur halt verglichen mit verschiedenen Auflösungsklassen ... :-)
</PHILOSOPHISCH>
Dennoch, wie vorhin schon erwähnt: Ich wünsche Euch einen relativ absolut schönen Abend! ;-)
Greetingz,
Manfred
Hallo,
Aber innerhalb einer "Auflösungsstufe", sagen wir also 1600x1200, ist ein Pixel absolut ... wenn ich das so sagen kann:
Ich habe nichts anderes gesagt.
Alles ist eigentlich relativ *g* gut unter http://www.w3.org/TR/CSS2/syndata.html#length-units beschrieben. (bzw. http://www.edition-w3c.de/TR/1998/REC-CSS2-19980512/kap04.html#heading-4.3.2)
Dennoch, wie vorhin schon erwähnt: Ich wünsche Euch einen relativ absolut schönen Abend! ;-)
Ebenfalls und
Grüße
Thomas
Hi,
Ich habe nichts anderes gesagt.
Okay, dann passt eh alles ... wollte nur auch mal meine Meinung "validieren" lassen, quasi "This opinion is valid!" ;-)
Greetingz,
Manfred
"px" ist eine relative Einheit
Würglich?
Ja.
Einigen wir uns doch einfach auf relativ absolut.
Hallo,
"px" ist eine relative Einheit
Würglich?
Ja.
Und zwar releativ zur Auflösung des Ausgabegerätes.
Nicht nur. Dein Link sagt auch aus, dass sich px auf den »reference pixel« bezieht, welcher Faktoren wie die faktische Pixeldichte der Anzeige und den Abstand zum Auge berücksichtigt. Gemäß diesem sollten Browser px-Werte gegebenfalls umskalieren. Nur macht das kein Browser. 10px heißt also theoretisch nicht unbedingt 10 Pixel. Das ist eigentlich mit Relativität in diesem Fall gemeint. Siehe auch http://www.netandmore.de/faq/fom-serve/cache/452.html.
Mathias
"px" ist eine relative Einheit
Würglich?
"px" ist wohl eine der absolut absolutesten Einheiten die ich kenne ... "%" hingegen ist relativ! ;-)
Ich wünsche Euch allen einen relativ absolut schönen Abend! *g*
Greetingz,
Manfred
Hallo,
"px" ist wohl eine der absolut absolutesten Einheiten die ich kenne ... "%" hingegen ist relativ! ;-)
Das bedeutet, du kennst keine abolute Schriftgrößeneinheiten?!?
Grüße
Thomas
Hi Thomas,
Das bedeutet, du kennst keine abolute Schriftgrößeneinheiten?!?
Doch:
pt, pc, in, cm und mm! ;-)
Test bestanden? *g*
Greetingz,
Manfred
Hallo,
- Ist es möglich (und erlaubt), einem Element zwei Klassen zuzuweisen? Bsp.: <p class="rahmen, zentriert">...</p>
Ja, so <p class="rahmen zentriert">...</p>
- Wie kann man cellpadding und cellspacing durch CSS ersetzten?
Ich weiß, border-spacing und padding; aber trotzdem funktioniert es bei mir nicht richtig. Ich habe mal in einem Thread gelesen, dass man noch eine zusätzliche Angabe machen muss, um diesen Effekt zu bewirken. Wisst ihr bescheid?
Padding müsste funktionieren
td {padding:__px;}
border-spacing gibt es nur in der Verbindung mit:
table { border-collapse:separate; }
- Obwohl ich relative Schriftgrößen benutze, funktioniert im IE (6) die Einstellung Ansicht->Schriftgrad->... nicht. Ist das ein Bug im IE oder woran liegt es?
Schrifteinheit?
Grüße
Thomas
Hallo,
border-spacing gibt es nur in der Verbindung mit:
table { border-collapse:separate; }
Das ist richtig. Und bei border-collapse:collapse wäre border-spacing sinnlos.
Border-collapse:separate ist IMHO die Voreinstellung und muss nicht explizit angegeben werden. Siehe dazu die Beispiele in SELFHTML.
Grüsse aus Neubrandenburg
erika
Hallo,
Border-collapse:separate ist IMHO die Voreinstellung und muss nicht explizit angegeben werden.
Nein, border-collapse:collapse ist die Voreinstellung:
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-collapse
Gruesse,
Thomas
Hallo,
Border-collapse:separate ist IMHO die Voreinstellung und muss nicht explizit angegeben werden.
Nein, border-collapse:collapse ist die Voreinstellung:
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-collapse
Ich hab nachgelesen:
border-collapse'
Value: collapse | separate | inherit
Initial: collapse
Initial = Ausgangswert = Voreinstellung = Standardwert?
SELHTML enthält dazu drei Beispiele:
http://selfhtml.teamone.de/css/eigenschaften/anzeige/border_collapse.htm
http://selfhtml.teamone.de/css/eigenschaften/anzeige/border_spacing.htm
http://selfhtml.teamone.de/css/eigenschaften/anzeige/empty_cells.htm
Im ersten Bespiel wird border-collapse:collapse explizit angegeben.
In den Beispielen mit border-spacing und empty-cells wird border-collapse:separate nicht angeführt.
Meine Frage: Warum funktionieren diese beiden Beispiele ohne explizite Angabe von border-collapse: separate?
Das könnte doch eigentlich nur funktionieren, wenn separate die Voreinstellung für border-collapse ist?
Irgendwo (Sekundärliteratur!) hab ich das auch mal so gelesen.
Grüsse aus Neubrandenburg
erika
Hallo Erika,
Danke fuer's Widersprechen!
Border-collapse:separate ist IMHO die Voreinstellung und muss nicht explizit angegeben werden.
http://www.w3.org/TR/REC-CSS2/tables.html#propdef-border-collapse
border-collapse
Value: collapse | separate | inherit
Initial: collapse
Nun stellt sich die Frage:
Initial = Ausgangswert = Voreinstellung = Standardwert?
Ich hatte das so verstanden.
In der deutschen Uebersetzung (zu deren Qualitaet ich mich
im P.S. aeussere, siehe unten)
http://edition-w3c.de/TR/1998/REC-CSS2-19980512/kap17.html#_Toc28940757
steht: "Ausgangswert: collapse".
http://selfhtml.teamone.de/css/eigenschaften/anzeige/border_collapse.htm
Im Quelltext dort sieht das erste Beispiel so aus:
<table border="0"><tr>
<th colspan="3">Normaleinstellung</th>
</tr><tr>
<td style="border:medium solid blue">Haus</td>
<td style="border:medium dashed blue">Auto</td>
<td style="border:medium dotted blue">Boot</td>
</tr></table>
Opera 5.12 und 7.10, Mozilla 1.2.1 und MS IE 5.0 (alle Win2k)
zeigen alle drei getrennte blaue Kaestchen.
(MS IE 5.0 kann dashed und dotted nicht.)
Das ist auch so, wenn man das border-Attribut entfernt, also nur
<table>
schreibt.
Alle diese Browser sehen also offenbar das Separated Border Modell
als "Standard" Darstellung an.
Meine Frage: Warum funktionieren diese beiden Beispiele ohne explizite Angabe von border-collapse: separate?
Das könnte doch eigentlich nur funktionieren, wenn separate die Voreinstellung für border-collapse ist?
Ich bin mit Dir einig, dass man aus der Darstellung dieser
Beispiele schliessen muss, dass dies das Standard-Verhalten
der meisten Browser ist.
Nach meinem Verstaendnis von "Initial" sollte es genau
umgekehrt sein.
Der Begriff "Initial" wird hier beschrieben:
http://www.w3.org/TR/REC-CSS2/about.html#q7
Dort hat es einen Link zur Beschreibung der Kaskade.
Dort kommt der Begriff "Initial" vor im Abschnitt
"Specified value" - der "Initial" Wert hat letzte Prioritaet:
http://www.w3.org/TR/REC-CSS2/cascade.html#specified-value
Deutsch: "Ausgangswert"
http://www.edition-w3c.de/TR/1998/REC-CSS2-19980512/kap01.html#heading-1.3.2�
bzw.
http://www.edition-w3c.de/TR/1998/REC-CSS2-19980512/kap01.html#Ausgangswert|
http://edition-w3c.de/TR/1998/REC-CSS2-19980512/kap06.html#heading-6.1.1�
Irgendwo (Sekundärliteratur!) hab ich das auch mal so gelesen.
Google hilft:
http://www.google.com/search?q=browsers+border-collapse+separated
<zitat src="http://www.richinstyle.com/guides/tables2.html#bordercollapse">
"Note that although collapse is the initial value, for the
<TABLE> element, browsers have border-collapse: separate
in their browser style sheet in order to implement the HTML
cellspacing attribute."
</zitat>
Das bestaetigt die Vermutung, dass "die Browser" alle ein
internes Stylesheet verwenden, welches border-collapse:separate
als Standard-Darstellung verwendet.
Wenn wir Webautoren etwas anderes wollen, muessen wir
deshalb border-collapse:collapse ausdruecklich "vorschreiben".
Im "Sample Style Sheet" steht bei table {} uebrigens nichts
von border-collapse, aber auch nichts von border:
http://www.w3.org/TR/REC-CSS2/sample.html
Eine Tabelle hat also normalerweise keinen Rahmen.
Dieses Style Sheet ist aber bloss ein "informativer", nicht
bindender Vorschlag als Ergaenzung zur CSS-Specification.
---
Dank dieser Diskussion habe ich gerade noch etwas gelernt:
Im "Separated Borders Model" ist es nicht moeglich,
Rahmen (border) um ganze Zeilen oder Spalten zu machen,
im "Collapsing Borders Model" dagegen sehr wohl.
http://www.w3.org/TR/REC-CSS2/tables.html#separated-borders
http://www.w3.org/TR/REC-CSS2/tables.html#collapsing-borders
Freundliche Gruesse,
Thomas
P.S. Drei grobe Maengel an der Deutschen Uebersetzung
der CSS-2-Specification:
1. Sehr verlinkungsfeindliche Anker.
(Man muss %A0 an alle Anker dranhaengen, damit sie
funktionieren. In Opera 5.12 funktioniert selbst das nicht.)
2. Inkonsequente Uebersetzung, z.B. wird "Padding" einmal mit
"Polsterung" und ein andermal mit "Auffuellung" uebersetzt.
Sowas ist fuer einen technischen Text IMHO katastrophal.
3. Extrem aufdringliche Werbung fuer die Buecher des Verlags.
Solange jemand nicht dem Verzweifeln nahe ist, weil er kein
Wort englisch spricht, verlinke ich deshalb lieber auf
das englische Original.
Hallo Thomas,
Dank dieser Diskussion habe ich gerade noch etwas gelernt:
Im "Separated Borders Model" ist es nicht moeglich,
Rahmen (border) um ganze Zeilen oder Spalten zu machen,
im "Collapsing Borders Model" dagegen sehr wohl.
http://www.w3.org/TR/REC-CSS2/tables.html#separated-borders
http://www.w3.org/TR/REC-CSS2/tables.html#collapsing-borders
Siehe auch http://forum.de.selfhtml.org/archiv/2003/10/60371/#m339620
Grüße
Thomas
Hallo Thomas
Danke fuer's Widersprechen!
Danke für Deine Recherchen und Erklärungen!
<zitat src="http://www.richinstyle.com/guides/tables2.html#bordercollapse">
"Note that although collapse is the initial value, for the
<TABLE> element, browsers have border-collapse: separate
in their browser style sheet in order to implement the HTML
cellspacing attribute."
</zitat>
Das bestaetigt die Vermutung, dass "die Browser" alle ein internes Stylesheet verwenden, welches border-collapse:separate als Standard-Darstellung verwendet.
Wenn wir Webautoren etwas anderes wollen, muessen wir deshalb border-collapse:collapse ausdruecklich "vorschreiben".
Das dürfte eine plausible Erklärung sein. Danke für den Link, ich werde mir das Tutorial speziell zu den Tabellen noch einmal genauer ansehen.
P.S. Drei grobe Maengel an der Deutschen Uebersetzung »» der CSS-2-Specification: .......
Ja, das gibt es Mängel. Es gibt noch mehr Beispiele für inkonsequente Übersetzungen. Übrigens: Die Übersetzer bitten um Informationen zu Fehler und Korrekturen.
Solange jemand nicht dem Verzweifeln nahe ist, weil er kein Wort englisch spricht, verlinke ich deshalb lieber auf das englische Original.
Okay, das englische Original ist das einzig maßgebliche Dokument.
Aber die deutsche Übersetzung hilft mir mit meinem fast vergessenen Schulenglisch, das englische Original besser zu verstehen. Im Zweifelsfall lese ich sowohl als auch.
Grüsse aus Neubrandenburg
erika