IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

div qui se met au dessus sur IE


Sujet :

Positionnement en CSS avec z-index

  1. #1
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut div qui se met au dessus sur IE
    Bonjour, j'ai un problème de dépassement de div sous IE alors que sous Mozilla, cela marche impecc.
    J'ai trois div, un conteneur, un support et un contenu.
    Le div contenu est un div avec position:absolute
    Le div support est de position:relative avec overflow:hidden
    Le div conteneur est de overflow:auto pour permettre le scrolling.

    Mon bug est que sous IE, le div support s'affiche en dessus de conteneur alors que sous Mozilla les deux divs support et contenu ne dépassent pas le div conteneur.
    Est-ce que quelqu'un pourrait m'aider? voici mon code,
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Document sans nom</title>
    <script language="javascript" type="text/javascript">
    var Timer;
    var Pas = 3;
    function moveLayer(Sens) {
    	Objet=document.getElementById("contenu");
    	/*alert("Objet.offsetWidth="+Objet.offsetWidth+" et support.offsetWidth= "+document.getElementById("support").offsetWidth);
    	alert(parseInt(Objet.style.left) + (Pas*Sens));*/
        if(parseInt(Objet.style.left) + (Pas*Sens)>0)  {
    		clearTimeout(Timer);
    	}
    	else if(parseInt(Objet.style.left) + (Pas*Sens)<-(Objet.offsetWidth-document.getElementById("support").offsetWidth)) {
    		clearTimeout(Timer);
    	}
        else {
            Objet.style.left = (parseInt(Objet.style.left) + (Pas*Sens)) + "px";
    	}
    	Timer = setTimeout("moveLayer(" + Sens + ");", 30);
    }
    </script>
    </head>
     
    <body>
    <div style="height:50px; overflow:auto; background-color:#ccc; border:1px solid gray">
    <div id="support" style="position:relative; background-color:#CCCCCC; width:100px; height:140px; overflow:hidden; border:1px solid #000; left:0">	
    	<div id="contenu" style="position:absolute; top:0; left:0; width:120px; border:1px solid gray;" >
    		DEBUT<br />ligne1<br />ligne2<br />ligne3<br />ligne4<br />ligne5<br />ligne6<br />
    		ligne7<br />ligne8<br />ligne9<br />ligne10<br />ligne11<br />ligne12<br />ligne13<br />
    		ligne14<br />ligne15<br />ligne16<br />ligne17<br />ligne18<br />ligne19<br />FIN<br />
    	</div>
    	<div style="background-color:#0F0; width:22px; height:140px; position:absolute; right:0; border-left:1px solid #000;">
    		<img onmouseover="moveLayer(1);" onmouseout="clearTimeout(Timer);" src="slideup.png" style="cursor:pointer; position:absolute; right:0;" alt="" />
    		<img onmouseover="moveLayer(-1);" onmouseout="clearTimeout(Timer);" src="slidedown.png" style="cursor:pointer; position:absolute; right:0; bottom:0;" alt="" />		
    	</div>
    </div>
    </div>
    </body>
    </html>
    ps:si vous avez Mozilla, vous pourrez voir ce que je veux obtenir.

  2. #2
    Modérateur
    Avatar de blueice
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2003
    Messages
    3 487
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2003
    Messages : 3 487
    Points : 5 134
    Points
    5 134
    Par défaut
    Et en forcant la hauteur du contenu ?

  3. #3
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    non, ca ne marche pas, je veux que lorsque je fais defiler le div conteneur, le div support puisse defiler

  4. #4
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    Salut,

    Honnêtement, j'ai du mal a comprendre ce que tu veux... même en regardant sous mozilla.
    Un petit schéma ne serait pas de trop.

    Je n'en suis pas sur car j'ai pas bien compris ta demande, mais j'ai la sensation que ton html est plus complexe qu'il ne devrait...

  5. #5
    Membre régulier
    Inscrit en
    Janvier 2005
    Messages
    231
    Détails du profil
    Informations forums :
    Inscription : Janvier 2005
    Messages : 231
    Points : 73
    Points
    73
    Par défaut
    voilà où je veux arriver:
    1 - j'ai deux divs div1 et div2. Ces deux divs sont de même hauteur, mais de largeurs différentes
    2 - div2 contient une table dont la largeur est plus large que celle de div2. Donc div2 a une largeur fixe et overflow:auto
    3 - et le scroll vertical doit être unique pour les deux divs, donc je mets les deux divs dans un seul div ou le scrolling est permis.

    Dans le code que j'ai envoyé, il manque juste le div1.

    Je veux controler le scrolling horizontal et laisser automatique le scrolling vertical.Si vous avez testé avec Mozilla , vous voyez que c'est différent que sous IE.

Discussions similaires

  1. Background-image qui se met par dessus les éléments
    Par dev14 dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 12/12/2013, 17h29
  2. Div qui s'empilent les uns sur les autres
    Par kelyly dans le forum Mise en page CSS
    Réponses: 1
    Dernier message: 05/07/2010, 10h40
  3. Treeview qui se met à jour auto sur changement de jour
    Par lilou77 dans le forum Windows Forms
    Réponses: 1
    Dernier message: 21/08/2008, 15h11
  4. image qui s'affiche au dessus avec souris au passage sur un lien
    Par pierrot10 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 18/09/2006, 22h55
  5. Cherche programme ou script qui met un lien sur un nom donné
    Par Mawashigeri dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 13/06/2006, 05h41

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo