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

JavaScript Discussion :

Centrer un élément


Sujet :

JavaScript

  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut Centrer un élément
    Bonjour,
    je chercher à centrer un élément en javascript... J'ai essayé:
    divMajReval.style.top = document.documentElement.scrollTop + ( screen.availHeight - 500 ) / 2 + 'px';
    (500 est la hauteur de l'élément que je veux centrer).

    Ca fonctionne assez bien sauf quand je modifie la taille du navigateur pour qu'elle ne soit pas maximale: dans ce cas, screen.availHeight ne change pas, donc mon div est beaucoup trop bas)... J'ai aussi essayé à la place de screen.height mais c'est idem...

    Comment faire?

    Merci!

    Raf

  2. #2
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ton élément est positionné en absolute ??
    si oui la méthode la plus simple, est de le placer en fixe ( +patch pour combler les bug sous ie ) et de le positionner en css exemple pour une div de 200px de largeur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    .centrer{
    width:200px;
    height:200px;
    position:fixed;
    margin-left:50%;
    left:-100px;
    }

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    Salut et merci pour ta réponse!
    Désolé pour mon ignorance, mais qu'entends tu par patch?

    Merci!

    Raf

  4. #4
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    ie 6 ne prennant as en compte la position fixed il faut feinter :


    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
     
    <!-- Code CSS pour Internet Explorer 6 -->
     
     
    	<!--[if lte IE 6]>
    	<style type="text/css" media="screen">
     
    	.modalBox {
    		position: absolute;
    		top: expression((document.documentElement.scrollTop || document.body.scrollTop) + this.offsetHeight - this.offsetHeight);
    		width: 100%;
    		height:100%;
    		background: #000000;
    	}
     
    	</style>
    	<![endif]-->
    ce code te montrer comment avoir une div faisant 100% de hauteur et largeur , et étant toujours positionnée en haut malgrès le scroll de la barre

  5. #5
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    Oki, je vais regarder tout ça et te tenir au courant!

    Merci bien! :-)

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    J'ai du rater qqch, ca apparait bcp trop bas, voici ce que j'ai fait:
    Code css : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    div#wheel{
    	/*position: absolute; */
    	display: none;
    	width: 553px; height: 257px;
     
    	position: fixed;
     
    	margin-left: 50%;
    	left: -277px;
     
    	margin-top: 50%;
    	top: -129px;
     
    }

    Au moment, d'un click, je fais un display: block et c'est bcp trop bas...

    Qu'ai-je mal compris?

    Merci!

  7. #7
    Expert confirmé
    Avatar de le_chomeur
    Profil pro
    Développeur informatique
    Inscrit en
    Février 2006
    Messages
    3 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Février 2006
    Messages : 3 653
    Par défaut
    code source html ??

  8. #8
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2003
    Messages
    88
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2003
    Messages : 88
    Par défaut
    Le code de ma page est:
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
     
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>GECO</title>
     
    <link href="resources/CSS/main.css" rel="stylesheet" />
    <link href="resources/CSS/table.css" rel="stylesheet" />
     
    <script src="resources/JS/params.js" type="text/javascript"></script><script src="resources/JS/js.js" type="text/javascript"></script></script>
    </head>
     
    <body>
     
    <!-- ICI, le click permet d'afficher mon div -->
    <img src="images/colors.jpg" style="vertical-align: middle;" onClick="inWheel=true; displayPalette( 'pdfColSubtitleBg' );" />
     
    <div id="wheel" style="border: 1px solid #000;" onMouseOver="inWheel=true;" onMouseOut="inWheel=false;"><a href="#" onclick="inWheel=true; pickColor( ); return false;"><img alt="color wheel (hsv)" src="images/blank.gif" style="width: 553px; height: 257px; border: 0; filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src='images/hsvwheel.png', sizingMethod='scale')" /></a></div>
     
    </body>
     
    </html>
    Dans params.js:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function displayPalette( id )
    {
    	var palette = document.getElementById( 'wheel' );
    	palette.style.display = 'block';
    	idClick = id;
    }
    Et le .css correspodant:
    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
     
    div#wheel{
    	/*position: absolute; */
    	display: none;
    	width: 553px; height: 257px;
     
    	position: fixed;
     
    	margin-left: 50%;
    	left: -277px;
     
    	margin-top: 50%;
    	top: -129px;
     
    }

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/07/2007, 13h41
  2. Centrer un élément dont on ne connait pas la largeur
    Par maa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/01/2007, 17h08
  3. [XHTML] centrer un élèment legend
    Par gibigue dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 29/05/2006, 23h46
  4. [CSS] Centrer les éléments ou un site web
    Par pp51 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 27/12/2005, 15h24
  5. [CSS] centrer un élément
    Par prgasp77 dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 23/06/2005, 22h31

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