webForumDet fria alternativet

Få något att expanda till 100% av skärmen inuti ett table

HTML & CSS

5 svar · 425 visningar · startad av EmmaW

Medlem sedan apr. 2008152 inlägg
Frågan#1

Hej :)

Jag undrar hur jag kan lägga någon sak (t ex bild eller liknande) inuti ett table (som jag inte sätter någon width på) och få saken att expandera till 100% bredd av skärmen.
Dvs jag vill få tablet till 100% men jag vill inte skriva bredden i table-koden utan skapa bredden men hjälp av någon sak inuti tablet.

Någon som vet hur man gör det? :)

Hälsningar,
Emma

PS: Det låter kanske lite konstigt varför jag vill göra såhär, men jag måste för att det ska fungera på min speciella sida.

Medlem sedan juli 20013 378 inlägg
#2

Hmm..

Generellt går det inte att koppla något till sidbredden med enbart den HTML/css du kan peta in i elementen inuti tabellen via style=... eller width=... om inte du gör det på tabellen också (det beror på att de mått som anges i % hela tiden är relativa de mått som omslutande element har... och en tabell utan breddmått angivet har bredvärdet "auto" - vilket inte är kopplingsbart mot sidbredden)

Kan du använda Javascript på sidan och t.ex. koppla funktioner till <body onload > ?

Medlem sedan apr. 2008152 inlägg
#3

Tack för svar :)

Okey, men det här med javascript och <body onload> är jag inte så duktig på..men kanske jag kan göra det om du förklarar hur? :)

Medlem sedan juli 20013 378 inlägg
#4

OK, kanske...

Men då behöver du ge lite mer detaljer om dun HTML-kod först (och dessutom platsar nog svaret bättre i Javascript-forumet här på wF då ;) )

Hursomhelst - i princip...
Om du har möjlighet att lägga till Javascript-kod på sidan (dvs om orsaken till frågan inte är att tabellen genereras på ett sätt som du inte har kontroll över eller att du har andra begränsningar av vad du får göra som styrs av t.ex. ett publiceringssystem) kan du skriva en funktion som ändrar tabellbredden mha script och knyta den funktionen till onload-eventet på bodyelementet.

Skriptkoden blir antagligen beroende av hur din HTML-kod ser ut (framförallt om tabellen inte har ett ID), så - visa mer HTML-kod så får vi se vem som löser problemet åt dig först :)

Medlem sedan nov. 20051 596 inlägg
#5

Nu vet jag inte om jag missförstått din fråga, men du säger att du inte vill skriva bredd i table-koden. Innefattar det också att du inte kan det i css-filen? Där kan du få table att bli 100% av fönstret med hjälp av t.ex en bild i td.
Om koden ser ut så här...

<table>
<tr>
<th>Kolumn 1</th><th>Kolumn 2</th><th>Kolumn 3</th></tr>
<tr>
<td colspan="3"><img  src="../bilder/karta.jpg" alt="karta över busslinjerna"> </td></tr>
<tr><td>cell 1</td><td>cell2</td><td>cell3</td></tr></table>

Låt oss säga att bilden är 300px i orginal, och tabellen kommer då bli 300px bred. Men låt oss säga att bilden är av sådan bra kvalitet att den går att stretcha...
Om du då slriver i css

table{
clear: both;/*eller float:left; beroende lite på hur resten av sidan ser ut*/
width: 100%;
}

så kommer tabellen fortfarande bli 300px bred(bildens orginal-bredd).
Men om du då
fyller på med

td img{
 width: 100%;
}

så fyller du upp hela fönstrets bredd med bilden.
Stämmer förstås inte helt eftersom tabellen har sina marginaler och paddingar, om du inte nollställt dem tidigare.
Nu utgår jag ifrån att det verkligen är en "data"-tabell och inte design...
Är det design är det bättre med

<div><img  src="../bilder/karta.jpg"></div>

och i css

div img{
width: 100%;
}
Medlem sedan apr. 2008152 inlägg
#6

Tack för svar! :)

Jag ska testa lösningarna, måste bara undersöka en sak först som tar lite tid :)

270 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
130 ms — deklarationer (db)
0 ms — hämta statistik (cache)
138 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)