Avatar billede neoman Novice
09. maj 2007 - 00:43 Der er 14 kommentarer og
2 løsninger

Positionere 3 tabeller ..grrr

Nu har jeg bakset med det længe nok til at vide, at der skal indkaldes noget expertise til et simpelt problem :

Tre tabeller : Tabel A, Tabel B og Tabel C.

De skal på siden fremstå som følger:

Tabel A    Tabel B 

Tabel C

Ønsker
1. Oversiden af tabel B flugter med oversiden af Tabel A
2. Der er lidt mellerum mellem Tabel A og Tabel B
3. Tabel C ligger under Tabel A, og begges  venstrekanter flugter.


Jeg kan få det til at virke i IE med nedenstående div'er - i FF farer min Tabel C rundt, og der er 0 mellemrum mellem Tabel A og Tabel B.

jeg har
<div style="font blabla - ingen andre parametre ">
  <div style="width:1200;">
        <div style="width:auto;float:left;"> tabelA </div>
        <div> Tabel B </div>
    </div>
    <div> Tabel C </div>
</div>
Avatar billede roenving Novice
09. maj 2007 - 02:46 #1
F.eks.

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Tomt dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
html,body{height:100%;margin:0px;border:0px;padding:0px;font-family:tahoma,verdana,arial,sans-serif;font-size:small;}
</style>
<script language="javascript" type="text/javascript">
</script>
</head>
<body>
<div class="site">
  <div style="width:900px;">
        <div style="width:600px;float:left;background:#faf;"> tabelA </div>
        <div style="width:300px;float:left;background:#aff;"> Tabel B </div>
    </div>
    <div style="width:900px;background:#ffa;"> Tabel C </div>
</div>
</body>

</html>
Avatar billede roenving Novice
09. maj 2007 - 02:47 #2
width:auto; vil altid være en dødsejler, hvis du skal bruge floats ...
Avatar billede trav4u2 Juniormester
09. maj 2007 - 08:27 #3
Og hvis du gerne vil have luft mellem A & B kan du bare lægge en ekstra div ind så din body ser sådan ud:

<div class="site">
  <div style="width:900px;">
        <div style="width:600px;float:left;background:#faf;">Tabel A</div>
        <div style="width:10px;float:left;background:#fff;">T</div>
        <div style="width:290px;float:left;background:#aff;">Tabel B</div>
    </div>
    <div style="width:900px;background:#ffa;">Tabel C</div>
</div>
Avatar billede mclemens Nybegynder
09. maj 2007 - 09:54 #4
... Eller man bare sænke width på tabel a eller b og så floate b til højre istedet.
Eller sænke den ene width og kaste noget margin-right på a eller margin-left på b.
- Et ekstra element for at lave lidt afstand burde ikke være nødvendigt.
Avatar billede trav4u2 Juniormester
09. maj 2007 - 10:33 #5
mclemens > Jeg smed det ekstre element ind for at undgå at det tomme felt arvede C's baggrund i Firefox :-)
Avatar billede mclemens Nybegynder
09. maj 2007 - 10:51 #6
Hehe ;) Det havde jeg ikke set, nåh så vil jeg
anbefale at tabel c cleares, den luskede ræv :P

<div class="site">
  <div style="width:900px;">
        <div style="width:600px;float:left;background:#faf;">Tabel A</div>
        <div style="width:290px;float:right;background:#aff;">Tabel B</div>
    </div>
    <div style="width:900px;clear:both;background:#ffa;">Tabel C</div>
</div>
Avatar billede neoman Novice
09. maj 2007 - 16:44 #7
jeg har følgende i min masterpage (som bl.a. min tabel-side arver fra), og er lidt uvillig til at ændre det, siden jeg ikke kan overskue konsekvenserne for de andre sider :-)
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

med ovenstående har jeg stadig nøjagtigt det samme problem efter at have skrevet det som roenving 02:46:25 . I øvrigt, om den første "underDIV" står til width:auto eller width:et_tal_px gør ingen forskel (og jeg kan bedre lide auto, siden min tabel varierer i bredden efter postback)  -er der noget problem i det ?

Måske har jeg lavet en tyrkfejl - jeg kigger på det igen meget senere i aften . Hvis jeg ikke kan få det til at funke så laver jeg vel en tabel udenom hele molevitten i stedet for DIVs

