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 :

Centrer un Div


Sujet :

Centrer un élément en CSS

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut Centrer un Div
    Bonsoir,

    Je fais : style="position:absolute; top:400px; left:369px;...

    Cela fonctionne, mais la page contenant le Div peut se retrouver dans une Frame et alors, le left: part du bord gauche de la frame et plus de l'écran.

    Comment centrer ce Div pour que il soit toujours centré dans l'endroit ou il s'affiche ?

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Billets dans le blog
    20
    Par défaut
    Salut.

    Tu ne pourras pas faire cela en CSS, la seule solution possible, à condition que le contenu de tes frames appartiennent au même domaine que la page parente, sera d'utilser JavaScript pour récupérer la position de la frame dans la page parente puis d'adapter les propriétés style.top et style.left en fonction de cette position.
    Pas de question technique par MP !
    Tout le monde peut participer à developpez.com, vous avez une idée, contactez-moi !
    Mes formations video2brain : La formation complète sur JavaScriptJavaScript et le DOM par la pratiquePHP 5 et MySQL : les fondamentaux
    Mon livre sur jQuery
    Module Firefox / Chrome d'intégration de JSFiddle et CodePen sur le forum

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    Je connais la largeur de ma frame, elle est de 80%.

    Ne peut-on demander 80% du left ?

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    J'ai trouvé une combine !

    Quand la page s'ouvre dans une frame, j'envoi : ?fra=1
    et dans la page, je gère par un if fra == 1...

    Pas élégant, mais cela fonctionne.

    Merci Bovino de m'avoir répondu.

    @ +

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Août 2007
    Messages
    684
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 684
    Par défaut
    J'ai trouvé quelque chose en CSS testé seulement sous IE

    Si cela peut être utile a quelqu'un !
    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
     
    <style>
    body 
    {   
    margin: 0; /* pour éviter les marges */   
    text-align: center; /* pour corriger le bug de centrage IE */ 
    }
     
    #id_du_div
    { 
    margin:-140; /* = la moitié de la largeur du Div */
    width:280; 
    top:520; 
    text-align: left; /* on rétablit l'alignement normal du texte */ 
    }
    </style>

  6. #6
    Membre Expert
    Avatar de Candygirl
    Femme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 912
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 53
    Localisation : Suisse

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 912
    Par défaut
    Hello,

    Citation Envoyé par malabarbe Voir le message
    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
     
    <style>
    body 
    {   
    margin: 0; /* pour éviter les marges */   
    text-align: center; /* pour corriger le bug de centrage IE */ 
    }
     
    #id_du_div
    { 
    margin:-140; /* = la moitié de la largeur du Div */
    width:280; 
    top:520; 
    text-align: left; /* on rétablit l'alignement normal du texte */ 
    }
    </style>
    Ce code en l'état ne peut pas fonctionner pour plusieurs raisons:

    - Il manque les unités.
    - Ton div n'est pas positionné, top n'aura donc aucun effet sur les navigateurs respectueux des standards.
    - Ce principe joue sur le faite que IE (du moins les vieilles versions) centre par défaut un élément en absolute lorsqu'un text-align:center est attribué à un ancêtre. Ce comportement n'est pas standard et donc ne fonctionnera pas sur les autres navigateurs.
    Les bons réflexes:
    • avant de poser une question:
      règles | faq | tutoriels | recherche
    • clarté, politesse, vocabulaire et orthographe soignés = efficacité
    • remercier ceux qui ont pris le temps d'aider et :resolu: si c'est le cas

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

Discussions similaires

  1. Centrer un div
    Par Anduriel dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 19/01/2006, 23h19
  2. Centrer un div...
    Par Davboc dans le forum Balisage (X)HTML et validation W3C
    Réponses: 12
    Dernier message: 16/01/2006, 22h57
  3. Centrer la DIV
    Par SangKou dans le forum Balisage (X)HTML et validation W3C
    Réponses: 16
    Dernier message: 20/12/2005, 02h04
  4. [CSS][CrossBrowser] Centrer de divs
    Par francky356 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/11/2005, 14h39
  5. Centrer une <div> en position fixe sous IE
    Par Jorus dans le forum Mise en page CSS
    Réponses: 8
    Dernier message: 23/09/2004, 15h29

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