539 Stimmen

Füge dem Tabellenzeilen-Element <tr> einen unteren Rand hinzu.

Ich habe eine Tabelle von 3 mal 3. Ich brauche eine Möglichkeit, einen Rand für den unteren Teil jeder Zeile tr hinzuzufügen und ihm eine spezifische Farbe zu geben.

Zuerst habe ich den direkten Weg ausprobiert, d.h.:

Aber das hat nicht funktioniert. Also habe ich CSS hinzugefügt wie folgt:

tr {
border-bottom: 1pt solid black;
}

Aber das hat immer noch nicht funktioniert.

Ich würde es vorziehen, CSS zu verwenden, denn dann muss ich nicht jedem Zeile ein style Attribut hinzufügen. Ich habe kein border Attribut zur`

hinzugefügt. Ich hoffe, dass das meine CSS nicht beeinflusst.`

0 Stimmen

Als zusätzliche Anmerkung, wenn das Inline-Styling (erstes Beispiel in Ihrer Frage) nicht funktioniert, ist es unwahrscheinlich, dass das eingebettete Styling (zweites Beispiel) funktioniert. Sie sollten auch die Verfügbarkeit von Attributen für das Element recherchieren, das Sie zu stylen versuchen: w3.org/TR/html-markup/tr.html

1 Stimmen

Wenn Sie am unteren Rand der Tabelle eine untere Grenze haben möchten, können Sie sich an dieses jsfiddle.net/7awN4 halten.

12 Stimmen

Nur eine Notiz, um zukünftige Suchende dazu zu ermutigen, nach unten zu scrollen zu @Nathan Manousos's Antwort, unten - es ist wahrscheinlich die Lösung, nach der Sie suchen.

750voto

Nathan Manousos Punkte 12260

Fügen Sie border-collapse:collapse zu Ihrer Tabellenregel hinzu:

table { 
    border-collapse: collapse; 
}

Beispiel

table {
  border-collapse: collapse;
}

tr {
  border-bottom: 1pt solid black;
}

  A1B1C1
  A2B2C2
  A2B2C2

Link

3 Stimmen

Dies funktioniert nicht von selbst. Sie können immer noch nicht die Reihe formatieren, aber Sie können die Zellen formatieren.

57 Stimmen

Du liegst falsch, @Renan . Das kollabierende Randmodell ist genau das, was Zeilengrenzen stylbar macht. Laut CSS-Abschnitt 17.6: Im separaten Randmodell "können Zeilen [...] keine Grenzen haben (d.h., Benutzeragenten müssen die Grenzeigenschaften für diese Elemente ignorieren)". "Im kollabierenden Randmodell ist es möglich, Grenzen zu spezifizieren, die eine Zelle, eine Zeile [und] eine Zeilengruppe [...] umgeben". Und übrigens: Es funktioniert in meinem Browser (Chromium 37).

19 Stimmen

Ich glaube, einige Leute könnten verwirrt werden (wie ich) und bemerken nicht, dass der border-collapse-Stil auf die Tabelle und nicht auf die Zeile gesetzt werden muss.

475voto

tsherif Punkte 11270

Ich hatte schon einmal ein Problem wie dieses. Ich glaube nicht, dass tr direkt mit einer Rahmenformatierung versehen werden kann. Mein Workaround bestand darin, die tds in der Zeile zu formatieren:

CSS:

tr.border_bottom td {
  border-bottom: 1px solid black;
}

42 Stimmen

Beachten Sie, dass bei Verwendung dieser Lösung wahrscheinlich eine Lücke im Rand zwischen den td's besteht. simoncereskas Antwort kümmert sich darum, aber seien Sie sich bewusst, dass es möglicherweise nicht gut aussieht bei gepunkteten oder gestrichelten Randarten (weil sie nicht kontinuierlich sind)

29 Stimmen

Sie könnten dies auch beheben, indem Sie cellspacing="0" als Attribut zu `diese Frage

hinzufügen (siehe ). Ich weiß jedoch nicht, wie das mit gepunkteten oder gestrichelten Grenzen aussehen wird.`

5 Stimmen

tr kann die Randgestaltung im Zusammenfallmodell übernehmen. @Sangram, würdest du in Betracht ziehen, eine Antwort zu akzeptieren, die das berücksichtigt, anstelle dieser hier?

81voto

Jpduro Punkte 808

Verwenden border-collapse:collapse auf dem Tisch und border-bottom: 1 pt solid black; auf dem tr

7 Stimmen

Das Festlegen eines Rahmens auf tr ist selbst bei zusammengeklapptem Rahmen nutzlos. Sie müssen es auf den tds des tr festlegen.

13 Stimmen

@RaduSimionescu Fals, es funktioniert einwandfrei auf dem tr mit zusammengefallenen Rändern.

0 Stimmen

Keine Auswirkung in FF 45.0.1.

56voto

simoncereska Punkte 3015

Verwenden Sie

border-collapse:collapse wie Nathan geschrieben hat und Sie müssen festlegen

td { border-bottom: 1px solid #000; }

0 Stimmen

Das ist auch die Art und Weise, wie ich es machen würde! Fügen Sie den Rand am td hinzu und verwenden Sie border-collapse am Tisch

41voto

dmeyer Punkte 393

Es gibt viele unvollständige Antworten hier. Da Sie einen Rahmen nicht auf das tr-Tag anwenden können, müssen Sie es auf die td oder th Tags anwenden, wie folgt:

td {
  border-bottom: 1pt solid black;
}

Wenn Sie dies tun, bleibt ein kleiner Abstand zwischen jedem td, was wahrscheinlich nicht wünschenswert ist, wenn Sie möchten, dass der Rahmen so aussieht, als ob es das tr-Tag wäre. Um die "Lücken zu füllen" sozusagen, müssen Sie die border-collapse-Eigenschaft auf dem table-Element verwenden und dessen Wert auf collapse setzen, wie folgt:

table {
  border-collapse: collapse;
}

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X