2012-11-15 4 views
6

ich so eine Tabelle zu erstellen versuchen:wikitable Hintergrund Blutungen

{| class="wikitable" style="background:#F00;" 
|- 
! colspan="3" | Title 
|- 
! style="border-width:1px 0px; width:20px" | A 
! style="border-width:1px 0px;" | [[A]] 
! style="border-left-width:0px; width:20px" | A 
|- 
| colspan="3" | Text 
|} 

jedoch der rote Hintergrund „blutet“ nach rechts. h., rechts von der rechten Grenze des Tisches befindet sich ein vertikaler Streifen von Rot.

Bei näherer Betrachtung mit Developer Tools ist dies aufgrund der Padings der Zellen auf 0,2em festgelegt, und (seltsamerweise) nicht auf ganzzahlige Pixel gerundet, was eine 2,54999px Polsterung ergibt. Der Browser rendert dann die Tabellenbox außerhalb des rechten Rahmens.

Dies kann behoben werden, indem die Zellen einzeln mit einem px-basierten Padding versehen werden. Aber das kompliziert den Code, also suche ich nach einer besseren Lösung.

EDIT: Etwas zu beachten ist auch, dass das "nicht abgerundete" Verhalten durch die "Wikitable" -Klasse verursacht wird. Ich habe versucht, die Klasse zu entfernen und die Polsterungen sind abgerundet.

EDIT2:. Weitere Experimente zeigen, dass dies höchstwahrscheinlich ist, weil MediaWiki wikitables' Polsterungen mit jQuery .css() Methode (oder andere Äquivalente Sätze, die nicht rund em-basierte tut Messungen Irgendwelche Ideen, wie dies zu überwinden

+0

Was Ihre gewünschte Lösung ist? nur eine Zeile mit Hintergrund rot? – Wikis

+0

Ja. um genau zu sein, ich will einfach nicht Die Blutung: Die Tabelle, die ich mache, verwendet den grauen Standardhintergrund, aber mit 5x diesen Zellen, was ein sehr vi ergibt sible bluten. Ich benutzte rot hier, um die Blutung nur zu demonstrieren – TwiNight

+0

Ok, thx für Antworten, es wird einige mehr Gedanken erfordern ... :) – Wikis

Antwort

0

wenn? Sie verwenden table { border-spacing: 0; } wird der weiße Raum. auf Chrome getestet gegangen, wo border-spacing zunächst auf 2px gesetzt.