Soit cforcer la hauteur d'un div à 1 sous ie ou je c pas! [Résolu]

Signaler
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010
-
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010
-
bonjour et merci de votre aide!
simple sous firefox, ça s'affiche "à peu près" comme je le souhaite, parcontre sous ie, au lieu d'avoir des div de 1 de hauteur, il font 19, à ce que j'ai pu comprendre... est-il possible de forcer la taille à un?
voici le code et merci d'avance

<script language="javascript">
function changeOpac(opacity, id)
{
    var object = document.getElementById(id).style;
    object.opacity = (opacity / 100);
    object.MozOpacity = (opacity / 100);
    object.KhtmlOpacity = (opacity / 100);
    object.filter = "alpha(opacity=" + opacity + ")";
//    return object;
}
function gradient(idObjet,end,VouH)
{
//alert("ok");
//if (ropacity > 100 ) ropacity = 100;
height= document.getElementById(idObjet).offsetHeight;
width = document.getElementById(idObjet).offsetWidth;
alert(width +"= document.getElementById(idObjet).offsetWidth;\n"+height+"= document.getElementById(idObjet).offsetHeight-2;");if((VouH 'v')||(VouH 'V'))
{
    for(i = 0; i< height; i++)
    {
        var g = document.createElement('div');
    //    g.style.top=document.getElementById(idObjet).offsetTop;
    //    g.style.left=document.getElementById(idObjet).offsetLeft +i;
        g.style.height = "1px";
        ///g.style.clientHeight = 1;
        //g.style.offsetHeight = 1;
        g.style.width = width + 'px';
        g.style.background = end;
        g.style.opacity = (i/height);
        g.style.filter = 'alpha(opacity=' + i/(height/100) + ')';
        document.getElementById(idObjet).appendChild(g);
        //if(i==1) prop(g)
}}}
</script>
<style type="text/css">
div#band{
    position : absolute;
    width:1200px;
    height:100px;
    left:100;
    top:25;
    background-color:#CCCCFF;
    border: 1px solid Black;}
</style>

    
a Bandeau

    <script language="javascript">
    changeOpac(50,'band');
    gradient("band","#FF0000","v");
    </script>

3 réponses

Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
13
Bonjour,
attention aux héritages des enfants par rapport aux parents qui peuvent être différents d'un navigateur à l'autre, donc il vaut mieux bien préciser ce que l'on veut...

for(i = 0; i< Haut; i++){
  var g = document.createElement('DIV');

  g.style.position = "absolute";  // imperatif sinon
relatif par defaut sauf heritage
  g.style.height = "1px";         // fixe hauteur
  g.style.left = "0px";           // recalage car herite sous IE du left du parent

  g.style.top = i +"px";          // decalage par
rapport au precedent
  g.style.width = Larg + 'px';

  g.style.background = end;
  g.style.opacity = (i/Haut);

  g.style.filter = 'alpha(opacity=' + i/( Haut/100) + ')';

  Obj.appendChild(g);
}
en gros cela doit fonctionner avec
cela...
;O)
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010

Pas mal... Mais, en faites sous ie, ça n'en valais vraiment pas le coup...
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010

si si, ça valais le coup! mais l'effet est + joli sur firefox Merci