/ Forside / Teknologi / Udvikling / HTML / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
HTML
#NavnPoint
molokyle 11184
Klaudi 5506
bentjuul 3377
severino 2040
smorch 1950
strarup 1525
natmaden 1396
scootergr.. 1320
e.c 1150
10  miritdk 1110
position:absolute -forvirret !
Fra : Thomas L. Pilegaard


Dato : 20-11-04 13:03

Jeg troede at når man brugte position:absolute, så ville div-elementet
pladsere sig med top og left i forhold til den container (div-element)
den var pladseret i.

Men åbenbart er det KUN i forhold til viewporten - altså
browservinduet og det forvirrer mig.

fra http://www.w3.org/TR/CSS21/visuren.html#propdef-position har jeg
taget følgende:
absolute:
The box's position (and possibly size) is specified with the
'top', 'right', 'bottom', and 'left' properties. These properties
specify offsets with respect to the box's containing block.

og ang containing block står der her:
http://www.w3.org/TR/CSS21/visuren.html#containing-block
The phrase "a box's containing block" means "the containing block in
which the box lives," not the one it generates.


Som jeg læser det så skulle en <div> positioneret absolut sætte sig
med absolutte værdier i forhold til den <div> den er pladseret inde i.

Men sådan virker det bare ikke.

Se følgende kode. Skulle være rigtigt skulle box1 og box2 være sat
inde i box1 men det er de ikke

Hvor er det lige at jeg går galt i byen ?

mvh Thomas

PS: eksemplet er valideret og resultatet er det samme i IE, Firefox og
Opera


<?xml version="1.1" encoding="iso-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1.1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="da">
<head>
<title>test</title>
<style type="text/css" media="screen">
body {
   text-align:center;

   background-color:#ffffff;
}
..box1 {
   margin-left:auto;
   margin-right:auto;
   width:300px;
   height:200px;
   background-color:#999999;
}
..box2 {
   position:absolute;
   left:50px;
   top:50px;
   width:50px;
   height:50px;
   background-color:#ff9999;
}
..box3 {
   position:absolute;
   left:150px;
   top:50px;   
   width:50px;
   height:50px;
   background-color:#99ff99;
}
</style>
</head>
<body>
<div class="box1">box 1
   <div class="box2">box 2</div>
   <div class="box3">box 3</div>
</div>
</body>
</html>


 
 
Ryan Kristensen (20-11-2004)
Kommentar
Fra : Ryan Kristensen


Dato : 20-11-04 13:19

On Sat, 20 Nov 2004 13:03:12 +0100, Thomas L. Pilegaard
<dundee@worldonline.dk> wrote:

> Jeg troede at når man brugte position:absolute, så ville div-elementet
> pladsere sig med top og left i forhold til den container (div-element)
> den var pladseret i.

Det vil det også, hvis du sætter position:relative; på den container-div
du har.

--
Ryan Kristensen

Thomas L. Pilegaard (20-11-2004)
Kommentar
Fra : Thomas L. Pilegaard


Dato : 20-11-04 13:30

On Sat, 20 Nov 2004 13:18:44 +0100, "Ryan Kristensen"
<ryankristensen@hotmail.com> wrote:

>On Sat, 20 Nov 2004 13:03:12 +0100, Thomas L. Pilegaard
><dundee@worldonline.dk> wrote:
>
>> Jeg troede at når man brugte position:absolute, så ville div-elementet
>> pladsere sig med top og left i forhold til den container (div-element)
>> den var pladseret i.
>
>Det vil det også, hvis du sætter position:relative; på den container-div
>du har.
OK -- det virker -- men jeg kan ikke se logikken !!?

mvh Thomas

Erik Ginnerskov (20-11-2004)
Kommentar
Fra : Erik Ginnerskov


Dato : 20-11-04 20:47

Thomas L. Pilegaard wrote:

>> Det vil det også, hvis du sætter position:relative; på den
>> container-div du har.
> OK -- det virker -- men jeg kan ikke se logikken !!?

Logikken er, at uden position:relative på den omgivende div, er dokumentets
øverste venstre hjørne det nærmeste faste punkt at positionere noget absolut
efter.

Sættes position:relative på den omgivende div, sætter du et fixpunkt, du kan
positionere noget indeni absolut efter.

--
Med venlig hilsen
Erik Ginnerskov
http://hjemmesideskolen.dk - http://html-faq.dk
http://ginnerskov.frac.dk



Dennis Munding (20-11-2004)
Kommentar
Fra : Dennis Munding


Dato : 20-11-04 13:30

Hej Thomas!

[SNIP]

> body {
> text-align:center;
>
> background-color:#ffffff;
> }

Du skal bare fjerne "text-align:center;" fra ovenstående...

[SNIP (kode)]

--
Med venlig hilsen
Dennis Munding
Webmaster
http://www.skovaa-munding.dk/ & http://www.mundings-memorial.dk/



Thomas L. Pilegaard (20-11-2004)
Kommentar
Fra : Thomas L. Pilegaard


Dato : 20-11-04 13:34

On Sat, 20 Nov 2004 13:30:29 +0100, "Dennis Munding"
<mail@invalid.com> wrote:

>Hej Thomas!
>
>[SNIP]
>
>> body {
>> text-align:center;
>>
>> background-color:#ffffff;
>> }
>
>Du skal bare fjerne "text-align:center;" fra ovenstående...
>
>[SNIP (kode)]
hmmm. nu var det jo egentlig meningen at box1 skulle centrere sig på
siden. Fjerner jeg "text-align:center;" starter box1 jo i vinduets
position 0,0. Som jeg ser det flytter jeg bare box1 på den måde.

Det var jo meningen at box2 og box3 skulle positioneres i forhold til
box1 og i forhold til vinduet. Ved at fjerne "text-align:center;" får
jeg vel bare alle tre boxe positioneret i forhold til øverste venstre
hjørne ??

mvh Thomas

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408946
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste