Avatar billede hoppe11 Nybegynder
13. oktober 2007 - 16:23 Der er 26 kommentarer og
1 løsning

minimum bredde på kolonne

Jeg har en table med "width:100%".

Hvordan er det muligt at sætte en minimums bredde på nogle af kolonnerne, så felterne ikke er overdimensionerede i forhold til teksten i dem?

Jeg har forsøgt at sætte en "width" og samtidig haft "white-space:nowrap" i tilfælde af at teksten skulle blive breddere end feltets bredde. Men teksten kommer til at opføre sig underligt og højrestiller sig ikke som den skal
Avatar billede w13 Novice
13. oktober 2007 - 17:01 #1
Det skulle være til at klare med eks: min-width:100px
Avatar billede hoppe11 Nybegynder
13. oktober 2007 - 20:31 #2
der sker slet ingenting

bredden forbliver urørt
Avatar billede w13 Novice
13. oktober 2007 - 20:35 #3
Hov vent, skal du ikke bruge en max-width i stedet så, hvis du altså ikke vil have den til at blive for stor?
Avatar billede hoppe11 Nybegynder
13. oktober 2007 - 21:56 #4
nej, for den må gerne blive større end det satte mål. det kommer an på om indholdet bliver større

det har slet ingen effekt at bruge min-width i hvert fald :(
Avatar billede w13 Novice
13. oktober 2007 - 21:59 #5
Så er jeg ikke sikker på, jeg forstår dit spørgsmål. Er kolonnen mindre end det, du har sat min-width til?

Du skriver, at den opfører sig underligt. Kan vi se det på et link evt.?
Avatar billede roenving Novice
14. oktober 2007 - 02:51 #6
-- og så er tabeller og tabelceller grundlæggende indrettet til at vise det, der kommer i, på fornuftigste måde, og det er browseren, der bestemmer, hvad der er fornuftigt ...

-- prøv at bygge det med fastsatte bredder (som så nok vil være lettere at lave med andre elementer, f.eks. divs !-)
Avatar billede hoppe11 Nybegynder
14. oktober 2007 - 09:50 #7
http://electrobeat.dk.linux17.wannafind.dk/v3/_tst.php

Jeg har sat alle kolonner på nær "Subject / From" med "width:1px", og på "Date" og "Size" kolonnerne har lavet "white-space:nowrap".

Målet er alle andre kolonner end "Subject / From" ikke skal blive breddere end indholdet, dog uden det breaker.

Det virker umiddelbart som det skal i FF, men mindre godt i IE. Der findes sikkert en bedre måde at gøre det på så det virker begge steder? :)
Avatar billede w13 Novice
14. oktober 2007 - 14:10 #8
Så lige nu mangler du bare, at alt står på samme linje?

Ved ikke om det gør tricket, men prøv at fjerne de div-elementer, du har i tabellen. Kopier deres style ud i td'erne.
Avatar billede hoppe11 Nybegynder
14. oktober 2007 - 14:19 #9
teksten står som den skal.. subject / from skal stå forskudt..

problemet er bredden på kolonnerne
Avatar billede w13 Novice
14. oktober 2007 - 14:21 #10
Så ser jeg det ikke. =(
Avatar billede hoppe11 Nybegynder
14. oktober 2007 - 15:43 #11
det virker også fint i FF men i IE er bredden forkert i "date" og "size"
Avatar billede w13 Novice
14. oktober 2007 - 16:43 #12
Hvad er forkert ved det? Passer det ikke meget godt til indholdet af cellerne?
Avatar billede hoppe11 Nybegynder
15. oktober 2007 - 16:01 #13
nej, for jeg vil gerne have alle andre rækker end "subject / from" til at være så smalle som det nu er muligt ud fra indholdet
Avatar billede hoppe11 Nybegynder
15. oktober 2007 - 16:55 #14
Nu har jeg næsten fået det til at virke som det skal. Eneste problem er at sidste kolonne ikke vil højrestille sig i IE.

Nej, jeg ved godt det er i småtings afdelingen, men for mig er det et irritationsmoment!  :-/
Avatar billede olebole Juniormester
15. oktober 2007 - 17:49 #15
<ole>

Skriv, hvad du mener! Når du ikke mener, at et element skal være 1px bred, giver det kun problemer at skrive sådan  ;o)
Prøv denne kode i stedet:

