Tom: Wie ist es richtig?

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

--
Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
Nur selber lernen macht schlau
  1. 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

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes
    1. 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&uuml;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

      --
      Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
      Nur selber lernen macht schlau
      1. 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&uuml;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... ;-)

        Gerne.

        Cheatah

        --
        X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
        X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
        X-Will-Answer-Email: No
        X-Please-Search-Archive-First: Absolutely Yes
        1. 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...

          1. 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

            --
            X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
            X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
            X-Will-Answer-Email: No
            X-Please-Search-Archive-First: Absolutely Yes
          2. 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

      2. 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

  2. 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

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    Fachfragen per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
  3. 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

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    Nur selber lernen macht schlau