..to be continued (at a workstation near you:-)
Avatar billede mclemens Nybegynder
09. maj 2007 - 18:03 #8
Tjah, width:auto; har ikke den store betydning
der, den vil være auto, når den er floatet ... ulempen
er dog at tabel b kan blive ret lille tilsidst ...

Dertil så kommer problemet med at b vil fylde minimum den
mindste tekst streng til højre for a og baggrunden fra b
vil ryge ind under a, kan løses med trav4u2's ekstra element,
såfremt du ved hvilken højde det skal være - og så vil resten
af b's indhold blive wrappet rundt om a, da det er et floatet
element - og så forårsage at c rykker længere ned.

M.h.t. at dit c element hopper, så prøv at kaste
en clear:both; på den som i 09/05-2007 10:51:46.

Så svaret på: "I øvrigt, om den første "underDIV" står til width:auto eller width:et_tal_px gør ingen forskel (og jeg kan bedre lide auto, siden min tabel varierer i bredden efter postback)  -er der noget problem i det ?" Er som nedenstående eksempler viser et ja. Medmindre jeg har overset noget, som Roenving eller trav4u2 fanger istedet.

... Men hvis baggrunder er ens og det wrapping
er ønsket eller ikke opstår på siden - grundet indholdet
gør at det passer, så er der vel ikke rigtigt nogle problemer.


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da"><head><meta http-equiv="content-type" content="text/html; charset=iso-8859-1" /><meta name="robots" content="noindex, follow" /><meta http-equiv="content-language" content="da" /><link rel="stylesheet" type="text/css" href="css.css" /><title>a</title></head><body>
<div id="outer">
  <div id="ab">

        <div id="a">Tabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel aTabel avv</div>

        <div id="b">Tabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel BTabel Bv</div>

  </div>

  <div id="c">Tabel C</div>

</div>
</body></html>



css uden width på element med id a:

#outer {font:12px arial,sans-serif;}
#ab {width:1200px;}
#a {background:#ddd;float:left;margin-right:20px;}
#b {background:#aaa;}
#c {background:#888;clear:both;}



css med width på element med id a:
#outer {font:12px arial,sans-serif;}
#ab {width:1200px;}
#a {background:#ddd;float:left;width:600px;margin-right:20px;}
#b {background:#aaa;}
#c {background:#888;clear:both;}
Avatar billede mclemens Nybegynder
09. maj 2007 - 18:08 #9
Apropo xhtml har du læst Olebole's artikler:
http://www.eksperten.dk/artikler/537
http://www.eksperten.dk/artikler/538

Ved ikke hvordan du leverer din xhtml, om du leverer som
html eller xhtml, men kig på denne for levering som xhtml:
http://www.eksperten.dk/spm/719030#rid6329210
Avatar billede neoman Novice
11. maj 2007 - 19:48 #10
Jeg siger mange tak til jer begge - læg et svar. (blev forsinket pga. andet "bughunt:-))

Jeg har fået det til at funke begge steder med følgende:
<div style="font blabla - ingen andre parametre ">
  <div style="width:1200;">
        <div style="width:auto;float:left;"> tabelA </div>
        <div> <Tabel B style="margin-left:20px"> </div>
    </div>
    <div style="clear:left;"> <Tabel C style="margin-top:20px"> </div>
</div>
Avatar billede neoman Novice
11. maj 2007 - 19:49 #11
øh - jeg mener alle 3 :-)  .. og skal nok lige ha kigget på de artikler som mclemens linker til
Avatar billede mclemens Nybegynder
11. maj 2007 - 19:52 #12
Hehe, nu jeg alligevel laver reklame for Ole's gratis artikler så glem
ikke denne, hvis du nørder med js: http://www.eksperten.dk/artikler/227 .
Avatar billede trav4u2 Juniormester
12. maj 2007 - 00:56 #13
Jeg deltog kun med en parantes; så jeg springer over points :-)
Avatar billede roenving Novice
12. maj 2007 - 12:47 #14
Velbekomme '-)
Avatar billede mclemens Nybegynder
12. maj 2007 - 13:01 #15
Og tak for point :o)
Avatar billede roenving Novice
12. maj 2007 - 22:54 #16
-- også jeg takker for point ;~}
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