# "rowspan" verschiebt Tabelle um einige Pixel



## hans_schmid (10. Mai 2005)

Hallo,

ich habe ein kleines Problem mit dem "rowspan" Attribut. Da ich auf meiner Seite verschachtelte Tabellen verwende, muss ich bei den News einige Zeilen verbinden, damit sich auf der anderen Seite die Navigation nicht verschiebt.
Das klappt auch prinzipiell ganz gut, nur wird die Grafik "News" nach einfügen des rowspans um zwei Pixel nach unten und links verschoben.
Besser zu sehen auf den beigefügten Grafiken.

Auf den Quelltext verzichte ich jetzt mal, weil der ziemlich lang wäre...
Ich hoffe mal, dass es da einen einfachen Trick gibt, so dass ich nicht den ganzen aufbau ändern muss...

MfG
Hans


----------



## Yoah (10. Mai 2005)

Moin, 

versuchs mal mit margintop 0px, das könnte dein Prob lösen!


----------



## hans_schmid (11. Mai 2005)

Hallo,

das bringt leider auch keine Verbesserung.

Der Fehler tritt übrigens ausschließlich im IE auf. Die anderen Browser (Opera, Netscape, Firefox, Mozilla) stellen die Seite korrekt dar!

Hat evtl. noch jemand eine Idee, woran das liegen könnte?

MfG
Hans


----------



## Yoah (11. Mai 2005)

Zeig doch bitte mal den Quellcode, bzw. einen Ausschnitt!
Vielleicht kann man da ja etwas erkennen, wo der Fehler liegen könnte.


----------



## hans_schmid (11. Mai 2005)

Ok, dann hier mal der Ausschnitt, der anscheinend Probleme macht:


```
<td height="145" valign="top" rowspan="4">
	<table width="100%" border="0" cellpadding="0" cellspacing="0">
	<tr> 
		<cfoutput>
 	   <TD width="223" height="26" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/#farbe#_header_bg.gif">
	    </cfoutput>   
	<tr> 
    	<td height="4"></TD>
    </tr>
    <tr> 
        <TD width="223" height="10" align="center" valign="top"> <div align="center" class="sub">News</div></TD>
    </tr>
	<tr> 
        <TD height="6"></TD>
    </tr>
	</table>
</TD>
```


----------



## Yoah (11. Mai 2005)

hans_schmid hat gesagt.:
			
		

> ```
> <td height="145" valign="top" rowspan="4">
> <table width="100%" border="0" cellpadding="0" cellspacing="0">
> <tr>
> ...



Das würde ich wie folgt ändern:

```
<td height="145" valign="top" rowspan="4">
	<table width="100%" border="0" cellpadding="0" cellspacing="0">
	<tr>
 	 <TD width="223" height="26" valign="top">
             <table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/#farbe#_header_bg.gif" style="margintop:0px">  
             <tr> 
    	      <td height="4" border="0"></TD>
             </tr>
             <tr> 
               <TD width="223" height="10" align="center" valign="top" border="0">
                <div align="center" class="sub">News</div>
               </TD>
             </tr>
	    <tr> 
              <TD height="6" border="0"></TD>
             </tr>
	    </table>
          </TD>
........
```
Versuchs mal so, ist nen Versuch wert.


----------



## hans_schmid (11. Mai 2005)

Danke für Deine Mühe, aber das Problem is immernoch das gleiche...

MfG
Hans


----------



## Yoah (11. Mai 2005)

fällt mir gerade ein:

Vielleicht hast du dich verzählt, bei den <td>'s, die zusammen gesetzt werden sollen.
Du setzt 4 Stück zusammen, dann müssen konstant bei dem <tr> davor und bei dem
<tr> danach, genau 4 <td> sein.


----------



## hans_schmid (11. Mai 2005)

Also das hab ich auch schon versucht. Allerdings ist 4 der einzige Wert, bei dem das Layout nicht zerissen wird.

MfG
Hans


----------



## c2uk (11. Mai 2005)

Setze in die leeren Tabellenzellen ein transparentes Gif (ursprüngliche Größe 1px x 1px) aber in der jeweiligen Höhe und Größe wie die Zelle sein soll, also dann z.B. so:


```
<TD height="6" border="0"><img scr="images/spacer.gif" alt="" height="6" width="100"></TD>
```
Je nachdem wie breit (width) die Tabellenzelle dann tatsächlich ist, musst Du das anpassen.

Und in dieser Zeilte:

```
<TD width="223" height="26" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0" background="images/#farbe#_header_bg.gif">
```
Scheint noch das Schlußtag </td> zu fehlen.

Generell gilt auch, niemals eine Zelle ganz leer zu lassen, benutze wenn es sein muss &nbsp; für eine Leerzeile.

Anzumerken ist noch, Dein Codestil ist nicht wirklich berauschend, Groß- und Kleinschreibung so zu vermischen ist nicht wirklich gerade hilfreich beim durchforsten des Codes, und dieses komische Tabellenkonstrukt sieht mir auch sehr fehleranfällig aus.


----------



## Yoah (11. Mai 2005)

Du hast vor dem zweiten <table> bei dem <td>eine höhe von 26 angegeben
Und in den <td>'s im <table> kommt auf eine Gesamthöhe von 20, vielleicht liegt es auch daran,
gib, mal bei dem <td> width=20 an


----------



## hans_schmid (11. Mai 2005)

Das funktioniert irgendwie auch nicht wirklich... 
Was mich auch wundert ist, dass es in allen anderen Browsern funktioniert. Somit kann es ja mit den Breiten/Höhenangaben nicht zusammenhängen.
Zumal vor dem Einfügen des rowspan-Attributs ja auch alles einwandfrei gepasst hat...
Sehr merkwürdig   

MfG
Hans


----------



## Yoah (11. Mai 2005)

das doofe an MS-IE ist, dass er eine automatische Fehlerkorrektur intus hat,
doch das hat dann machmal zur Folge, dass er komische Sachen anzeigt.
Einen Rahmen anzeigt, obwohl da keiner ist, hast recht, sehr komisch.
Hast du einen Link, wo man sich die Seite mal anschauen kann?


----------



## hans_schmid (11. Mai 2005)

www.snowed.de 

MfG
Hans


----------



## Yoah (11. Mai 2005)

du hast im linken Menü Programm noch nen <IMG SRC="images/index_23.gif" WIDTH="219" HEIGHT="1" ALT="" > mit drin,
kopiere einfach mal den Tabellen-Kram von Programm an die Stelle der News, vielleicht sieht es
dann wieder anders aus.


----------



## hans_schmid (11. Mai 2005)

Nein, auch das funktioniert nicht   

MfG
Hans


----------



## Yoah (11. Mai 2005)

Schade, also dann fällt mir so langsam nichts
mehr dazu ein, vielleicht komme ich später drauf.


----------

