Avatar billede super-mann Juniormester
03. august 2008 - 16:49 Der er 10 kommentarer og
1 løsning

Centreret med CSS

Hej

Jeg er ved at bygge en hjemmeside, med en bredde på 760 pixel, som skal være centreret. Min udfordring er nu, at jeg bygger hjemmesidens layout med CSS, hvor jeg har givet bestemte <div> en bestemt afstand fra top/kant. Det kan give nogen problemer ifht. en bruger har en anden opløsning osv.

Kan jeg lave en overordnet <div> på 760 pixel i bredden, og så skal de andre holde sig inden for den?

En lille note:
Jeg er nybegynder inden for CSS, men tænkte at jeg hellere må begynde at bruge det til layout på hjemmesider. Håber der er nogen som kan hjælpe, og skære det godt ud i pap :-)
Avatar billede keysersoze Guru
03. august 2008 - 17:00 #1
<div style="width: 760px; margin: auto;"></div>
Avatar billede super-mann Juniormester
03. august 2008 - 17:30 #2
Kan man gøre det samme med nedenstående i min CSS fil? Den skal holde sig inden for denne div på 760 px (egentlig bare være ud til kanten). Skal jeg så fjerne de 3 første linier?

#mainmenu{
    position:absolute;
    top:60px;
    left:200px;
    color:#000;
    font:bold 11px "trebuchet ms";
}
Avatar billede keysersoze Guru
03. august 2008 - 18:02 #3
ja - erstat de 3 første linier med mine to styles.
Avatar billede sibbelone Nybegynder
03. august 2008 - 18:06 #4
Her er css til en standard side
body {
    Font-family: verdana;
    font-size: 11px;
    color: #000;
    margin-top:0px;
    margin-bottom:0px;
    padding:0px;
    background-color: #fff;}

/*Starter selv sideindelingen med de forskellige div boxe*/

/*heunder den box som centrere indholdet på siden*/
.holder {
    position: relative;
    width: 963px;
    height: 20px;
    margin-top: 30px;
    margin-left: auto;
    margin-right: auto;
    }
/*firefox og ie7 hack så siden også udvider sig i de 2 browser*/
html>body .holder {
    min-height: 200px;
    height: auto;
    }

/*heunder den indhold hvor både left og content er inde i dette gør at siden udvider sig*/
.indhold {
    position: relative;
    float: left; 
    width: 957px;
    height: 300px;
    border: 3px solid #94aec4;
    background-color: #fff;
    background-color: #fff;}

/*firefox og ie7 hack så siden også udvider sig i de 2 browser*/   
html>body .indhold {
    min-height: 300px;
    height: auto;
    }

/*heunder den conten  hvor indhold på siden skal sættes ind*/
.content {
    position: relative;
    float: right;  /*skift right ud med left og divboxen vil stå i højre side men kræver at du også ændre .left, der skal float ændres til right*/
    width: 740px;
    height: 10px;
    padding: 10px;
    margin-top: 20px;
    background-color: #fff;}

/*firefox og ie7 hack så siden også udvider sig i de 2 browser*/
html>body .content {
    min-height: 10px;
    height: auto;
    }   

/*heunder toplogo hvor du kan indsætte et bagrundsbilled*/   
.toplogo {
    position: relative;
    float: left;
    width: 957px;
    height: 90px;
    background-color: #fff;
    border-top: 1px solid #94aec4;
    /*herunder kan du indsætte toplogo
    background: url(../image/toplogo.jpg);
    background-repeat: repeat-y;*/}

/*heunder den menu der går på tværs af hele side, hvis du ikke vil have menuen der kan du bare undlade den på siden*/
.menu {
    position: relative;
    font-size: 11px;
    float: left;
    padding: 0px 0px 0px 10px;
    width: 953px;
    height: 20px;
    left: -3px;
    color: #fff;
    border-top: 1px solid #94aec4;
    background-color: #435a6e;
    display: inline;
    z-index: 200;}

/*heunder left indhold , her kan du evt lave menu*/   
.left {
    position: relative;
    float: left; /*skift left ud med right og divboxen vil stå i højre side men kræver at du også ændre content, der skal float ændres til left*/
    width: 155px;
    height: 500px;
    margin-right: 0px;
    padding: 5px;
    background-color: #bbb;
    }

/*firefox og ie7 hack så siden også udvider sig i de 2 browser*/
html>body .left {
    min-height: 500px;
    height: auto;
    }

.bund {
    position: relative;
    font-size: 11px;
    float: left;
    width: 960px;
    height: 20px;
    text-align: center;
    margin-top: 10px; /*styre afstanden op til indhold sættes til 0 hvis man ikke ønsker afstand*/
    margin-bottom: 20px;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid #94aec4;
    }
Avatar billede sibbelone Nybegynder
03. august 2008 - 18:07 #5
Og lidt html/php

<!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" xml:lang="en" lang="en">
<head>
<title>Side med udvid</title>
<link rel="stylesheet" type="text/css" href="site.css" />
</head>
<body>
<div class="holder">
<!--indhold starter her og denne div er den der udvider -->
<div class="indhold">

<!--Toplogo starter herunder-->
<div class="toplogo">Toplogo</div>

<!--Vandrette menu starter her-->
<div class="menu"></div>

<!--Left starter her og kan bruges til alt mulig indhold-->
<div class="left">Venstre

</div><!--Left slutter her-->

<!--Contente starter her-->

<div class="content">Indholdet på siden

</div><!--Content slutter her-->

</div><!--Indhold slutter her-->
</div><!--Holder slutter her-->

<div class="bund">Bund bjælke</div>


</div>
</body>
</html>
Avatar billede sibbelone Nybegynder
03. august 2008 - 18:08 #6
gem css som site.css i samme mappe som siden og det skulle virke
Avatar billede sibbelone Nybegynder
03. august 2008 - 18:08 #7
du skal så lige rette lidt i css for at få en bredde på 760
Avatar billede super-mann Juniormester
03. august 2008 - 19:16 #8
keysersoze --> Tak, smid gerne et svar.
Avatar billede keysersoze Guru
03. august 2008 - 23:43 #9
svar :)
Avatar billede roenving Novice
04. august 2008 - 16:33 #10
-- og hvis du godt vil positionere absolut inde i et centreret element, skal du sørge for, at det også er positioneret, f.eks.

html,body{margin:0;padding:0;}
#site{
  width:760px;
  margin:auto;
  position:relative;/*forudsætning for absolut positionering inde i site-div#mainmenu
}
#mainmenu{
    position:absolute;
    top:60px;
    left:200px;
    color:#000;
    font:bold 11px "trebuchet ms";
}
.cleardiv{/*Bruges til at udvide elementer, selvom indholdet er absolut positioneret eller floatet !-)*/
  clear:both;
  line-height:0;
  font-size:0;
}

HTML:

...
<body>
<div id="site">
  <div id="mainmenu">
    <!-- Menuen -->
  </div>
  <!-- Andre elementer, absolut eller relativt placeret, evt. floatede !-) -->
  <div class="cleardiv">&nbsp;</div>
</div>
</body>
...
Avatar billede roenving Novice
04. august 2008 - 16:36 #11
Ups, jeg fik lavet noget rod med en wndows-tast:

...
#site{
  width:760px;
  margin:auto;
  position:relative;/*forudsætning for absolut positionering inde i site-div'en*/
}
#mainmenu{
...
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