Wie ist es richtig?
Tom
- css
0 Cheatah0 Tom1 Cheatah-1 Klawischnigg0 Cheatah0 Tobias Kloth
0 Vinzenz Mai
0 MudGuard0 Entwarnung und Danke
Tom
Hello,
jetzt habe ich den ganzen Tag PHP programmiert und nun ist mir der Plan für CSS verloren gegangen.
Ich habe eine
<table class="gb_records">
Das enthält
<td class="caption">
und
<td>
und
<td class="right">
nun möchte ich, dass alle Tabellenzellen innerhalb des Tables mit "gb_records" auf eine Border-Angabe hören, ohne dass ich das HTML ändern muss.
Wie geht das? Im Moment stehe ich im Wald.
Das ist die Definition für den Table:
table.gb_records
{
border-collapse:collapse;
border:1px solid #CCCCFF;
empty-cells:show;
background-color:#EEEEEE;
margin-bottom:10px;
}
.right
{
text-alignright;
}
.caption
{
font-size:bold;
}
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
<table class="gb_records">
verzichte auf Unterstriche in Klassennamen.
<td class="caption">
Du meinst sicher <caption>, oder höchstens <th>, eventuell innerhalb eines <thead>.
<td class="right">
Sofern es in dieser Tabellenzelle nicht zufällig um Rechtliches geht, ist das ein denkbar ungünstiger Klassenname.
nun möchte ich, dass alle Tabellenzellen innerhalb des Tables mit "gb_records" auf eine Border-Angabe hören, ohne dass ich das HTML ändern muss.
Wie lautet der Selektor für "innerhalb von"?
Cheatah
Hello,
Du meinst sicher <caption>, oder höchstens <th>, eventuell innerhalb eines <thead>.
Nö. Es geht ja um eine Auszeichnung innerhalb der Zeile
<tr>
<td class="caption">Name:</td>
<td><?php echo htmlentities($_POST['data']['name']</td>
</tr>
Es sind nicht alle Angaben der ersten Spalte fett.
<td class="right">
Sofern es in dieser Tabellenzelle nicht zufällig um Rechtliches geht, ist das ein denkbar ungünstiger Klassenname.
Wieso? Wenn ich den Inhalt rechts ausrichten will, kann ich die Klasse doch "right" nennen...
<td class="caption right red">hier steht das rechtsbündige fette rote Gemecker</td>
nun möchte ich, dass alle Tabellenzellen innerhalb des Tables mit "gb_records" auf eine Border-Angabe hören, ohne dass ich das HTML ändern muss.
Wieso keine Unterstirche in Klassennamen?
Wie lautet der Selektor für "innerhalb von"?
Genau das habe ich gefragt.
Wäre also toll, wenn Du meine Frage nicht nur wiederholen würdest, sondern ggf. einen Link entgegenschmettern könntest... ;-)
Harzliche Grüße aus http://www.annerschbarrich.de
Tom
Hi,
Nö. Es geht ja um eine Auszeichnung innerhalb der Zeile
<tr>
<td class="caption">Name:</td>
<td><?php echo htmlentities($_POST['data']['name']</td>
</tr>
das sieht eher nach einer <dl> aus. Wenn nicht, ist IMHO die erste Spalte definitiv ein <th>.
Es sind nicht alle Angaben der ersten Spalte fett.
Das hat mit der Struktur nicht das geringste zu tun.
<td class="right">
Sofern es in dieser Tabellenzelle nicht zufällig um Rechtliches geht, ist das ein denkbar ungünstiger Klassenname.
Wieso? Wenn ich den Inhalt rechts ausrichten will, kann ich die Klasse doch "right" nennen...
Eine Klasse dient der Klassifizierung eines Elements, nicht der Vermittlung einer Darstellungsempfehlung. Noch mal: Die Struktur hat *nichts* mit CSS oder Aussehen zu tun. Sie wird gewählt, *lange* bevor die erste Überlegung bezüglich der Darstellung getätigt wird.
<td class="caption right red">hier steht das rechtsbündige fette rote Gemecker</td>
Ein absolutes Anti-Beispiel. Dies ist das miserabelst denkbare HTML. class="gemecker" wäre denkbar, aber jeder Hinweis auf die derzeit gewünschte Darstellung hat im HTML-Code nichts verloren.
Wieso keine Unterstirche in Klassennamen?
Weil Netscape 4 hierbei zu Abstürzen neigt, und weil sie erst später in den Standard eingefügt wurden. Sie sind zudem immer ersetzbar.
Wie lautet der Selektor für "innerhalb von"?
Genau das habe ich gefragt.
Sorry, ich ging davon aus, Du wüsstest dies und bräuchtest nur jemanden, der Dir das Brett vom Kopf haut.
Wäre also toll, wenn Du meine Frage nicht nur wiederholen würdest, sondern ggf. einen Link entgegenschmettern könntest... ;-)
Cheatah
Hi there,
Wieso keine Unterstirche in Klassennamen?
Weil Netscape 4 hierbei zu Abstürzen neigt, und weil sie erst später in den Standard eingefügt wurden. Sie sind zudem immer ersetzbar.
Genau, weil ja Netscape 4 auch das hier so gerne empfohlene Design per CSS so gut beherrscht. Ich denke, irgendwann einmal muß man sich entscheiden, das trifft auch auf das Verabreichen guter Ratschläge zu...
Hi,
Weil Netscape 4 hierbei zu Abstürzen neigt, und weil sie erst später in den Standard eingefügt wurden. Sie sind zudem immer ersetzbar.
Genau, weil ja Netscape 4 auch das hier so gerne empfohlene Design per CSS so gut beherrscht. Ich denke, irgendwann einmal muß man sich entscheiden, das trifft auch auf das Verabreichen guter Ratschläge zu...
durch den Verzicht auf Unterstriche im Klassennamen hast Du *keine* Nachteile. Durch ihre Nutzung verschlechterst Du auf einem zugegebenermaßen seltenen Browser nicht etwa nur das Layout, sondern *bringst ihn zum Absturz*. Ich weiß ja nicht, ob Du diesen Nutzern aktiv Schaden zufügen willst; aber ich für meinen Teil sehe hier nur eine einzige Entscheidungsmöglichkeit, die nicht als asozial zu bezeichnen wäre. Soviel zu den Ratschlägen.
Cheatah
Hallo,
Wieso keine Unterstirche in Klassennamen?
Weil Netscape 4 hierbei zu Abstürzen neigt, und weil sie erst später in den Standard eingefügt wurden. Sie sind zudem immer ersetzbar.
Genau, weil ja Netscape 4 auch das hier so gerne empfohlene Design per CSS so gut beherrscht. Ich denke, irgendwann einmal muß man sich entscheiden, das trifft auch auf das Verabreichen guter Ratschläge zu...
Ob NEtscape 4 das CSS umsetzt ist hier irrelevant - die Seite muss benutzbar sein (das ist sie ja bei vernünftiger Auszeichnung auch). Wenn der Browser aber abstürzt, ist die Seite nicht mehr benutzbar ...
Grüße aus Nürnberg
Tobias
Hallo Tom
Wieso keine Unterstirche in Klassennamen?
weil es Browser gibt, die durch Unterstriche untergehen, ich meine abstürzen.
Wäre also toll, wenn Du meine Frage nicht nur wiederholen würdest, sondern ggf. einen Link entgegenschmettern könntest... ;-)
Tom, bitte installiere Dir die überaus nützlichen CSS-und HTML-Sidebars.
Freundliche Grüße
Vinzenz
Hi,
<table class="gb_records">
Ungünstig wegen des Unterstrichs.
<td class="caption">
th? Könnte aber auch ein Fall für thead sein.
nun möchte ich, dass alle Tabellenzellen innerhalb des Tables mit "gb_records" auf eine Border-Angabe hören, ohne dass ich das HTML ändern muss.
table.gb_records
{
border-collapse:collapse;
border:1px solid #CCCCFF;
empty-cells:show;
background-color:#EEEEEE;
margin-bottom:10px;
}
Die Tabelle insgesamt bekommt also eine border.
.right
{
text-alignright;
Da fehlt ein :
}
.caption
{
font-size:bold;
}
Und wo ist jetzt die Definition der Border für die Zellen?
cu,
Andreas
Hello,
Vielen Dank für die vielen Tipps.
War ja auch nochmal 'was Intelligentes dabe ;-))
Mein Fehler war aber im HTML-Teil: ein fehlendes 'colspan="2"'
Nu funktionierts denn erstmal.
Validitätsprüfung folgt noch.
Ist auch nicht so leicht zu debuggen das alles, weil es ich um CMS-Outputs handelt...
Harzliche Grüße aus http://www.annerschbarrich.de
Tom