<table style="width:100%">
<col><col><col><col><col><col style="width:100px"><col style="width:100px">
  <tr>
    <th class="list_top"></th>
    <th class="list_top"></th>
    <th class="list_top"></th>
    <th class="list_top"></th>
    <th class="list_top">Subject / From</th>
    <th class="list_top">Date</th>
    <th class="list_top right">Size</th>
  </tr>
  <tr>
    <td class="list list_pad"><img src="gfx/icon.msg.png"></td>
    <td class="list list_pad"><img src="gfx/icon.msg_attach.png"></td>
    <td class="list list_pad">G</td>
    <td class="list list_pad"><input type="checkbox" name="id_arr[]"></td>
    <td class="list"><div style="float:left">Hej med dig der</div><div style="float:right">Username</div></td>
    <td class="list list_pad"><div style="white-space:nowrap">Oct-12-2007 19:23</div></td>
    <td class="list list_pad right"><div style="white-space:nowrap;">3,23 KB</div></td>
  </tr>
  <tr>
    <td class="list list_pad"><img src="gfx/icon.msg.png"></td>
    <td class="list list_pad"><img src="gfx/icon.msg_attach.png"></td>
    <td class="list list_pad">G</td>
    <td class="list list_pad"><input type="checkbox" name="id_arr[]"></td>
    <td class="list"><div style="float:left">Hej med dig der</div><div style="float:right">Username</div></td>
    <td class="list list_pad"><div style="white-space:nowrap">Oct-12-2007 19:23</div></td>
    <td class="list list_pad right"><div style="white-space:nowrap;">232223,23 KB</div></td>
  </tr>
</table>

- og lav en ekstra CSS-klasse 'right', der ser sådan ud:

.right {
    text-align: right;
}

/mvh
</bole>
Avatar billede hoppe11 Nybegynder
15. oktober 2007 - 19:13 #16
ole >

nu bliver kolonnerne jo breddere end indholdet
Avatar billede hoppe11 Nybegynder
15. oktober 2007 - 19:15 #17
jeg vil jo gerne have mulighed for at angive en minimums bredde for alle kolonner ud over den ene med emne og navn
Avatar billede olebole Juniormester
15. oktober 2007 - 21:54 #18
Så forstår jeg ikke en brik af din kode. Hvis indholdet ikke må bestemme bredden, hvorfor bruger du så 'nowrap' på 'white-space'? Hvad er det, du ønsker?
Avatar billede hoppe11 Nybegynder
16. oktober 2007 - 06:51 #19
Det er fordi jeg forsøger mig frem, ved ellers ikke hvad jeg skal gøre?

Men alle kolonner for uden "subject / from" skal tilpasse sig indholdet i cellerne og ikke blive breddere end selve indholdet, dog uden at breake det. Derfor "nowrap" :)
Avatar billede hoppe11 Nybegynder
16. oktober 2007 - 06:55 #20
jeg har rettet http://electrobeat.dk.linux17.wannafind.dk/v3/_tst.php tilbage til mig eget forslag, så det i hvert fald bliver vist korrekt i Firefox, men højrestillingen i "size" feltet vil så bare ikke højrestille sig som det skal

der bliver også foreslået at bruge "min-width" til at angive bredden, men det lader ikke til at virke?
Avatar billede hoppe11 Nybegynder
16. oktober 2007 - 06:56 #21
men højrestillingen i "size" feltet vil så bare ikke højrestille sig som det skal i IE*
Avatar billede olebole Juniormester
16. oktober 2007 - 10:15 #22
Nej, det er klart, du ikke kan det med den kode  :)

Med den tabel, jeg skrev ovenfor, kan jeg ikke se, der er noget, der bliver bredere. Div'et udenom har jo stadig samme bredde og begrænser tabellens bredde. Jeg forstår dig stadig ikke
Avatar billede hoppe11 Nybegynder
16. oktober 2007 - 16:08 #23
Jeg har nu lagt dit forslag ind nedenunder

De første 4 kolonner bliver meget breddere end indholdet :-/
Avatar billede olebole Juniormester
16. oktober 2007 - 18:50 #24
Jamen, det beder du jo selv om, når du sætter tabellens bredde til 500px. Har du prøvet at undlade en bredde på tabellen?
Avatar billede hoppe11 Nybegynder
16. oktober 2007 - 20:42 #25
jamen der skal være en bredde på selve tabellen :)

det er måske ikke muligt uden at sætte tabellen til width:1px og så nowrap?
Avatar billede hoppe11 Nybegynder
04. december 2007 - 12:57 #26
olebole >

smid et svar..

når jeg anvender <col style="width:1px"> virker det :)
Avatar billede hoppe11 Nybegynder
23. december 2007 - 11:00 #27
lukker
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester