Toon posts:

Div layer blijft niet gecentreerd

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik wil het volgende bereiken.
Ik gebruik een container layer waar alles in geplaatst wordt.
Ik wil bovenin en onderin een layer hebben.
De onderste layer wil ik echter zo krijgen dat ie altijd onderin blijft staan, ook als de resolutie veranderd of de grootte van het browserscherm veranderd.
Als ik voor de onderste layer "position: absolute" gebruik, lukt dit ook, alleen wordt ie heel vreemd niet in het midden van de container geplaatst.

zie Hier

dit is de code die erbij hoort:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<html>
<head>
<style type="text/css">
div.container {
  background-color: #999999;
}
div.top {
  background-color: blue;
  width: 750px;
  height: 75px;
  top: 0px;
}
div.bottom {
  position: absolute;
  background-color: blue;
  height: 75px;
  width: 750px;
  bottom: 0px;
}
</style>
</head>

<body>
<div class="container" align="center">

<div class="top">
Titel Homepage
</div>

<div class="bottom">
Bottom
</div>

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


Iemand idee wat ik fout doe of hoe probleem op te lossen?

[ Voor 10% gewijzigd door Verwijderd op 15-03-2004 18:18 ]


  • djluc
  • Registratie: Oktober 2002
  • Laatst online: 20:58
Position absolute mag weg.

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

align="center" zou ik sowieso niet gebruiken...

Ik zou gewoon binnen css zorgen dat je content gecentreert word.

Huur mij in als freelance SEO consultant!


  • Ruzor
  • Registratie: Februari 2003
  • Niet online

Ruzor

Off with his head man

code:
1
2
3
4
5
6
7
8
9
10
 #Layer1 {
    position:           absolute;
    width:              50px;
    height:             50px;
    left:               50%;
    top:                50%;
    background-color:   #ffffff;
    margin-left:        -25px;
    margin-top:         -25px
}


Misschien dat je hier iets aan hebt, met deze blijft Layer 1 altijd in het midden (ook als je resized en met een andere resolutie).

[ Voor 165% gewijzigd door Ruzor op 15-03-2004 18:42 ]

[This is what you get when you mess with us]


Verwijderd

Topicstarter
djluc schreef op 15 maart 2004 @ 18:24:
Position absolute mag weg.
Dan plaatst ie de bottom layer niet onderaan de pagina..
CrashOne schreef op 15 maart 2004 @ 18:25:
align="center" zou ik sowieso niet gebruiken...

Ik zou gewoon binnen css zorgen dat je content gecentreert word.
Enig idee hoe ik dit kan doen? enige manier die ik kan bedenken is alles in de container te centreren, maar dan krijg ik zelfde probleem weer.

Verwijderd

Topicstarter
Ruzor schreef op 15 maart 2004 @ 18:32:
code:
1
2
3
4
5
6
7
8
9
10
 #Layer1 {
    position:           absolute;
    width:              50px;
    height:             50px;
    left:               50%;
    top:                50%;
    background-color:   #ffffff;
    margin-left:        -25px;
    margin-top:         -25px
}


Misschien dat je hier iets aan hebt, met deze blijft Layer 1 altijd in het midden (ook als je resized en met een andere resolutie).
Dit werkt bij een kleine layer van 50px, maar als ik een layer van 750px wil dan start ie op de helft en rekt verder 750px uit naar rechts

  • CrashOne
  • Registratie: Juli 2000
  • Niet online

CrashOne

oOoOoOoOoOoOoOoOoOo

Dan pas je de marings aan, maar dit is niet de juiste manier om te centeren, bij lagere resoluties verwijnt er een gedeelte uit beeld waar je niet meer bij kan.

Probeer eens wat met het volgende: body{text-align:center;}layer{position:relative;text-align:left;width:250px;}

Huur mij in als freelance SEO consultant!


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

zo werkt 'ie:

HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<html>
<head>
<title>centreren</title>
<style type="text/css">

html {
    background-color: #999999;
}
body {
    margin: 0px;
    padding: 0px;
    overflow: auto;
    height: 100%;
}

div#outercontainer {
    height: 100%;
    text-align: center;
}
body>div#outercontainer {
    height: auto;
    min-height: 100%;
}

