Avatar billede koch Nybegynder
26. oktober 2005 - 17:22 Der er 38 kommentarer og
2 løsninger

to bokse inden i én boks, som skal str. afhægig af begge!

Jeg har lidt problemer med at lave flg. i CSS:

En hoved boks hvori der er to andre minibokse (miniboks1 og miniboks2) som er placeret ved siden af hinanden. Hovedboksens størrelse (højden) skal nu afhænge af størrelsen på de to minibokse, dvs. hovedboksen skal være ligeså høj som den højeste af de to minibokse.

Mit problem er at jeg kun kan få hovedboksens højde til at afhænge af én af miniboksene. Én af miniboksene skal have position:absolute; før jeg kan placere miniboksene ved siden af hinanden og netop dette gør hovedboksen uafhængig af denne.

Kan dette løses kun med css eller skal jeg sætte de to minibokse ind i en tabel?
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 17:59 #1
Jeg havde et tilsvarende problem
Jeg løste det ved at tage "boxen" ud af deres kontrol box og lade dem flyde, således at de begge uafhængit af hinanden skubber til "boxen" under dem.
Du kan se min løsning her http://www.jart.dk/jgom/donweb/setup.html (Er ved at lave den, så ikke meget andet end setup at se på)... måske du kan brug det til noget
min "canvas" og "Mainmenu" ligger ikke i en box for sigselv... men er blot placeret relativ...
Avatar billede koch Nybegynder
26. oktober 2005 - 18:37 #2
Hvordan er det lige jeg gør dette:

"Jeg løste det ved at tage "boxen" ud af deres kontrol box og lade dem flyde"
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 18:50 #3
Dvs...
at den div dine to boxer er i fjener du... således at de begge ligger frit

Du kan kopier mit og give div'ne en borderfarve...så kan du se hvordan de ligger i forhold til hinanden
Avatar billede koch Nybegynder
26. oktober 2005 - 19:15 #4
Hmm. jeg er ikke helt med. Jeg har set på dit, men det bliver jeg ikke meget klogere af. Du har flg.

#mainmenu{ float: right;  margin: 0 32px 0 0; width: 176px; height: auto; z-index: 450; visibility: visible; position: relative; }

#pagecanvas{ margin: 8px 224px 0 64px; width: auto; height: auto; z-index: 500; visibility: visible; position: relative; }


Brugen af float kan jeg ikke få til at virke som du har brugt den. jeg går udfra det er den egenskab der 'fjerner' boksen?

Jeg har flg. (de to minibokse)

#linksleft{
    position:relative;
    height:auto;
    width:80px;
    border:1px solid #2670A3;
    margin-left:5px;
    margin-top:0px;
    margin-bottom:10px;
    padding-right:2px;
    padding-left:5px;
}

#centerframe{
    position:relative;
    height:auto;
    width:480px;
    border:1px solid #2670A3;
    margin-top:0px;
    margin-left:100px;
    margin-bottom:10px;
    padding-left:10px;
}

og lige nu betyder det at centerframe starter ved højre nederste hjørne af linksleft boksen (Naturligt nok når de begge er sat med position:relative;).

Hvorledes vil du så sættte float?
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:29 #5
sådan
#linksleft{
float: left;


>jeg går udfra det er den egenskab der 'fjerner' boksen?

Naaa... ikke helt
De to skal jo placeres placeres i forhold til hinanden...
Ved at float det første element("Box") left vil næste element stå til høre for dette , hvis det næste også er flotet (som mit eksempel med 3 "boxe") vil det tredie element så også står "på line med" de andre...
Det første element efter et ikke floted element vil så "hoppe ned" og starte hvor de andre slutter...
Hos mig er det #pagefoot der bliver skubbet af den højeste af #mainmenu eller #pagecanvas (controletab2 vil aldrig være den størte.. men hvis den var ville #pagefoot starte under den
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:36 #6
Har lige oploadet siden med border så du kan se dem
Avatar billede koch Nybegynder
26. oktober 2005 - 19:44 #7
Hov hov! Det virker i IE men ikke Firefox! Når jeg bruger float:left; i firefox, så afhænger hovedbooks-højden ikke af denne miniboks-højde?
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:47 #8
I mit design ???
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:48 #9
Nej...ikke hovedboksen...den er netop ligegyldig ...
hovedboxen indeholde alle boxe som så står relativ i forhold til hinande
Avatar billede koch Nybegynder
26. oktober 2005 - 19:48 #10
nej mit!
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:49 #11
læg mærke til at mine tre grønne boxe IKKe ligger in en box ...men ligger "løst" lige som de røde..
Avatar billede koch Nybegynder
26. oktober 2005 - 19:50 #12
Min miniboks med float:left; går ud over hovedboksens nederste kant!
Avatar billede koch Nybegynder
26. oktober 2005 - 19:51 #13
så ikke lige din sidste kommentar
Avatar billede koch Nybegynder
26. oktober 2005 - 19:55 #14
Ja det kan jeg godt se, men hvis jeg gerne vil have en boks (for at få en ramme) omkring de to små rammer!
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:57 #15
Har lige oploadet med lidt fler border for at tydeligøre

