style="border: [i]x[/i]px solid #[i]xxxxxx[/i];"
Kanske hjälper dig?
Du kan lägga till så att det även blir t.ex border-left så att kanten vara är på vänstersidan.
6 svar · 274 visningar · startad av ejick
Hej,
jag undrar hur man kan göra om man vill ha en tabell eller ett liknande utseende där man har en tabell och använder cellspacing.
Klassisk htmlkod:
<table width="650" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF"></td>
</tr>
<tr>
<td width="650" bgcolor="#FFFFFF" colspan="5"></td>
</tr>
</table>
Följande kod gör att den stora kolumnen, den som sträcker sig över hela tabellen förskjuts något. Jag vill alltså att alla kolumner hamnar kloss i kloss så att säga.
Möjligheten finns ju att ta bort cellspacing="1" och ändra det till 0 för att sedan lägga in kolumner med 1px tjocklek och annan bakgrundsfärg, men det känns ganska så onödigt.
Ingen som vet hur man gör, gärna med css?
style="border: [i]x[/i]px solid #[i]xxxxxx[/i];"
Kanske hjälper dig?
Du kan lägga till så att det även blir t.ex border-left så att kanten vara är på vänstersidan.
???
I vilka webbläsare får du problemet?
Jag provade din kod i MSIE6 och FireBird/Win (med bgcolor="silver" på table en i varje tabellcell för att de skulle synas)
Inga problem...
Ligger kloss (dvs med sammamellanrum i bägge ledder)
Fast det är klart - du "överspecificerar" ju lite eftersom
1+130+1+130+1+130+1+130+1+130 + 1 <> 1+650+1 <> tabellens 650, så kanke om det eventuellt kan påverka när du har innehåll i tabellcellerna ?
Eller missuppfattar jag problemet på något sätt ?
Mika3l: Jag skall prova detta.
jarvklo: För tillfället är problemet i IE 5.5 men jag har haft det i senare versioner. Koden som återfinns är lite förenklad. Om man fyller mellanrummet med bilder blir det lite konstigt.
Jag kanske skulle skriva lite mer kod, eftersom jag har fortsatt lite..
<table width="650" border="0" cellspacing="1" cellpadding="0">
<tr>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF" colspan="2"></td>
<td width="130" bgcolor="#FFFFFF"></td>
<td width="130" bgcolor="#FFFFFF"></td>
</tr>
<tr>
<td width="650" bgcolor="#FFFFFF" colspan="6"></td>
</tr>
<tr>
<td colspan="3"></td>
<td colspan="3"></td>
</tr>
</table>
Den sista kodsnutten förskjuter en hel del. men det kanske är bättre att göra en ny tabell istället?
Hmm....
Ja då vart det ett annat läge...
Jag har också haft *stora* problem med tabeller där "inte alla celler används" och man kör med "överlappande colspans (som i ditt fall - det finns ingen enskild cell (dvs en utan colspan) som ligger med en kant på mittlinjen)
En lösning är naturligtvis att lägga till en rad med 6 celler... Men den är kanske inte användbar i ditt fall... Även om den lösningen funkar kanonbra!
MEN :i
Man kan ju använda sex stycken <col> till att ställa in samtliga kolumnbredder var för sig...
Vilket löser problemet i Mozilla men inte funkar i MSIE
MEN :i
Sedan kan man ju lägga på table-layout:fixed på tabellen också så att den beräknar cellbredder bara efter första raden...
Och *DÅ* funkar det i MSIE också - i varje fall i "standards mode" som den här koden ställer in både Mozilla och MSIE i:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="sv" lang="sv">
<head>
<title>Ett exempel</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<style type="text/css">
<!--
table {
background-color:navy;
table-layout:fixed;
}
td {background-color:#eeeeee}
-->
</style>
</head>
<body>
<table cellspacing="1" cellpadding="0">
<col style="width:130px" />
<col style="width:130px" />
<col style="width:65px" />
<col style="width:65px" />
<col style="width:130px" />
<col style="width:130px" />
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td colspan="2">&nbsp;</td>
<td>&nbsp;</td>
<td>&nbsp;</td>
</tr>
<tr>
<td colspan="6">&nbsp;</td>
</tr>
<tr>
<td colspan="3">&nbsp;</td>
<td colspan="3">&nbsp;</td>
</tr>
</table>
</body>
</html>
Testa: http://member.webforum.nu/2241/ejicks_sexkolumnerstabell.html
Sedär - så vart det ju till slut en lösning mha mestadels CSS också ju :birp
Tack så mycket för lösningen!
Var det inte klurigare än så? Jag har stött på problemet så många gånger att jag har ansett det som olösligt.. :bire
Jag med - tills jag klurade på ditt problem och råkade få några infall ;)
wF när det är som bäst ! :bire