Avatar billede groyk Novice
29. juni 2009 - 21:32 Der er 5 kommentarer og
1 løsning

vertical-align

Hej

Kan ikke rigtigt bruge CSS til vertical align af nogle billeder, da højden er variabel.

Hvordan kan dette løses med JS?

Gerne et lille eksempel eller link.

siden hvor det kan ses live kan ses her (test server)
www.multipumpen.mine.dk/have
Avatar billede groyk Novice
29. juni 2009 - 21:33 #1
HOV FORKERT LINK!!

HER ER DEN RIGTIGE
www.multipumpen.mine.nu/have
Avatar billede rbl Praktikant
29. juni 2009 - 23:26 #2
Mener du f.eks.
document.getElementById('imgId').style.verticalAlign="bottom";
Avatar billede groyk Novice
30. juni 2009 - 07:19 #3
Nej

Jeg har i mit stylesheet følgen linie i mit <li>

vertical-align: middle;

Problemet er at det ikke centrere billedet inden i <li> tror faktisk ikke det kan lade sig gøre med CSS.

Det jeg søger er noget js der læser billedets højde, og bruger dette til at lave centreringen med.
Avatar billede dotnewbi Juniormester
01. juli 2009 - 23:32 #4
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<style type="text/css">
#imagebox{
position:absolute;
top:0px;
left:0px;
}
</style>
</head>

<body>


<div id="imagebox">
<img src="kl/2_thumb.jpg" />
</div>
<script type="text/javascript">
setImageBox();
function setImageBox(){

floatDivWidth = document.getElementById("imagebox").offsetWidth;
floatDivHeight = document.getElementById("imagebox").offsetHeight;

if (typeof (window.innerHeight) == 'number') {
        windowHeight = window.innerHeight;
    }
    else {
        if (document.documentElement && document.documentElement.clientHeight) {
            windowHeight = document.documentElement.clientHeight;
        }
        else {
            if (document.body && document.body.clientHeight) {
                windowHeight = document.body.clientHeight;
            }
        }
    }


    if (typeof (window.innerWidth) == 'number') {
        windowWidth = window.innerWidth;
    }
    else {
        if (document.documentElement && document.documentElement.clientWidth) {
            windowWidth = document.documentElement.clientWidth;
        }
        else {
            if (document.body && document.body.clientWidth) {
                windowWidth = document.body.clientWidth;
            }
        }
    }


  var floatDivLeft = ((windowWidth - floatDivWidth)/2);
  var floatDivTop = ((windowHeight - floatDivHeight)/2);
 
  document.getElementById("imagebox").style.top = floatDivTop + "px";
  document.getElementById("imagebox").style.left = floatDivLeft + "px";
 

}
</script>
</body>
</html>
Avatar billede dotnewbi Juniormester
01. juli 2009 - 23:47 #5
Funktionen placer imagebox'en i browser vinduets absolute centrum.
Hvis du ønsker at billedet bliver replaceret hvis browser vinduet bliver resized skal du bare sætte dit body tag til at se sådan her ud <body onresize="setImageBox()">. Vigtigt !! javascriptet skal for at virke kaldes efter at "imagebox" div'en er angivet i html koden.
Avatar billede groyk Novice
07. juli 2009 - 14:24 #6
Takker, det var brugbart!
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