De røde "boxe" indeholder andre "boxe"
imellem dem er de blå og grønne som er relativ placeret
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 19:58 #16
Den box har je i form af #sitesetup som holder hele siden samlet
Avatar billede koch Nybegynder
26. oktober 2005 - 20:08 #17
Jeg burde måske have fanget det, men!
Hvorfor er det lige at min linksleft ryger ud over den yderste ramme (frame)!

Der ser min sådan ud:

#frame{
    position:relative;
    margin-left:auto;
    margin-right:auto;
    width:600px;
    border-top:6px solid #2670A3;
    border-left:1px dotted #B7B25F;
    border-right:1px dotted #B7B25F;
    padding-top:10px;
    padding-left:0px;
}
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 20:48 #18
Svært at sige uden at se hele koden / siden
Avatar billede koch Nybegynder
26. oktober 2005 - 21:08 #19
Det skal fandme virke ;) så har lige lavet en simpel udgave

    <!--frame-->
    <div id = "frame">
       
      <div id = "linksleft">
      <table>
      <tr><td><h1>Oversigt</h1></td></tr>
    <tr><td align =  "right"><a href = "linksti" title = "link" class = "linkleft">link</a></td></tr>
    <tr><td align =  "right"><a href = "linksti" title = "link" class = "linkleft">link</a></td></tr>
    </table>   
    </div>
   
    <!--centerframe-->
    <div id = "centerframe">
    en masse tekst
   
    <!--slut centerframe-->
    </div>
   
   
   
    <!--bottomframe-->
    <div id = "bottomframe">
    <center>
        Noget tekst i rammen længst til højre.
    </center>
    <!--slut bottomframe-->
    </div>
   
    <!--slut frame-->
    </div>
    </body>
    </html>



Øverst i filen har     <link rel="stylesheet" type="text/css" href="design.css" />

hvor flg. findes

#frame{
    position:relative;
    margin-left:auto;
    margin-right:auto;
    width:600px;
    border-top:6px solid #2670A3;
    border-left:1px dotted #B7B25F;
    border-right:1px dotted #B7B25F;
    padding-top:10px;
    padding-left:0px;
}


#frame{
    position:relative;
    margin-left:auto;
    margin-right:auto;
    height:auto;
    width:600px;
    border-top:6px solid #2670A3;
    border-left:1px dotted #B7B25F;
    border-right:1px dotted #B7B25F;
    font-family:arial;
    color:#2670A3;
    font-size:11px;
    padding-top:10px;
    padding-left:0px;
}

#bottomframe{
    position:relative;
    padding-top:2px;
    height:20px;
    width:600px;
}

#linksleft{
    float:left;
    position:relative;
    height:auto;
    width:80px;
    border:1px solid #2670A3;
    margin-left:5px;
    margin-top:0px;
    margin-bottom:10px;
    padding-right:2px;
    padding-left:5px;
    display:block;
}

#centerframe{
    position:relative;
    height:auto;
    width:480px;
    border:1px solid #2670A3;
    margin-top:0px;
    margin-left:100px;
    margin-bottom:10px;
    padding-left:10px;
}

Håber du kan få øje på noget jeg ikke kan!


Jeg har iøvrigt forsøgt at sætte det hele ind i en tabel (i samme <tr> og <td>) inde i frame-boksen. Det betyder jeg får det ønskede i firefox men et problem i explorer!
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 21:11 #20
du kan ikke oploade den ??
Ville være lidt nemmere da jeg ikke lige kan copi paste fr experten og prøve
Avatar billede koch Nybegynder
26. oktober 2005 - 21:24 #21
Helt sikkert. Hvis du ser på

