/ 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
Brug af DIV 2
Fra : Thomas Lindgaard


Dato : 27-02-03 11:42

Hej igen

Nu giver jeg op! Nu har jeg siddet i to dage og makket med lidt <DIV>-værk
og jeg kan ikke få det til at virke.

Det jeg gerne vil er illustreret i ASCII herunder:

+---------------------------------+
| |
+------+------------------+-------+
| | | |
| | | |
| | | |
+------+------------------+-------+
| |
+---------------------------------+

Jeg vil gerne have at:
1) Det fylder hele højden af vinduet ud.
2) De tre sidestillede kolonner alle tre er 100% (fraregnet højden af
top og bund) høje så jeg kan lægge forskellige baggrundsfarver på.
3) Bunden enten ligger i bunden af vinduet eller alternativ at den i hvert
fald lægger sig under den højeste kolonne.
4) Det er ren XHTML strict og CSS.

.... kan det lade sig gøre?

--
Hyggehej
/Thomas

 
 
Anders Thorsen Holm (27-02-2003)
Kommentar
Fra : Anders Thorsen Holm


Dato : 27-02-03 13:37

Thomas Lindgaard wrote:
> Jeg vil gerne have at:
> 1) Det fylder hele højden af vinduet ud.

Kan nok ikke lade sig gøre, medmindre der er indhold nok.

> 2) De tre sidestillede kolonner alle tre er 100% (fraregnet højden af
> top og bund) høje så jeg kan lægge forskellige baggrundsfarver på.

Hvis de yderste søjler har en fast bredde, kunne baggrundsfarverne nemt
ordnes ved at pakke alle tre søjler ind i et par div-tags ekstra.


<div id="top">Lidt i toppen</div>

<div id="standardbg">
<div id="venstrebg">
<div id="hojrebg">

<div id="venstresojle">Menuer og andet</div>
<div id="indhold">Selve indholdet</div>
<div id="hojresojle">Højre søjle</div>

</div>
</div>
</div>

<div id="bund">Lidt i bunden</div>

I din CSS har du så noget i den her stil:

#standardbg {
background-image: url("standardbg.gif");
}

#venstrebg {
background-image: url("venstrebg.gif");
background-position: top left;
background-repeat: repeat-y;
}

#hojrebg {
background-image: url("hojrebg.gif");
background-position: top right;
background-repeat: repeat-y;
}


Ovenstående løsning forudsætter, at venstre og højre søjle har fast
bredde, og baggrundsbillederne har dimensioner derefter.

#top og #bund diverne placeres relativt, så dem skal man ikke bekymre
sig så meget om. Positioneringen af de tre søjler er dog lidt mere
tricky - til det kan jeg anbefale

http://www.glish.com/css/


> 3) Bunden enten ligger i bunden af vinduet eller alternativ at den i
> hvert fald lægger sig under den højeste kolonne.

Med ovenstående, ja.

> 4) Det er ren XHTML strict og CSS.

Det burde kunne lade sig gøre med Glish's eksempel sammen med
ovenstående (har ikke selv prøvet, kun en skrabet udgave med to søjler
på min egen hjemmeside)...

> ... kan det lade sig gøre?

Tja, prøv


--
Anders Thorsen Holm | http://www.daimi.au.dk/~zoolook/

Overvejer du at købe en DVD-afspiller? Så hold dig fra Fredgaard!
Læs hvorfor: http://www.daimi.au.dk/~zoolook/?page=fredgaard



Thomas Lindgaard (27-02-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 27-02-03 14:58

"Anders Thorsen Holm" <zoolook.removethis@daimi.au.dk> wrote in
news:b3l0h8$1qd$1@sunsite.dk:

[Snip noget HTML]

> Ovenstående løsning forudsætter, at venstre og højre søjle har fast
> bredde, og baggrundsbillederne har dimensioner derefter.

En interessant ide - den vil jeg lege lidt med senere.

> #top og #bund diverne placeres relativt, så dem skal man ikke bekymre
> sig så meget om. Positioneringen af de tre søjler er dog lidt mere
> tricky - til det kan jeg anbefale
>
> http://www.glish.com/css/

Den kender og elsker jeg - dejlig side :)

>> 3) Bunden enten ligger i bunden af vinduet eller alternativ at den i
>> hvert fald lægger sig under den højeste kolonne.
>
> Med ovenstående, ja.
>
>> 4) Det er ren XHTML strict og CSS.
>
> Det burde kunne lade sig gøre med Glish's eksempel sammen med
> ovenstående (har ikke selv prøvet, kun en skrabet udgave med to søjler
> på min egen hjemmeside)...
>
>> ... kan det lade sig gøre?
>
> Tja, prøv

Ok - i aften.

--
Hyggehej
/Thomas

