Avatar billede dennism Nybegynder
30. april 2008 - 11:47 Der er 12 kommentarer og
1 løsning

HTML: div - vertical alignment

Jeg har denne div:
<div style="height: 100px;width:60px;border:1px #000000 solid;">Her er noget tekst</div>

Jeg vil gerne have "vertical-alignment" på teksten i div'et. Hvordan klarer jeg det?
Avatar billede w13 Novice
30. april 2008 - 12:04 #1
Der findes vist ikke en normal vertical-alignment-funktion i CSS, så du må gøre sådan her:

<div style="height:100px;width:30px;padding:30px;border:1px #000000 solid;">Her er noget tekst</div>
Avatar billede dennism Nybegynder
30. april 2008 - 12:13 #2
Ja, vertical-alignment fungerer ikke som det gør på tabeller - derfor jeg satte det i anførselstegn.

Da teksten i div'et varierer, er jeg nødt til at have sådan at den sætter det i midten uden at jeg skal definere en padding.
Avatar billede w13 Novice
30. april 2008 - 12:16 #3
Hvad så med:

<div style="height:100px;width:60px;border:1px #000000 solid;">
  <div style="position:relative;top:50%">Her er noget tekst</div>
</div>
?
Avatar billede dennism Nybegynder
30. april 2008 - 12:26 #4
Når jeg ser denne kode i Firefox, så ligger teksten i bunden af div'et :(
Avatar billede dennism Nybegynder
30. april 2008 - 12:27 #5
Avatar billede Slater Ekspert
30. april 2008 - 12:53 #6
Det kan ikke lade sig gøre. På Firefox kan du gøre det ved at sætte margin: auto; - men det virker naturligvis ikke på IE, og derfor er det en dårlig løsning. Hvis du vil have noget med dynamisk indhold centreret lodret, er tabeller eller script den eneste kompatible løsning. Indtil videre.
Avatar billede roenving Novice
30. april 2008 - 13:48 #7
-- eller man kan bruge thebox' deadcentre, som også virker i enkeltstående elementer: http://www.wpdfd.com/editorial/thebox/deadcentre4.html !-)
Avatar billede jokkejensen Novice
30. april 2008 - 14:06 #8
Jeg foretrækker at give div'et en tabel celles egenskaber.

Dybt forkert, men giver flot markup :)

http://www.christianfecteau.com/echo/css_centered_layout/

/JJ
Avatar billede jokkejensen Novice
30. april 2008 - 14:07 #9
:

#outer {
    display: table;
    height: 100%;
    margin: 0 auto;
}

#middle {
    display: table-row;
}

#inner {
    display: table-cell;
    vertical-align: middle;
}
Avatar billede Slater Ekspert
30. april 2008 - 16:59 #10
roenving - Ikke med dynamisk indhold, nej.
Avatar billede roenving Novice
30. april 2008 - 17:08 #11
Nej, det er rigtigt, til det findes der semantisk og kodemæssigt korrekt kun tabelceller !-)
Avatar billede dennism Nybegynder
18. maj 2008 - 14:07 #12
Smider I lige et svar?
Avatar billede dennism Nybegynder
02. juni 2008 - 17:04 #13
.lukker
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