http://www.hst.aau.dk/~jkpe05/rettelse.html

css-filen er der linket til på siden. Husk det virker i IE men ikke Firefox!
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 21:31 #22
*S*.... kan sige det heller ikke virker på macIE.... Kiger lidt på det
Avatar billede koch Nybegynder
26. oktober 2005 - 21:32 #23
det lyder pokkers godt ;)
Avatar billede electricnet Nybegynder
26. oktober 2005 - 22:16 #24
Hmm .. jeg mener at man kan løse dit problem nemt ved at tage den oprindelige setup og bare give "yderboksen" en overflow:hidden;.

Det plejer at virke mange gange, dog er der nogle gange hvor det ikke gør.

net.
Avatar billede koch Nybegynder
26. oktober 2005 - 22:22 #25
Det her er en af gangene hvor det ikke gør, desværre.
Avatar billede electricnet Nybegynder
26. oktober 2005 - 22:27 #26
Må jeg se din CSS?

net.
Avatar billede koch Nybegynder
26. oktober 2005 - 22:31 #27
http://www.hst.aau.dk/~jkpe05/rettelse.html hvis du klikker på det link der hedder css-filen
Avatar billede electricnet Nybegynder
26. oktober 2005 - 22:35 #28
Behold lige en sikkerhedskopi af det du har nu for en sikkerheds skyld, men jeg fik det til at virke ved at gøre sådan her:

Fjern alle position:relative;
Put overflow:hidden; på #frame
Put clear:both; på #bottomframe

:)

net.
Avatar billede koch Nybegynder
26. oktober 2005 - 22:39 #29
Hehe må jeg nok lige sige ;) Vil du smide en kommentarer til ændringerne, altså hvad overflow og clear gør?
Avatar billede electricnet Nybegynder
26. oktober 2005 - 22:44 #30
Når du floater et element, så ligger det ikke i samme "flow" som almindelige bokse og tekst gør. Så derfor kan det godt ryge ud over kanten af bokse uden at der rigtig sker noget.

clear:both; på footeren gør at den clear'er alle floater inden den begynder at rendere footeren, så den kommer ned på sin plads, og ikke sidder mærkeligt vedsiden af den.

overflow:hidden; fandt jeg ud af at vi faktisk ikke engang behøvede, men det er generelt en god ting som gør at boksen udenpå tilpasser sig indholdet indeni i højden. Noglegange (som jeg nævnte før) gør det dog at tingene som flyder over, bliver cuttet af -- hvilket forøvrigt også giver mening når man kigger på navnet :S -- men i de fleste tilfælde virker det "rigtigt".

net.
Avatar billede koch Nybegynder
26. oktober 2005 - 22:47 #31
det er sgu kanon. Det havde jeg formentlig ikke kommet op med, medmindre jeg havde kigget godt efter i en eller anden syg bog ;)

Tak for hjælpen. Jeg regner med at det er ok i deler pointene, så I smider bare et svar.
Avatar billede electricnet Nybegynder
26. oktober 2005 - 22:48 #32
Ja jeg deler gerne. :)

net.
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 22:51 #33
Har måske flytte lidt på noget tekst ol...men det kan rettes
Dette her virker her
http://home19.inet.tele.dk/jgom/test/virke.html
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 22:53 #34
Åh ja.... clear var vist den jeg ikke fik gjort opmærksom på...*S*
Men den skal selvf. på foden *S*
Avatar billede koch Nybegynder
26. oktober 2005 - 22:56 #35
nåeh, bare clear ;) Mange tak for hjælpen. jesper-moeller, hvis du lige smider et svar også.
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 23:02 #36
Så lidt....håber mit eksemple gav dig lidt ideer ...*S*
Avatar billede koch Nybegynder
26. oktober 2005 - 23:03 #37
Det gjorde det... Tak for det.
Avatar billede jesper-moeller Nybegynder
26. oktober 2005 - 23:06 #38
Takker for point....
Avatar billede electricnet Nybegynder
26. oktober 2005 - 23:07 #39
Selv tak. :D

net.
Avatar billede jesper-moeller Nybegynder
27. oktober 2005 - 03:26 #40
Hov.... en lille ting.... IE mac laver en renderings fejl i teksten i #centerframe, som du undgår ved ikke at give den en position
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