webForumDet fria alternativet

Tabell i tabell

7 svar · 402 visningar · startad av J07

J07Medlem sedan maj 2007172 inlägg
#1

Jag har en tabell i en tabell. Vill att de ska ligga kant i kant uppe i toppen.
Nu hamnar de med ca 2 rader mellanrum trots att inget mellanrum finns eller syns i Dreamweaver. Har försökt få rätt på det med:
margin-top: 0px;
padding-top: 0px;
och olika positions men inget hjälper, vad kan jag göra?

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#2

Och med två rader menar du? Två pixlar eller två tabellrader?
Och för att det ser bra ut i dreamweaver betyder inte att den ser bra ut i webbläsaren.
Ge oss lite kod vettja :)

Danne VMedlem sedan aug. 20068 090 inlägg
#3

Skulle tippa att du måste lägga in "vertical alignment" i cellen som innehåller den nästade tabellen. Som standard läggs nämligen innehållet i en cell vertikalt i mitten:

<td valign="top"><table bla bla bla.......

J07Medlem sedan maj 2007172 inlägg
#4

Testade vertical alignment innan ockå utan resultat...

.stay_on_top {

	margin-top:  0px;
	padding-top: 0px;
	
}
 <table width="500" height="200"  border="1" cellpadding="1" cellspacing="0" bordercolor="#000066" class="stay_on_top">
        
          
            <td width="478"><table width="496" height="300" border="0" cellpadding="1" cellspacing="1" class="stay_on_top">
              
                  <td valign="top"></td>
                    <td valign="top" class="print">1</td>
                <td width="101" valign="top" bordercolor="#000066" class="printText">a</td>
                <td width="101" valign="top" bordercolor="#000066" class="printText">b</td>
                <td width="110" valign="top" bordercolor="#000066" class="printText">c</td>
voigtann1Medlem sedan juni 20019 519 inlägg
#5
.stay_on_top {

	margin-top:  0px;
	padding-top: 0px;
[b]	vertical-align: top;[/b]
}

???

Danne VMedlem sedan aug. 20068 090 inlägg
#6

J07 skrev:

Testade vertical alignment innan ockå utan resultat...

.stay_on_top {

	margin-top:  0px;
	padding-top: 0px;
	
}
 <table width="500" height="200"  border="1" cellpadding="1" cellspacing="0" bordercolor="#000066" class="stay_on_top">
        
          
            <td width="478"><table width="496" height="300" border="0" cellpadding="1" cellspacing="1" class="stay_on_top">
              
                  <td valign="top"></td>
                    <td valign="top" class="print">1</td>
                <td width="101" valign="top" bordercolor="#000066" class="printText">a</td>
                <td width="101" valign="top" bordercolor="#000066" class="printText">b</td>
                <td width="110" valign="top" bordercolor="#000066" class="printText">c</td>

Nej, det där har ju inget med vertical align att göra - bara padding och margin. Dessutom verkar det ju som om du lagt stilen till den "inre" tabellen. Du ska lägga den till cellen som den "inre" tabellen ligger i.

(En sak till: Jag är inte helt säker på att "underscore" funkar problemfritt i alla webbläsare. Men det är en parentes.)

Så här är principen alltså. Antingen i html (beroende på vilken DTD du använder):

<table><tr><td valign="top">
<table><tr><td></td></tr></table>
</td></tr></table>

...eller i CSS:

#topalign {vertical-align:top}
-----
<table><tr><td id="topalign">
<table><tr><td></td></tr></table>
</td></tr></table>

...men jag har dålig erfarenhet av vertikal align i CSS över huvud taget....

EDIT: voigtann1 var snabbare....

EDIT IGEN: Det verkar också som om tabellen är bredare än cellen den ligger i....

EDIT YTTERLIGARE EN GÅNG: JAreMANNEN har hittat både cellpadding och cellspacing också. Nu har du ungefär 5-6 olika skäl till varför det inte blir rätt.

JAreMANNENMedlem sedan aug. 20002 272 inlägg
#7

Med denna kod ligger tabellen i top på sin förälder.

<table width="500" height="200" border="1" cellpadding="0" cellspacing="0" bordercolor="#000066">
	<tr>
		<td width="478" valign="top">
			<table width="100%" border="0" cellpadding="1" cellspacing="1">
				<td valign="top">&nbsp;</td>
				<td valign="top" class="print">1</td>
				<td width="101" valign="top" bordercolor="#000066" class="printText">a</td>
				<td width="101" valign="top" bordercolor="#000066" class="printText">b</td>
				<td width="110" valign="top" bordercolor="#000066" class="printText">c</td>
			</table>
		</td>
	</tr>
</table>

Du hade ju cellpadding="1" på den första tabellen vilket medförde mellanrum.
Tillvägagångssättet känns änna grötigt men det är ju ditt val :)

J07Medlem sedan maj 2007172 inlägg
#8

Men cellpadding="1" ger inte så stort mellanrum som det var.

131 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)