Jak usunąć dodatkową przestrzeń między wierszami i kolumnami w tabeli.
Próbowałem zmienić margines, dopełnienie i różne właściwości obramowania tabeli oraz tr i td.
Chcę, aby wszystkie zdjęcia znajdowały się obok siebie i wyglądały jak jeden duży obraz.
Jak mam to naprawić?
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
źródło
źródło
Dodanie do odpowiedzi vectran: Musisz również ustawić
cellspacing
atrybut w elemencie tabeli, aby zapewnić kompatybilność z różnymi przeglądarkami.EDYTUJ (dla porządku uzupełniam to 5 lat później :):
Internet Explorer 6 i Internet Explorer 7 wymagały bezpośredniego ustawienia odstępów między komórkami jako atrybutu tabeli, w przeciwnym razie odstępy nie znikną.
Internet Explorer 8 i nowsze wersje oraz wszystkie inne wersje popularnych przeglądarek - Chrome, Firefox, Opera 4+ - obsługują odstępy między krawędziami właściwości CSS .
Aby więc zresetować odstępy między komórkami tabeli w różnych przeglądarkach (obsługując IE6 jako przeglądarkę dinozaurów), możesz wykonać poniższy przykład kodu:
źródło
To zadziałało dla mnie:
źródło
W przypadku obrazów w td użyj tego dla obrazów:
To usuwa dla mnie niechcianą przestrzeń
źródło
Wystarczy dodać na górze odpowiedź Jakuba, dla
img
wtd
,Działa to w przypadku większości klientów poczty e-mail, w tym Gmaila. Ale nie Outlook. W przypadku programu Outlook musisz wykonać jeszcze dwa kroki:
i ustawić co
td
elementy mają takie sameheight
iwidth
jako jego zawartych obrazów. Na przykład,źródło
zwinie wszystkie obramowania oddzielające kolumny tabeli ...
lub spróbuj
wykonaj wszystkie odstępy między komórkami na 0 i odstępy między granicami 0, aby osiągnąć to samo.
baw się dobrze!
źródło
<table cellspacing="0" border-spacing: 0;>
jest nieprawidłowym znacznikiem!<table cellspacing="0" style="border-spacing: 0;">
byłoby poprawneAby uzyskać zgodność ze standardami HTML5, dodaj cały ten plik CSS, aby usunąć całą przestrzeń między obrazami w tabelach:
źródło
Spróbuj tego,
źródło
ustawienie Cellpadding i CellSpacing na 0 usunie niepotrzebną przestrzeń między wierszami i kolumnami ...
źródło
Musiałem tylko dodać:
w moim
źródło
dodanie tej linii na początek pliku s zadziałało:
modyfikowanie css w celu ustawienia odpowiednich właściwości obramowania nie działało, dopóki nie dodałem powyższej linii
źródło
Czy próbowałeś usunąć TR, które mają colspan i zobaczyć, czy to coś zmienia?
Doświadczyłem, że colspans i rowspans są dość nieprzyjemne, jeśli chodzi o dokładne projektowanie tabel. Jeśli twoje obrazy wyglądają dobrze bez colspan-TR, zacznę od tego i zbuduję zagnieżdżony zestaw tabel.
Również twój style.css nie wydaje się być kompletny, może coś jest nie tak? Dodałbym przynajmniej
padding: 0; margin: 0;
do tabeli (lub do klasy „mytable”). Upewnij się, że Twoje obrazy również nie mają spacji i / lub ramek (np. Dodając jeimg { border: 0; }
do arkusza stylów).źródło
Miałem ten problem i żadna z sugestii z kilku postów nie działała, wypróbowałem je wszystkie. Mój problem okazał się, że tworzona przeze mnie tabela jest zagnieżdżona w innej tabeli, dziedzicząc po swoich właściwościach. Musiałem zastąpić tabelę kontenerów.
W tym przykładzie SuColTable jest klasą w tabeli.
Funkcje border-collapse, border: none i border-spacing pozwalają pozbyć się linii tabeli / wiersza / kolumny. Wywołania dopełnienia 0 usuwają wypełnienie z tabeli kontenera. Musiałem uwzględnić! Ważne w każdym stylu, aby to działało, aby nadpisać style tabeli kontenerów.
Mam padding_top, left i bottom (zamiast tylko padding), ponieważ mam dwie inne klasy, które kontrolują padding_right.
Wysokość wiersza zero sprawia, że wiersz jest wysoki o jedną linię. Jeśli masz kilka linii, są one skompresowane w jedną linię.
źródło
źródło