div#container {
    position: relative;
    width: 750px;
    height: 100%;
    margin: 0px auto;
}

div#top {
    width: 100%;
    height: 75px;
    background-color: blue;
}

div#bottom {
    position: absolute;
    left: 0px;
    bottom: 0px;
    width: 100%;
    height: 75px;
    background-color: blue;
}
</style>
</head>

<body>

<div id="outercontainer">

  <div id="container">

    <div id="top">
      Titel Homepage
    </div>

    <div id="bottom">
      Bottom
    </div>

  </div>

</div>

</body>
</html>

Intentionally left blank


  • Bonno
  • Registratie: November 2001
  • Laatst online: 25-01 11:03
crisp schreef op 15 maart 2004 @ 19:07:
zo werkt 'ie:


<knip code>
Crisp, zo werkt het op zich wel, maar ik was het voor mezelf ook gelijk gaan gebruiken omdat ik nog zoek naar een goede oplossing voor copyright (oid) onder elke pagina, maar ik kom er maar niet achter hoe dit te doen is. En ook met jouw code heb je een probleem wanneer de tekst erg lang is, want die loopt door na de 'footer'.
zie hier voor een voorbeeld van wat ik bedoel
Ik ben ervan overtuigd dat dit mogelijk moet zijn maar ik kom er niet uit hoe, want met een relative komt die div helemaal bovenaan staan.

  • DeadMetal
  • Registratie: Mei 2002
  • Laatst online: 20:01
Ik ben nog helemaal nieuw op het gebied van positionering met DIV en CSS maar wil het graag leren. Welke bron kan ik het beste gebruiken om dit te leren? Zijn er enkele goede (beginners) sites hierover?

En ik hoorde dat je beter id in plaats van class kan gebruiken en dan # in de CSS. Is dat waar?

Overigens zie ik in de code staan 'width = 750' voor de top-div. Waar dient dat voor? In mijn browser is hij namelijk niet 750 pixels breed, maar 100% van m'n beeldscherm.
/edit: ah ik zie het al, die regel heeft hij verwijderd.

[ Voor 49% gewijzigd door DeadMetal op 15-03-2004 21:07 ]


  • Bonno
  • Registratie: November 2001
  • Laatst online: 25-01 11:03
Ik heb gewoon besloten mijn eigen site meer style en content gescheiden te houden dus, dan is het simpelweg een kwestie van beginnen en als je tegen problemen loopt opzoeken op http://www.w3.org/TR/REC-CSS2/.
En natuurlijk veel op andere site's in de broncode kijken. En dit soort topics in de gaten houden. In dat stukje code wat Crisp poste zie je al snel wat welke actie doet zonder dat het onduidelijk wordt door de content van een site. Probeer deze code maar eens zelf uit (als dat mag van Crisp, maar daar ga ik wel van uit ;) ) en maak wat wijzigingen en zie wat er gebeurt.

edit:

id gebruik je wanneer een instantie eenmalig voorkomt en een class wanneer het vaker voorkomt. Ook wordt id meestal gebruikt voor de positionering van grote delen, en class is vaak bij kleine delen van je tekst (bijv een deel van de tekst rechts uitlijnen en een ander deel links). Ik weet niet of dit geheel correct is, maar dit hanteer ik meestal :D.
Die width van 750px weet ik eigenlijk ook niet precies, ik merkte wel dat het in dit geval een nadeel geeft wanneer je je venster smal maakt: de tekst blijft niet in het midden gecentreerd staan, Als je dat wel wilt maak je van deze "width: 100%;" dan is het wel okay

[ Voor 37% gewijzigd door Bonno op 15-03-2004 21:19 ]


  • crisp
  • Registratie: Februari 2000
  • Laatst online: 01:01

crisp

Devver

Pixelated

inderdaad; je kan de truuk herhalen voor de containerdiv en er een padding aan toevoegen:

Cascading Stylesheet:
1
2
3
4
5
6
7
8
9
10
11
div#container {
    position: relative;
    width: 750px;
    height: 100%;
    margin: 0px auto;
    padding-bottom: 75px;
}
div#outercontainer>div#container {
    height: auto;
    min-height: 100%;
}

Intentionally left blank

Pagina: 1