webForumDet fria alternativet

En vertikalt centrerad bild i en div

HTML & CSS

10 svar · 1 109 visningar · startad av Tjock-Erik

Medlem sedan nov. 2002102 inlägg
Frågan#1

Hur gör man för att centrera innehållet i en div vertikalt. Jag hittar inget med CSS som fungerar.

Medlem sedan dec. 20003 563 inlägg
#2

Funkar <div valign=middle> ?

Medlem sedan nov. 2002102 inlägg
#3

nej

Medlem sedan dec. 20003 563 inlägg
#4

Du kan inte köra i en table då?

<td valign=middle> funkar i alla fall.

Medlem sedan okt. 2001538 inlägg
#5

Ta och titta en bit ned på den här sidan, så har de lite exempel på olika vertikala placeringar:

http://www.devguru.com/Technologies/css/quickref/css_verticalalign.html

Hoppas det kan vara till hjälp.

MVH Patrik

Medlem sedan juni 2003771 inlägg
#6

Med css var det, här mitt förslag.

<html>
<head>
<title></title>
<style type="text/css">
<!--
div {widh:100%; height:100%; background-color:green; border:4px solid black;}
.bild { position:absolute;left:50%;top:50%;margin-left:-150px;margin-top:-120px;}
-->
</style>
</head> 
<body>
<div>
<img src="bild1.jpg" width="300" height="240" class="bild">
</div>
</body>
</html>

Ändra width och height till bildens dimensioner. Du ändrar alltså värden för margin-left/margin-top enl. nedan.
<BR>
Om din bild är 300px bred och 200px hög så blir margin-värdena -150px respektive -100px.
<BR>
Dvs hälften av bildens mått. Bilden ligger då alltid i mitten oavsett upplösning.
<BR>
Om du bara vill centrering åt ett håll så tror jag du kan räkna ut detta själv!
<BR>
Du kan även ta bort div-deklarationen i css-delen.

Medlem sedan nov. 20051 317 inlägg
#7

Hej, ursäkta att jag återupplivar en gammal tråd.

Men jag tycker att bossses förslag är bra, men jag behöver ett som fungerar även om man inte alltid vet storleken på bilden i förväg. Har sökt, men bara hittat kodförslag där man redan vet storleken på bilden.

Medlem sedan jan. 2000978 inlägg
#8

Sökte lite och fann: http://www.brunildo.org/test/img_center.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
   "http://www.w3.org/TR/html4/strict.dtd">
<html lang="sv">
 <head>
  <title>Test</title>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  <style type="text/css">
.wraptocenter {
    display: table-cell;
    text-align: center;
    vertical-align: middle;
    width: 500px;
    height: 500px;
    border:1px solid #000;
}
.wraptocenter * {
    vertical-align: middle;
}
/*\*//*/
.wraptocenter {
    display: block;
}
.wraptocenter span {
    display: inline-block;
    height: 100%;
    width: 1px;
}
/**/
</style>
<!--[if IE]><style>
.wraptocenter span {
    display: inline-block;
    height: 100%;
}
</style><![endif]-->
  </head>
  <body>
<div class="wraptocenter"><span></span><img src="bild.gif" alt="..."></div>
  </body>
</html>
Medlem sedan nov. 20051 317 inlägg
#9

Se där ja! Tack tack så mycket!

Medlem sedan maj 20021 558 inlägg
#10

Stödet för inline-block är väl inte fullständigt va?

Medlem sedan jan. 2000978 inlägg
#11

Nej, det stöds bara fullt ut i Opera 7 tror jag. Det finns ett partiellt stöd i MSIE och det stödet nyttjas i koden tillsammans med det tomma <span> elementet.

263 ms totalt · 4 externa anrop · v20260731065814-full.e96017d9
133 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)