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 :

[Calque] Positionnement relatif


Sujet :

Positionnement en CSS

  1. #1
    Membre habitué Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 133
    Points
    133
    Par défaut [Calque] Positionnement relatif
    Bonjour à tous,

    Je manipule dans un de mes script un calque contenant un calendrier.
    Au chargement de la page, un script Javascript calcule les coordonnées d'un objet de référence par rapport auquel je souhaite placer mon calque calendrier, puis positionne ce calque selon les coordonnées calculées.

    La question que je me pose est, lorsque l'on positionne un calque via Javascript (document.getElementById('monDiv').style.left ...), celui se positionne-t-il par rapport à la fenétre ou par rapport à son objet parent ?

    Car lorsque j'utilise cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var espaceGauche = 200;
    var espaceHaut = 50;
    document.getElementById(objetPos).style.left=espaceGauche;
    document.getElementById(objetPos).style.top=espaceHaut;
    le calque ne se positionne pas de la même maniére sous FF et sous IE.

    Pouvez-vous m'éclairer ?

    Merci d'avance

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    Salut,

    Essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    var espaceGauche = '200px';
    var espaceHaut = '50px';

  3. #3
    Membre habitué Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 133
    Points
    133
    Par défaut
    Merci de ta réponse mais le probléme est toujours le même, la disposition n'est pas la même sur les deux navigateurs.

  4. #4
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2005
    Messages
    357
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Janvier 2005
    Messages : 357
    Points : 537
    Points
    537
    Par défaut
    Est-ce que tu as mis la propriété position:absolute; ?

  5. #5
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Bonjour,
    si tu n'as pas précisé de positionnement relatif pour un des conteneurs, le
    calque enfant positionné en absolute se positionne par rapport au bloc
    conteneur initial c-à-d au viewport (zone de visualisation) qui est définit par
    la norme CSS comme étant le body.

  6. #6
    Membre habitué Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 133
    Points
    133
    Par défaut
    Beeboo : Oui

    Erwan31 : Merci pour cette info mais j'ai quand même une différence de près de 150 px sur la largeur entre FF et IE, ca fait gros comme marge non ? lol

  7. #7
    Membre émérite Avatar de Erwan31
    Profil pro
    Inscrit en
    Février 2008
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 2 177
    Points : 2 444
    Points
    2 444
    Par défaut
    Pourrais tu donner la TOTALIT2 du de ton code XHTML(sans asp/php) et CSS.
    D'autre part tu dois préciser si c'est IE6 ou IE7.

  8. #8
    Membre habitué Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 133
    Points
    133
    Par défaut
    Voici une partie du code :

    Page principale :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <body id="corps" onLoad="positionneElement('affCal','calqueCalendrier')">
     
    ...
     
    <a href="javascript:;" id="affCal" onClick="switchDivVisibility('calqueCalendrier')" style="cursor:pointer">S&eacute;lectionnez une date cible</a>
    <div id="calqueCalendrier" style="visibility:hidden"> <!--  -->
       <script language="javascript">afficheCalendrier(3,2008,'calqueCalendrier','url','gestionInterne.CRA.inc.php');</script>
    </div>
    ...
    Fonction Js :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    function positionneElement(objetRef,objetPos) {
        var espaceGauche = document.getElementById(objetRef).offsetLeft || 0;
        var espaceHaut = document.getElementById(objetRef).offsetTop || 0;
        var objet = document.getElementById(objetRef);
        while (objet = objet.offsetParent) { // On parcours un à un les parents de chaque Objet parcouru et on récupére leur position
    		espaceGauche += objet.offsetLeft;
    		espaceHaut += objet.offsetTop;
        }
    	document.getElementById(objetPos).style.left=espaceGauche;
    	document.getElementById(objetPos).style.top=espaceHaut;
    }

  9. #9
    Membre habitué Avatar de hedgehog
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    295
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 295
    Points : 133
    Points
    133
    Par défaut
    Le probléme est réglé.

    Je n'avais tout simplement pas défini de taille à mon calque

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [POO] Positionnement relatif a un objet
    Par tixweb dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 20/07/2007, 12h52
  2. Pb de positionnement relatif FF/IE
    Par BnA dans le forum Mise en page CSS
    Réponses: 9
    Dernier message: 20/06/2007, 11h42
  3. Différence entre le positionnement relatif et absolu des objets graphiques
    Par pitizone dans le forum Interfaces Graphiques
    Réponses: 2
    Dernier message: 05/04/2007, 13h49
  4. Problème positionnement relatif
    Par bblampain dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 22/02/2007, 12h01
  5. [CSS] Mélange positionnement relatif et absolu
    Par sinok dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 01/06/2006, 17h20

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