Avatar billede christoffer535 Nybegynder
06. december 2010 - 17:29 Der er 19 kommentarer og
1 løsning

Div layout med CSS

Jeg skal have placeret 2 div tags ved siden af hinanden. Det er i sig selv ikke noget problem med float...
Men jeg vil gerne have det lavet, så jeg undgår at det højre div tag flytter sig ned under det venstre hvis jeg resize'er vinduet. I stedet skal der komme en scrollbar i bunden...

Nogen der kender en løsning?
Avatar billede christoffer535 Nybegynder
06. december 2010 - 17:32 #1
Højden på de to div tags skal også være ens. Så det vil sige, at selvom der er mere indhold i venstre, så skal den højre følge med...
Avatar billede christoffer535 Nybegynder
06. december 2010 - 17:57 #2
Jeg har fundet en løsning på problemet med at den den højre div flytter ned under den venstre.
Hvis andre skulle være interesseret er det noget lign det her...

<div id="container">
  <div id="venstre" style="float: left;"></div>
  <div id="højre" style="float: left;"></div>
  <div style="clear:both;></div>
</div>

Jeg manglede den sidste div med clear:both;.

Nu mangler jeg bare at højre og venstre div er lige høje. Nogle bud?
Avatar billede majbom Novice
06. december 2010 - 18:55 #3
height eller min-height
Avatar billede majbom Novice
06. december 2010 - 18:55 #4
overflow: auto

evt.
Avatar billede christoffer535 Nybegynder
06. december 2010 - 19:08 #5
Der er dynamisk indhold i begge divs, så de skal begge have samme højde som den højeste... Giver det mening??
Avatar billede majbom Novice
06. december 2010 - 19:14 #6
ja det gør det, men det tror jeg ikke du kan uden hjælp fra javascript...
Avatar billede christoffer535 Nybegynder
06. december 2010 - 19:29 #7
Trist.

Jeg lavede en hurtig test med noget js, jeg lavede en funktion i head, som tog to div tag id'er som parametre. I funktionen lavede jeg en alert der udskrev højden på mine div tags.

Jeg kaldte funktionen fra bunden af body, men alert'en var blank, den kunne ikke finde højden.

Så prøvede jeg at sætte en højde på mine div tags, så kunne den godt skrive den ud.

Ved du hvordan jeg får fat på højden efter browseren har renderet siden?
Avatar billede majbom Novice
06. december 2010 - 19:48 #8
hvordan så din js-kode ud?
Avatar billede christoffer535 Nybegynder
06. december 2010 - 20:00 #9
Den er slettet igen, men noget lign. det her...

function getMaxHeight(leftDiv, rightDiv){
  var leftDivHeight = document.getElementById(leftDiv).style.height;
  alert(leftDivHeight);
}

og så kaldte jeg den i bunden af body med div id'er.
Avatar billede majbom Novice
06. december 2010 - 21:21 #10
style.height er kun defineret, hvis den er sat med CSS - for at finde den genererede højde skal du bruge offsetHeight
Avatar billede christoffer535 Nybegynder
06. december 2010 - 21:26 #11
Cool, det prøver jeg i morgen. Jeg vender tilbage når jeg har forsøgt mig...
Avatar billede Slettet bruger
07. december 2010 - 11:42 #12
Her er en løsning uden javabøvl ;) http://finks.dk/css.html
Avatar billede majbom Novice
07. december 2010 - 12:23 #13
-> finkagain - ja selvfølgelig (men der er nu aldrig nogen der har snakket om java ;) )
Avatar billede Slettet bruger
07. december 2010 - 13:22 #14
Mente også javascript. Kalder det bare javabøvl, fordi jeg altid har problemer med det ;)
Avatar billede christoffer535 Nybegynder
08. december 2010 - 09:21 #15
@finkagain:
Det virker til at være en meget nem løsning. Det eneste jeg mangler nu, er mellemrum mellem de 2 divs. Jeg har fundet border-spacing som kan sættes på container div, men jeg er interesseret i kun at sætte fx. border-spacing-right, den findes bare ikke.
Kender du en løsning på det?
Avatar billede majbom Novice
08. december 2010 - 09:54 #16
margin-right på den venstre div, eller margin-left på den højre :)
Avatar billede Slettet bruger
08. december 2010 - 13:34 #17
Du kan desværre ikke bruge margin, når dine divs er sat som display: table-cell;

Prøv med:

    border-right-width: 5px;
    border-right-style: solid;
    border-color: #FFF;

og

    border-left-width: 5px;
    border-left-style: solid;
    border-color: #FFF;

.. du kan selvfølgelig bare ændre border-color ;)

Men jeg har lige fundet ud af, at table og table-cell værdierne ikke virker i IE 6 og 7 + IE til mac 5.2 :(
Avatar billede christoffer535 Nybegynder
08. december 2010 - 21:39 #18
Ja det fandt jeg også ud af...:(

Jeg fandt en løsning med med noget javascript, og det virkede... troede jeg... Firefox var ikke noget problem, men IE ødelagde det for mig. Lang historie, men det jeg skal lave skal bruges som en lille del af et rigtig stort site, og da jeg satte det hele sammen virkede det ikke længere i IE:(

Jeg har indtil videre opgivet og bare sat en højde på mine divs. Tager nok kampen op senere...

Smid nogle svar, så fordeler jeg nogle point...
Avatar billede majbom Novice
08. december 2010 - 21:55 #19
jeg springer over..
Avatar billede Slettet bruger
09. december 2010 - 11:08 #20
Nu har jeg fundet ud af hvordan det kan gøres: http://finks.dk/css2.html

Du kan læse om det her http://www.ejeliot.com/blog/61
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