Soit cforcer la hauteur d'un div à 1 sous ie ou je c pas!

Résolu
cs_Jbs106
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010
- 6 juin 2008 à 19:22
cs_Jbs106
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010
- 7 juin 2008 à 15:14
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

PetoleTeam
Messages postés
3426
Date d'inscription
lundi 26 décembre 2005
Statut
Membre
Dernière intervention
14 janvier 2011
18
7 juin 2008 à 01:27
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)
3
cs_Jbs106
Messages postés
32
Date d'inscription
mardi 9 septembre 2003
Statut
Membre
Dernière intervention
27 avril 2010

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

7 juin 2008 à 15:14
si si, ça valais le coup! mais l'effet est + joli sur firefox Merci
0