Wie entferne ich den zusätzlichen Platz zwischen den Zeilen und Spalten in der Tabelle?
Ich habe versucht, den Rand, das Auffüllen und verschiedene Randeigenschaften für die Tabelle sowie für tr und td zu ändern.
Ich möchte, dass die Bilder alle direkt nebeneinander liegen und wie ein einziges großes Bild aussehen.
Wie soll ich das beheben?
CSS
table {
border-collapse: collapse;
}
HTML
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Tera Byte Video Game Creation Camp</title>
<link rel="stylesheet" type="text/css" href="style.css"></link>
</head>
<body>
<table class="mytable" align="center">
<tr class="header">
<td colspan="3"><img src="images/home_01.png" /></td>
</tr>
<tr class="top">
<td colspan="3"><img src="images/home_02.png" /></td>
</tr>
<tr class="link-row">
<td><img src="images/home_03.png" /></td>
<td><img src="images/home_04.png" /></td>
<td><img src="images/home_05.png" /></td>
</tr>
<tr class="link-row">
<td><img src="images/home_07.png" /></td>
<td><img src="images/home_06.png" /></td>
<td><img src="images/home_08.png" /></td>
</tr>
<tr class="link-row">
<td><img src="images/home_09.png" /></td>
<td><img src="images/home_10.png" /></td>
<td><img src="images/home_11.png" /></td>
</tr>
<tr class="link-row">
<td><img src="images/home_12.png" /></td>
<td><img src="images/home_13.png" /></td>
<td><img src="images/home_14.png" /></td>
</tr>
<tr class="bottom">
<td colspan="3"><img src="images/home_15.png" /></td>
</tr>
</table>
</body>
</html>
html
css
html-table
Zach Galant
quelle
quelle
Hinzufügen zur Antwort von vectran: Sie müssen auch ein
cellspacing
Attribut für das Tabellenelement festlegen , um die Cross-Browser-Kompatibilität zu gewährleisten.BEARBEITEN (der Vollständigkeit halber erweitere ich dies 5 Jahre später :):
In Internet Explorer 6 und Internet Explorer 7 mussten Sie den Zellenabstand direkt als Tabellenattribut festlegen, da sonst der Abstand nicht verschwindet.
Internet Explorer 8 und späteren Versionen und alle anderen Versionen von gängigen Browsern - Chrome, Firefox, Opera 4+ - Unterstützung der CSS - Eigenschaft border-Abstand .
Um einen browserübergreifenden Tabellenzellenabstand zurückzusetzen (unterstützt IE6 als Dinosaurier-Browser), können Sie dem folgenden Codebeispiel folgen:
quelle
Das hat bei mir funktioniert:
quelle
Verwenden Sie für Bilder in td Folgendes für Bilder:
Das entfernt unerwünschten Platz für mich
quelle
Fügen Sie einfach zusätzlich zu Jacobs Antwort hinzu, denn
img
intd
,Dies funktioniert für die meisten E-Mail-Clients, einschließlich Google Mail. Aber nicht Outlook. Für Outlook müssen Sie zwei weitere Schritte ausführen:
und setzen Sie alle
td
Elemente so, dass sie die gleichenheight
undwidth
die darin enthaltenen Bilder haben. Beispielsweise,quelle
reduziert alle Ränder, die die Tabellenspalten trennen ...
oder Versuche
Führen Sie alle Zellenabstände auf 0 und den Randabstand auf 0 aus, um dasselbe zu erreichen.
Viel Spaß!
quelle
<table cellspacing="0" border-spacing: 0;>
ist ungültiges Markup!<table cellspacing="0" style="border-spacing: 0;">
wäre richtigFügen Sie für standardkonformes HTML5 all dieses CSS hinzu, um den gesamten Platz zwischen Bildern in Tabellen zu entfernen:
quelle
Versuche dies,
quelle
Wenn Sie Cellpadding und Cellspacing auf 0 setzen, wird der unnötige Abstand zwischen Zeilen und Spalten entfernt ...
quelle
Alles was ich tun musste war hinzuzufügen:
in meinem
quelle
Das Hinzufügen dieser Zeile am Anfang der Datei hat bei mir funktioniert:
Das Ändern des CSS, um die richtigen Randeigenschaften festzulegen, funktionierte nicht, bis ich die obige Zeile hinzufügte
quelle
Haben Sie versucht, die TRs mit einem Colspan zu entfernen und festzustellen, ob sich dadurch etwas ändert?
Ich habe erlebt, dass Colspans und Rowspans ziemlich böse sind, wenn es um genaue Tischdesigns geht. Wenn Ihre Bilder ohne die Colspan-TRs in Ordnung aussehen, würde ich von dort aus eine verschachtelte Tabellengruppe erstellen.
Auch Ihre style.css scheint nicht vollständig zu sein, vielleicht stimmt da etwas nicht? Ich würde zumindest
padding: 0; margin: 0;
der Tabelle (oder der Klasse "mytable") hinzufügen. Stellen Sie sicher, dass Ihre Bilder auch keine Leerzeichen und / oder Ränder haben (z. B. durch Hinzufügenimg { border: 0; }
zu Ihrem Stylesheet).quelle
Ich hatte dieses Problem und keiner der Vorschläge aus mehreren Posts hat funktioniert. Ich habe sie alle ausprobiert. Mein Problem stellte sich heraus, dass die von mir erstellte Tabelle in einer anderen Tabelle verschachtelt ist und deren Eigenschaften erbt. Ich musste die Containertabelle überschreiben.
In diesem Beispiel ist SuColTable eine Klasse in der Tabelle.
Der Randkollaps, der Rand: Keine und der Randabstand entfernen die Tabellen- / Zeilen- / Spaltenzeile. Die Auffüllaufrufe 0 entfernen die Auffüllung aus der Containertabelle. Ich musste! Wichtig in jeden Stil einbeziehen, damit es funktioniert, um die Container-Tabellenstile zu überschreiben.
Ich habe padding_top, left und bottom (anstatt nur padding), weil ich zwei andere Klassen habe, die padding_right steuern.
Die Zeilenhöhe Null macht die Zeile eine Zeile hoch. Wenn Sie mehrere Zeilen haben, werden diese zu einer Zeile komprimiert.
quelle
quelle