Avatar billede thorus Nybegynder
15. juni 2005 - 13:49 Der er 13 kommentarer og
1 løsning

Vertical align middle?

jeg kan ikke få min form input felt til at align middle

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<title>vertical align middle</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" media="screen">
.t {
text-align: center;
vertical-align: middle;
line-height: 50px;
height: 50px;
width: 250px;
position:relative;
background-color: red;
}
</style>
</head>
<body>
<div class="t">søg <input value=sfsdf></div>
</body>
</html>

hvad kan man gør så det virker?
Avatar billede roenving Novice
15. juni 2005 - 13:53 #1
Bruger en tabel-celle, som er det eneste html-element, som understøtter det !-)
Avatar billede thorus Nybegynder
15. juni 2005 - 14:08 #2
der er table frit område der hvor det skal ligge så det vil sige at det eneste man kan gøre er at sætte noget margin etc. på?
Avatar billede roenving Novice
15. juni 2005 - 14:11 #3
Hvorfor er det tabel-frit ?-)

-- men ellers er det rigtigt !-)
Avatar billede skovenborg Nybegynder
15. juni 2005 - 15:03 #4
andre elementer understøtter da også vertical-align... bare på en anden måde. Men i den her sammenhæng er brugen af vertical-align kun meningsfuld i en tabel-celle.
Avatar billede thorus Nybegynder
15. juni 2005 - 15:18 #5
hvad gør folk normalt når de har en div med et form felt som de gerne vil have i midten?
vertical + horizontal
Avatar billede apo Praktikant
15. juni 2005 - 20:58 #6
Hvis din div f.eks. er 100px høj og dit formfelt (input) er 20px højt, kan du sætte en top-margin på 40px:

<input style="margin-top:40px;"...

Derefter burde den sidde i midten (Du kan gøre det samme horisontalt).

Apo
Avatar billede apo Praktikant
15. juni 2005 - 20:59 #7
... Forudsat at du kender både bredde og højde på din div :-)
Avatar billede apo Praktikant
15. juni 2005 - 21:05 #8
Hov, fik først lige set på din HTML nu :-/

Ud fra din HTML ville jeg gøre således:

<html>
<head>
<title>vertical align middle</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" media="screen">
.t {
text-align: center;
vertical-align: middle;
line-height: 50px;
height: 50px;
width: 250px;
position:relative;
background-color: red;
}
</style>
</head>
<body>
<div class="t">søg <input style="margin-top:15px; margin-left:10px; width:230px; height:20px;" value="sfsdf"></div>
</body>
</html>

Apo
Avatar billede olebole Juniormester
16. juni 2005 - 01:32 #9
<ole>

Tabelfrit-område ...?!??!!! Har vi mon her endnu et offer for tabel-o-fobien, der er spredt af uvidende kodere og deres fejlfyldte tutorials?

Enhver, der sætter sig ind i W3C's tekster og baggrundspapirer (og ikke bare rekomendationerne, som jo kun udgør en lille del af det relevante materiale), ved, at der intet er i vejen med at bruge tabeller, når man f.eks. opretter synkrone søjler i et dokument.

Desværre er det ikke rigtig 'in' at sætte sig ind i tingene, hvorfor de færreste gør det. Det største problem er alle de, der oven i købet sætter sig ned og spreder deres misforståelser gennem fejlfyldte tutorials.

Det har skabt en fuldstændig ubegrundet frygt for brugen af tabeller. Det morsomme er, at ikke én eneste endnu har kunnet fortælle mig præcis, hvad det er ved tabellen, der er så frygteligt - og underbygge det med repeterbare eksempler. Men det kan jo være, at dette er situationen  :)

/mvh
</bole>
Avatar billede apo Praktikant
18. juni 2005 - 10:00 #10
... Og så hører vi ikke mere til ham (thorus).

Det er efterhånden blevet Ekspertens varemærke, at en bruger stiller et spørgsmål, andre E-brugere giver sig tid til at svare, og så giver personen ikke lyd fra sig igen :-/

Apo
Avatar billede fab Nybegynder
11. februar 2006 - 16:12 #11
Hej Apo,

Tak for dit svar. Selvom du aldrig hørte fra ejermanden af svaret, så vil jeg bare sig at jeg fik brugt dit svar og at det virker fint i Firefox og Mozilla, i hvert fald til PC (Mac har jeg ikke tjekket endnu).

Så tak fordi du gav dig tid til at svare, og tak fordi du gav et 100% div svar, og ikke blev ved med at insistere på tabeller. Uanset tabel-o-fobi eller ej, så er det rart når selve spørgsmålet bliver besvaret ud fra præmisserne ;)

Kærligst,
Avatar billede olebole Juniormester
11. februar 2006 - 16:23 #12
Det må jo kræve, man er klar over, hvad præmisserne er - og i 70-80% af de spørgsmål, hvor spørgere på E gerne vil have et element vertikalt centreret, er der tale om et element dynamisk indhold/højde - og her er der kun tabellen som løsning.
Bevares, man kan i CSS2.1 sætte 'display:table-cell' på elementet, men så fjerner man sig for alvor fra semantisk kode.

For fuldstændighedens skyld bør det da også nævnes, at apo's løsning ikke kun fungerer i Moz/FF, men i alle gængse browsere under alle gængse platforme  :)
Avatar billede basicq Nybegynder
19. februar 2007 - 15:24 #13
<!DOCTYPE html PUBLIC "-//W3C//DTD xhtml 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
    <title></title>
<style type="text/css">
div {line-height:500px; height:502px; width:500px; text-align:center; background:#000; }
input {vertical-align:middle;}
</style>
</head>
<body>

<div>
<input type=input" /></div>
</body>
</html>
Avatar billede olebole Juniormester
20. februar 2007 - 15:17 #14
basicq >> for det første får du vanskeligt ved at finde en væsentlig browser, der understøtter XHTML1.1 - for det andet bør en løsning vel stadig virke i IE6  ;o)
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