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?
Tabell i tabell
7 svar · 402 visningar · startad av J07
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 :)
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.......
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>
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.
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"> </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 :)
Men cellpadding="1" ger inte så stort mellanrum som det var.