Avatar billede mcclaud Nybegynder
05. juli 2012 - 21:30 Der er 3 kommentarer og
1 løsning

Vertikal centrering af div med javascript

Hej alle eksperter

Jeg arbejder på en hjemmeside og vil gerne centrere en div vertikalt - vel at mærke en div uden fastsat højde, fordi mængden af tekst vil variere. Jeg vil gerne, at den let gennemsigtige div altid er vertikalt centreret helt uden i venstre side af skærmen - uanset skærmopløsning og viewport.

Jeg kan forstå, at det kan lade sig gøre at lave sådan en centrering med javascript og vil derfor spørge, om en af jer eksperter kan udvide det eksisterende javascript, så div'en altid står vertikalt centreret i venstre side af skærmen.

HTM: http://www.klarkommunikation.net/TEST/cases-web-bitte-kai-rand.htm

JS: http://www.klarkommunikation.net/TEST/display-toggle-closed.js

:o) mcclaud
Avatar billede DeeDawg Nybegynder
06. juli 2012 - 06:39 #1
Nej, men jeg kan fortælle dig at JavaScript hverken bør eller skal bruges til layout. Siden du ikke kan definere en fast højde er du nødt til at gå over til noget rod i stil med følgende:

<!DOCTYPE html>

<html>
    <head>
        <meta charset="UTF-8" />
        <title>eksperten</title>
        <style type="text/css">
            *{ margin: 0;padding: 0; }
           
            html,body{ height: 100%; }
           
            #container{
                width: 480px;
                height: 100%;
                display: table;
                position: relative;

                background-color: #000;
            }
           
            #inner{
                display: table-cell;
                position: absolute;
                top: 50%;
                vertical-align: middle;

            }
           
            #content{
                position: relative;
                top: 50%;

                color: #fff;
            }
        </style>
    </head>
    <body>
        <div id="container">
            <div id="inner">
                <div id="content">Lorem ipsum dolor sit amet</div>
            </div>
        </div>
    </body>
</html>

Lad mig dog slå fast at det ikke ligefrem er den bedste løsning, og som jeg skrev før, noget rod. Var det mig, ville jeg enten vælge en fast højde eller lade fx PHP udregne højden for mig.

(Det vigtige er markeret med rødt - resten er bare for eksemplets skyld.)
Avatar billede olebole Juniormester
06. juli 2012 - 15:55 #2
<ole>

Helt enig med DeeDawg! Jeg har dog et bud på en tredie vej: At designe til den teknologi, man arbejder med.

Det hensyn skulle efter sigende den primære grund til, at Audi endnu ikke har lanceret fikse, ottekantede hjul  *o)

/mvh
</bole>
Avatar billede mcclaud Nybegynder
07. juli 2012 - 14:25 #3
Hej DeeDawg og olebole

Tak for bidraget DeeDawg og for kommentaren olebole... Hvis du smider et svar DeeDawg, så uddeler jeg med glæde points.

:o) mcclaud
Avatar billede DeeDawg Nybegynder
07. juli 2012 - 23:06 #4
Jamen, det vil jeg da ikke sige nej til. :)
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