Lasse Reichstein Nie~ (27-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 27-02-03 13:59

Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> writes:

> Hej igen
>
> Nu giver jeg op! Nu har jeg siddet i to dage og makket med lidt <DIV>-værk
> og jeg kan ikke få det til at virke.
>
> Det jeg gerne vil er illustreret i ASCII herunder:
>
> +---------------------------------+
> | |
> +------+------------------+-------+
> | | | |
> | | | |
> | | | |
> +------+------------------+-------+
> | |
> +---------------------------------+
>
>
> ... kan det lade sig gøre?

Sagtens (nærmest trivielt) i XHTML og CSS. Ikke så nemt hvis det også
skal virke i IE :(.
<URL:http://www.infimum.dk/privat/3col.html>

Designet virker selvfølgelig ikke hvis indholdet er større end boksen,
det er beregnet til at fylde skærmen ud (med mindre man sætter
overflow:scroll/auto på det element der flyder over).

Hvis man accepterer at top, bund og sider har en bredde/højde der er
givet i procenter, så kan man komme tættere på (fordi det er nemt at
regne 100%-20% ud, men ikke 100%-100px).
<URL:http://www.infimum.dk/privat/3col-percent.html>

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Thomas Lindgaard (27-02-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 27-02-03 14:56

Lasse Reichstein Nielsen <lrn@hotpop.com> wrote in
news:4r6pvpzp.fsf@hotpop.com:

> Sagtens (nærmest trivielt) i XHTML og CSS. Ikke så nemt hvis det også
> skal virke i IE :(.
> <URL:http://www.infimum.dk/privat/3col.html>

Uhm ja - er det ikke dejligt med de standardiserede browsere? :)

> Designet virker selvfølgelig ikke hvis indholdet er større end boksen,
> det er beregnet til at fylde skærmen ud (med mindre man sætter
> overflow:scroll/auto på det element der flyder over).
>
> Hvis man accepterer at top, bund og sider har en bredde/højde der er
> givet i procenter, så kan man komme tættere på (fordi det er nemt at
> regne 100%-20% ud, men ikke 100%-100px).
> <URL:http://www.infimum.dk/privat/3col-percent.html>

Jeg er desværre nødt til at kræve en vis højde på top og bund (der skal stå
en linies tekst eller sårn), så det duer ikke hvis disse kan blive smækket
helt flade (når procenterne bliver for små) :(

--
Hyggehej
/Thomas

Thomas Lindgaard (27-02-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 27-02-03 15:06

Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> wrote in
news:Xns932F76DA5146Dthomasitsnedkerendk@130.225.247.90:

> Det jeg gerne vil er illustreret i ASCII herunder:
>
> +---------------------------------+
> | |
> +------+------------------+-------+
> | | | |
> | | | |
> | | | |
> +------+------------------+-------+
> | |
> +---------------------------------+

Hej gutterne (og gutinderne)

Jeg prøvede lige noget (inspireret af Lasse og Anders). Det er noget med at
placere 5 lag og så bare nøjes med at skrive på den del af hvert lag som
ikke er dækket af andre lag.

Det giver dog lidt snavs i HTML'en, idet jeg er nødt til at indlejre en
<DIV> i de tre kolonner for at flytte teksten væk fra de overlappende top-
og bund-div'er (samt at rykke teksten ind fra højre og venstre i
midterkolonnen). Desuden kan jeg ikke få den til at vise scrollbars i
kolonnerne, når teksten fylder for meget - jeg kan ikke lige gennemskue
hvorfor overflow: auto ikke virker...?

Nogen ideer?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html>
<head>
   <title>Untitled</title>
   <style>
      HTML, BODY { height: 100%; padding: 0px; margin: 0px; }
      DIV { margin: 0px; padding: 0px; }
      #top { position: absolute; width: 100%; background-color:
           yellow; color: black; height: 20px; z-index: 3; }
      #left { position: absolute; width: 200px; height: 100%;
           background-color: red; z-index: 2; overflow: auto; }
      #center { position: absolute; top: 0px; left: 0px; width: 100%;
       height: 100%; background-color: fuchsia; z-index: 1;
           overflow: auto; }
      #right { position: absolute; right: 0px; top: 0px; width: 200px;
           height: 100%; background-color: blue; z-index: 2;
           overflow: auto; }
      #bottom { position: absolute; bottom: 0px; width: 100%;
           background-color: cyan; z-index: 3; }
   </style>
</head>

<body>

<div id="top">toppen</div>

<div id="left"><div style="margin: 20px 0px;">venstre</div></div>
<div id="center"><div style="margin: 20px 200px;">midten</div></div>
<div id="right"><div style="margin: 20px 0px;">højre</div></div>

<div id="bottom">bunden er nået</div>
</body>
</html>

--
Hyggehej
/Thomas

Lasse Reichstein Nie~ (27-02-2003)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 27-02-03 16:20

Thomas Lindgaard <thomas@it-snedkeren.BLACK_HOLE.dk> writes:

> placere 5 lag og så bare nøjes med at skrive på den del af hvert lag som
> ikke er dækket af andre lag.

> Desuden kan jeg ikke få den til at vise scrollbars i
> kolonnerne, når teksten fylder for meget - jeg kan ikke lige gennemskue
> hvorfor overflow: auto ikke virker...?
>
> Nogen ideer?

Det er nok fordi scrollbaren er ude til højre og derfor overlappet af
de andre blokke. :)

/L
--
Lasse Reichstein Nielsen - lrn@brics.dk
Ph.D. i datalogi søger stilling som software-udvikler i Øst- eller
Nordjylland. Curriculum Vitae: <URL:http://www.brics.dk/~lrn/cv.html>

Thomas Lindgaard (27-02-2003)
Kommentar
Fra : Thomas Lindgaard


Dato : 27-02-03 17:39

Lasse Reichstein Nielsen <lrn@hotpop.com> wrote in
news:of4xu4x3.fsf@hotpop.com:

> Det er nok fordi scrollbaren er ude til højre og derfor overlappet af
> de andre blokke. :)

Ja det var også min formodning - men jeg kunne ikke lige finde den selvom
jeg undlod at lægge lag oven på...

--
Hyggehej
/Thomas

Søg
Reklame
Statistik
Spørgsmål : 177506
Tips : 31968
Nyheder : 719565
Indlæg : 6408561
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste