webForumDet fria alternativet

text i tabell

9 svar · 618 visningar · startad av rozie

rozieMedlem sedan dec. 2002797 inlägg
#1

jag lyckas inte få texten i en tabell att börja i toppen och gå neråt. har provat skriva valign-top men det funkar inte

OlleBoopMedlem sedan feb. 20001 861 inlägg
#2

Kod tack!

HallgrenMedlem sedan dec. 19991 606 inlägg
#3

i din <td> kör du valign="top" eller kör du css och då kör du blir det ex.

<style type="text/css">
td.top	{vertical-align:top;}
</style>

sen <td class="top">

bossseMedlem sedan juni 2003772 inlägg
#4

jag gjorde för nåt år sedan detta exempel.
Du ser säkert hur det funkar.

<html>
<head>
<style type="text/css"> 
<!-- 
table { width:100%; height:100%; border:red 2px solid; } 
td { border: 2px solid; color:blue;} 
.text1 { border: 2px solid; text-align:right; vertical-align:text-top;} 
.text2 { border: 2px solid; text-align:justify; } 
.text3 { border: 2px solid; text-align:center; vertical-align:text-middle;} 
.text4 { border: 2px solid; vertical-align:text-top;} 
.text5 { border: 2px solid; vertical-align:text-bottom;} 
.text6 { border: 2px solid; text-align:right; vertical-align:text-middle;} 
--> 
</style> 

</head>
<body bgcolor=lightblue>

<table  bgcolor=lightgreen cellpadding="0" cellspacing="0"> 
<tr> 
<td class="text1">Högerställd text, högst uppe</td> 
<td class="text2">Vänsterställd text, vertikalt centrerad</td> 
</tr><tr> 
<td class="text3">Texten centrerad vertikalt o horizontellt</td> 
<td class="text4">Texten högst upp, vänsterställd</td> 
</tr><tr> 
<td class="text5">Texten nertill, vänsterställd</td> 
<td class="text6">Texten högerställd, vertikalt centrerad</td> 
</tr> 
</table> 
</body>
</html>
BrantisMedlem sedan dec. 20011 978 inlägg
#5

bossse skrev:

jag gjorde för nåt år sedan detta exempel.
Du ser säkert hur det funkar.

I Firebird kommer .text5 längst upp till vänster, vilket inte är meningen. :(

dectgapMedlem sedan sep. 20021 655 inlägg
#6

sub, super, text-top, text-bottom
These values do not apply to cells; the cell is aligned at the baseline instead.

http://www.w3.org/TR/REC-CSS2/tables.html#height-layout

Jag ändrade en del i bosses exempel:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<style type="text/css">
table { border-collapse: collapse; background-color: #ccc;}
td { width: 100px; height: 100px; border: 1px solid #000;}
.text1 { text-align: right;  vertical-align: top;}
.text2 { text-align: left;   vertical-align: middle;}
.text3 { text-align: center; vertical-align: middle;}
.text4 { text-align: left;   vertical-align: top;}
.text5 { text-align: left;   vertical-align: bottom;}
.text6 { text-align: right;  vertical-align: middle;}
</style>
</head>
<body>

<table>
  <tr>
    <td class="text1">Högerställd text, högst uppe</td>
    <td class="text2">Vänsterställd text, vertikalt centrerad</td>
  </tr>
  <tr>
    <td class="text3">Texten centrerad vertikalt o horizontellt</td>
    <td class="text4">Texten högst upp, vänsterställd</td>
  </tr>
  <tr>
    <td class="text5">Texten nertill, vänsterställd</td>
    <td class="text6">Texten högerställd, vertikalt centrerad</td>
  </tr>
</table>
</body>
</html>
bossseMedlem sedan juni 2003772 inlägg
#7

Fast denna ändring med fasta mått på td funkar ej om man anger bredd och höjd på tabellen.
Funkar dock om man BARA anger höjd på td.

td { width: 100px; height: 100px; border: 1px solid #000;}

Oavsett om man använder pixel eller procent för tabellstorlek.
Texten kommer inte rätt då!
Man kanske vill ha en tabell som täcker större delen av skärmen.

Egentligen så är det ju raden (tr) som har en höjd, kolumnen (td) får ju automatisk den höjden enl. nedan.
Så därför har jag moddat exemplet lite till .

<style type="text/css">
table {width: 100%; height:90%; border-collapse: collapse; background-color: #ccc;}
tr {height:100px;}
td {border: 1px solid #000;}
.text1 { text-align: right;  vertical-align: top;}
.text2 { text-align: left;   vertical-align: middle;}
.text3 { text-align: center; vertical-align: middle;}
.text4 { text-align: left;   vertical-align: top;}
.text5 { text-align: left;   vertical-align: bottom;}
.text6 { text-align: right;  vertical-align: middle;}
</style>
rozieMedlem sedan dec. 2002797 inlägg
#8

tackar nu funkar det!
men jag dök på ett nytt problem... i tabellen lägger jag inte text som är valign-top och align-justify. problemet är att lägger jag in för mycket text så justerar tabellen sig och blir större... finns det nåt sätt man kan låsa måtten på?

rozieMedlem sedan dec. 2002797 inlägg
#9

behöver ni kodexempel?

dectgapMedlem sedan sep. 20021 655 inlägg
#10

Om du anger en fast bredd för tabellen/kolumnen/cellen kommer texten inte att ändra på bredden, såvida ett enskilt ord inte är bredare än tabellens/kolumnens/cellens bredd. Om du skoningslöst vill klippa ord som är längre än vad de får vara kan du skriva så här:

<table style="table-layout: fixed; width: 100px;">
  <tr>
    <td style="overflow: hidden">Ett superdupermegaenormtjättelångt ord</td>
  </tr>
</table>

Annars kan du välja att visa en scrollist, då innehållet inte får plats:

<table style="width: 100px;">
  <tr>
    <td><div style="overflow: auto">Ett superdupermegaenormtjättelångt ord</div></td>
  </tr>
</table>
122 ms totalt · 3 externa anrop · v20260731065814-full.2b84b982
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
119 ms — hämta tråd, inlägg och bilagor (db)