Avatar billede pelicanman Nybegynder
14. november 2006 - 21:01 Der er 4 kommentarer og
1 løsning

layout problem

Jeg har et problem med to divs der ikke vil som jeg vil. Det drejer sig om 'left' og 'right' i nedenstående kode. De skal centreres og stå ved siden af hinanden - samtidig med at den røde baggrund er synlig i div'et 'midt'.

Jeg har prøvet at lave er wrapper og så floate left og right, men så forsvinder den røde baggrundsfarve på 'midt' div'et.

Nogen forslag?


*** HTML ***

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="style.css" />
<title>CSS layout</title>
</head>
<body>
<div id="top">
  <div id="bar1">
    Bar 1
  </div>
  <div id="bar2">
    Bar 2
  </div>
</div>

<div id="midt">
  <div id="bar3">
    Bar 3
  </div>
  <div id="left">
    Indhold 1 - venstre
  </div>
  <div id="right">
    Indhold 2 - højre
  </div>
</div>

<div id="bund">
  <div id="bottom">
    Bar 4
  </div>
</div>
</body>
</html>

*** CSS ***

body {
margin: 0;
padding: 0;
}

#top {
margin:0;
padding:0;
width:100%;
background-color: #000099;
}

#bar1 {
margin: 0 auto;
width: 750px;
background-color: #FF3366;
}

#bar2{
margin: 0 auto;
width: 750px;
background-color: #33CC33;
}

#midt {
clear:both;
margin:0;
padding:0;
width:100%;
background-color: #FF0000;
}

#bar3 {
margin: 0 auto;
width: 750px;
background-color: #333333;
}

#left {
margin: 0 auto;
width: 450px;
background-color: #CCFF33;
}

#right {
margin: 0 auto;
width: 300px;
background-color: #0000FF;
}

#bund {
clear:both;
margin:0;
padding:0;
width:100%;
background-color:#000099;
}

#bottom {
margin: 0 auto;
width: 750px;
background-color: #9933CC;
}
Avatar billede stenger Nybegynder
15. november 2006 - 00:01 #1
Prøv at tilføje display:inline; til både #left og #right...

Så skulle de gerne blive sidestillet.

Så kan du jo skabe luft imellem dem og de andre lag enten ved hjælp af evt. padding i CSS´en for #left og #right, eller bare indsætte <br /> i selve HTML'en.

Det virker vist... hvis jeg da har fattet spørgsmålet :)
Avatar billede pelicanman Nybegynder
15. november 2006 - 07:47 #2
Kan stadig ikke få det til at virke :(

Se evt dette billede hvis det er svært at forstå spørgsmålet: http://www.freewebs.com/eksplayer/css_layout.gif
Avatar billede notes2c Nybegynder
15. november 2006 - 12:21 #3
Måske sådan:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>CSS layout</title>
<style type="text/css">
body {
margin: 0;
padding: 0;
}

#top {
margin:0;
padding:0;
width:100%;
background-color: #000099;
}

#bar1 {
margin: 0 auto;
width: 750px;
background-color: #FF3366;
}

#bar2{
margin: 0 auto;
width: 750px;
background-color: #33CC33;
}

#midt {
clear:both;
margin:0;
padding:0;
width:100%;
background-color: #FF0000;
}

#bar3, #indhold {
margin: 0 auto;
width: 750px;
background-color: #333333;
}

#left {
float: left;
margin: 0 auto;
width: 450px;
background-color: #CCFF33;
}

#right {
float: right;
margin: 0 auto;
width: 300px;
background-color: #0000FF;
}

#bund {
clear:both;
margin:0;
padding:0;
width:100%;
background-color:#000099;
}

#bottom {
margin: 0 auto;
width: 750px;
background-color: #9933CC;
}
</style>
</head>
<body>
<div id="top">
  <div id="bar1">
    Bar 1
  </div>
  <div id="bar2">
    Bar 2
  </div>
</div>

<div id="midt">
  <div id="bar3">
    Bar 3
  </div>
  <div id="indhold">
  <div id="left">
    Indhold 1 - venstre
  </div>
  <div id="right">
    Indhold 2 - højre
  </div>
  </div>
</div>

<div id="bund">
  <div id="bottom">
    Bar 4
  </div>
</div>
</body>
</html>
Avatar billede pelicanman Nybegynder
21. november 2006 - 08:12 #4
notes2c: det virker delvist - centreres og floates fint, men den røde baggrundsfarve forsvinder under lagene left og right, og derfor virker løsningen ikke.

Har fundet denne løsning:

***** HTML *****

<div id="container">
  <div id="left">left column</div>
  <div id="right">right column</div>
</div>
<div style="clear:both"></div>


***** CSS *****

#container {
margin: 0 auto;
width: 750px;
}

#left {
float: left;
width: 450px;
background-color: #CCFF33;
}

#right {
float: right;
width: 300px;
background-color: #0000FF;
}
Avatar billede notes2c Nybegynder
21. november 2006 - 09:51 #5
Øh hvad... Det er da ens. Det er klart at at du på et tidspunk vil bryde float'en. At du vælger at gøre det der giver da også mening. Men det er ikke altid lige at gætte sige til hvad hensigten er. Som udgangs punkt gik jeg ud fra at det var #bund som bestemte. Nu vel bare du er tilfreds...
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