Absolute Position von td überlagern im IE
Z€ddix
- css
0 Matthias Apsel1 ChrisB0 Z€ddix
Hallo,
im Moment versuche ich einen table mit einer(oder mehreren) fixierten Spalten zu erstellen. Der Rest der Spalte ist scrollbar.
Das ganze habe ich mit zwei Divcontainern() um die Tabelle realisiert, wovon einer positioniert wird. An diesem Container richtet sich dann die Position der Tabellenspalte aus. Der andere ist für das Scrollverhalten des Table(sprich für die anderen Spalten) zuständig.
Leider macht der IE wieder einmal als einziger Browser Probleme:
http://browsershots.org/http://www.nacouncil.org/box/test.html
Website: http://www.nacouncil.org/box/test.html
Der IE schaufelt sofort alle Zellen der Spalte sofort übereinander
So wie es scheint, hat der IE bei absoluter Positionierung sofort Defaultwerte von left: 0px; und top:0px; drin.
Jedoch möchte ich nur die Tabellenzellen der fixierten Spalte einfach nur nach links an den DIV Container binden, und nicht nach oben oder unten verschieben. Die Zellen sollen ihre vom Table vorgegeben Y-Koordinaten beibehalten.
Gibt es für die Positionierung einen IE Hack?
Gruß Z€ddix
Om nah hoo pez nyeetz, Z€ddix!
Anregungen außerhalb der Problemlösung:
Matthias
@@Matthias Apsel:
nuqneH
* deine <td class="first"> sind möglicherweise <th>.
Ja, das sind sie wohl. Die Zellen der ersten Spalte sind üblicherweise Zeilen_köpfe_, also (ebenso wie Spaltenköpfe) als 'th' auszuzeichnen. Netter Nebeneffekt: Man kann sie stylen ohne eine Klasse dafür verwenden zu müssen.
Allerdings sollte man sie von den Spaltenköpfen unterscheiden können. Das geht bei vernünftigem Markup problemlos: Spaltenköpfe stehen in 'thead', Zeilenköpfe stehen in 'tbody'.
<table>
<thead>
<tr>
<th>First</th>
<th>Second</th>
<th>Third</th>
⋮
</tr>
</thead>
</tbody>
<tr>
<th>First</th>
<td>Second</td>
<td>Third</td>
⋮
</tr>
⋮
</tbody>
</table>
Und sollten die jeweils ersten Zellen einer Zeile wider Erwarten doch keine Kopfzellen sein, d.h. doch Datenzellen 'td', ist eine Klasse "first" dennoch unnötig. Es gibt in CSS seit 2.0 die Pseudoklasse :first-child
. [CSS2 §5.11.1]
Qapla'
Danke für die ganz tollen Tips ;).
Ich arbeite schon recht lange mit css/html. Dies war nur eine schnelle fünf Minuten Testseite um das eigentlich Problem zu lösen :D.
In meiner richtigen Website, wird das ganze natürlich ganz sauber mit thead tbody und tfoot umgesetzt.
Problem gelöst, danke.
lg Z€ddix
Hi,
Gibt es für die Positionierung einen IE Hack?
Der „Hack“ für IE >= 8 heißt selbstverständlich wie üblich, „verlasse den Quirks Mode“.
Und für ältere IE kannst du CSS-Hacks verwenden, um eine wenigstens nutzbare Darstellung zu erreichen, die dann halt ohne diesen Effekt auskommen muss.
MfG ChrisB
Der „Hack“ für IE >= 8 heißt selbstverständlich wie üblich, „verlasse den Quirks Mode“.
Haha, danke! :D
War ja mal wieder klar das ich das bei meiner Testseite übersehe!
Problem gelöst!
Vielen Dank ;)