zurück zur Startseite
  


Zurück XHTMLforum > (X)HTML und CSS > CSS
Seite neu laden Tabellen-Spaltenbreite im FF stimmt nicht

Antwort
 
LinkBack Themen-Optionen Ansicht
  #1 (permalink)  
Alt 01.09.2010, 15:49
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.02.2008
Beiträge: 52
Plasm befindet sich auf einem aufstrebenden Ast
Standard Tabellen-Spaltenbreite im FF stimmt nicht

Hallo,
vermutlich ein bekannter FF-Bug, mir bisher jedoch noch nicht bekannt.

Folgendes Szenario:
HTML-Code:
<!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">
	<head>
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
		<title>Test</title>
		<style type="text/css">
			table { width: 100%; margin-bottom: 1em; border-collapse: collapse; }
			thead th { border: 1px solid #90B4D8; padding: 3px; background-color: #C7D9EC; font-weight: bold; text-align: left; }
			tbody td { border: 1px solid #90B4D8; padding: 3px; vertical-align: top; }
			.name { width: 200px; }
			.colA, .colB { width: 200px; }
			.colAB { width: 407px; }
		</style>
	</head>
	<body>
		<table cellspacing="0">
			<thead>
				<tr>
					<th colspan="4">Tiere</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td class="name">Wolf</td>
					<td>Der Wolf (Canis lupus) ist eine Raubtierart ...</td>
					<td class="colA">200px</td>
					<td class="colB">200px</td>
				</tr>
			</tbody>
		</table>
		<table cellspacing="0">
			<thead>
				<tr>
					<th colspan="4">Haushaltsgeräte</th>
				</tr>
			</thead>
			<tbody>
				<tr>
					<td class="name">Bügeleisen</td>
					<td>Ein Bügeleisen ist ein Gerät zum Glätten ...</td>
					<td colspan="2" class="colAB">407px (2x 200px + 2x 3px padding + 1px border)</td>
				</tr>
			</tbody>
		</table>
	</body>
</html>
Der FF zeigt in der 2. Tabelle die rechte Spalte zu breit (oder je nach Browserbreite zu schmal) an. Ändert sich der Inhalt in der 2. Spalte, ändert sich auch die Breite der eigentlich fixen 3. Spalte.

Zusätzlich noch max-width: 407px; zu schreiben hat keine Auswirkung.

Man könnte die head-Zeile so aufteilen:
<th colspan="2">Haushaltsgeräte</th>
<th class="colA">&nbsp;</th>
<th class="colB">&nbsp;</th>
Das class="colAB" wäre dann überflüssig.
Jedoch habe ich dann senkrechte border-Striche die dort nicht sein sollen. Um die dann wegzubekommen, muß ich wieder extra Klassen definieren die border-left bzw. border-right auf 0 setzen - würde ich mir eigentlich gern sparen.

Kennt jemand einen einfachen Workaround?

Danke und Gruß
Mit Zitat antworten
Sponsored Links
  #2 (permalink)  
Alt 02.09.2010, 10:41
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.02.2008
Beiträge: 52
Plasm befindet sich auf einem aufstrebenden Ast
Standard

Hmm, ich hatte die Seite gestern unter IE6, Opera 10 und FF3 getestet und da war der FF der einzige der diesen "Bug" aufwies.

Inzwischen habe ich noch ein paar weitere Browser getestet:

Feste Spaltenbreite:
- IE 6+7
- FF 1+2
- NS 7+8+9
- Opera 7+8+9+10

Variable Spaltenbreite:
- IE 8
- FF 3+4
- Chrome 5
- Safari 3+4+5

Entweder ist es also ein Bug der Browser aus der oberen oder der aus der unteren Liste - oder es handelt sich um eine ungenaue Definition, bei der die Browserhersteller frei interpretieren können.

Egal ob Bug oder nicht - ich werde dann wohl die Variante mit den extra <th>-Tags verwenden und neue Klassen definieren die border-left und -right überschreiben

Gruß
Plasm
Mit Zitat antworten
Sponsored Links
  #3 (permalink)  
Alt 02.09.2010, 12:57
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Du suchst anscheinend table-layout: fixed; (für das table-Element)
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.)
Mit Zitat antworten
  #4 (permalink)  
Alt 02.09.2010, 14:42
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.02.2008
Beiträge: 52
Plasm befindet sich auf einem aufstrebenden Ast
Standard

Dadurch werden die 2 rechten Spalten aber größer als die angegebenen 200px. Laut selfthml wirkt sich fixed auf die Breitenangaben der 1. Zeile aus - aber genau da liegt ja das Problem - die 1. Zeile hat keine Breitenangaben sondern erst die 2.

Man kommt also wohl nicht drum herum die Breite der Spalten in der 1. Zeile zu notieren (wie im letzten Abschnitt des 1. Postings beschrieben)
Mit Zitat antworten
  #5 (permalink)  
Alt 02.09.2010, 15:35
Benutzerbild von heiko_rs
Erfahrener Benutzer
XHTMLforum-Kenner
 
Registriert seit: 18.09.2005
Ort: Berlin
Beiträge: 9.848
heiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblickheiko_rs ist ein wunderbarer Anblick
Standard

Ich denke an eine ganz andere Lösung: Deine th umfasst alle 4 Spalten, ist also vielmehr eine Überschrift, und sollte daher auch entsprechend ausgezeichnet werden - bei Tabellen gibt es dafür caption (oder man nimmt einfach eine ganz normale hx), und dann wirkt auch table-layout: fixed; wie gewünscht.
__________________
Wer keinen Link auf seine problembehaftete Seite posten kann, weil diese noch nicht online ist: Testcase bauen, online stellen, Link posten.
Internet-Grundregel: Unbekannte Begriffe googeln! (Erspart 99% aller Nachfragen.)

Geändert von heiko_rs (02.09.2010 um 15:40 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 02.09.2010, 15:46
Benutzer
neuer user
Thread-Ersteller
 
Registriert seit: 13.02.2008
Beiträge: 52
Plasm befindet sich auf einem aufstrebenden Ast
Standard

Tja, stimmt eigentlich. Die th-Zeile kommt daher, dass vorher über den rechten beiden Spalten noch je ein Bild war (Sprach-Fahnen). Diese Sprach-Info ist nun aber in die einzelnen Zellen gerutscht wodurch die Überschriften-Bilder wegfielen und nun auch die ganze Zeile "weg" könnte.

Ich denke sogar, dass ich fixed dann gar nicht mehr benötige.

Übrigens verhielten sich alle Browser gleich nachdem ich fixed eingebaut hatte (wenn auch nicht so wie ich es erwartet hätte) - nur bei Opera hatte die Angabe keine Wirkung...

Danke und Gruß
Plasm
Mit Zitat antworten
Antwort

Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Gliederungen (Tabellen???) mit CSS Boof CSS 6 14.02.2009 21:21
Datenbakn in andere kopieren, wenn Anzahl der Tabellen unbekannt paracelsus Serveradministration und serverseitige Scripte 26 15.09.2008 18:15
Mehrere Tabellen über ein Menu auswählen Xinor CSS 1 24.02.2008 07:18
Warum keine Tabellen? sinot CSS 8 06.05.2006 17:47
Tabellen in <div>-Tags dexter2000 CSS 9 19.05.2005 10:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:40 Uhr.