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 :

Mettre une image centrée selon la largeur de fenêtre (fonction Javascript déjà faite) [Débutant(e)]


Sujet :

JavaScript

  1. #1
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut Mettre une image centrée selon la largeur de fenêtre (fonction Javascript déjà faite)
    Bonjour à tous,

    Alors je suis très nul en Javascript ainsi qu'en HTML (CSS je comprends les bases), veuillez excusez mes déboires.

    J'ai un blog (http://lenormanditinerant.blogspot.fr/) et je souhaiterais mettre l'image qui se trouve en haut contenant "Le normand Itinérant" centrée en fonction de la taille de la fenêtre de l'utilisateur.

    J'ai parcouru le net et surtout toucher à mon code pendant des heures, et je me résous finalement, à demander un peu d'aide ici.

    L'image à placer est ".Header". et l'élément à corriger est le "margin-left".

    Alors j'ai une fonction, qui je crois, me permettrait déjà de placer l'image centrée, seulement je ne sais pas faire le lien entre ma fonction et le CSS :

    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
    .Header {
    text-align: center;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 10.5% !important;		/* Espace à gauche */
    margin-top: 40px !important;                  /* Espace au-dessus de l'en-tête */ 
    }
     
    /* Fonction pour trouver la taille de la fenêtre */
     
    <script type="text/javascript">
     
    function centrerElementFixe(element)
    {
    	var largeur_fenetre = (document.body.clientWidth);
    	var hauteur_fenetre = (document.body.clientHeight);
     
    	var haut = (hauteur_fenetre - element.height()) / 2;
    	var gauche = (largeur_fenetre - element.width()) / 2;
    	element.css({position: 'fixed', top: haut !important, left: gauche !important});
    }
    </script>

    Que dois-je mettre à la place de "element" de la fonction ? Comment l'inclure dans le CSS ?

    J'espère avoir été clair, n'hésitez pas si il y a des questions.
    Merci beaucoup à tous pour votre lecture et vos réponses !
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  2. #2
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 659
    Points
    66 659
    Billets dans le blog
    1
    Par défaut
    colle la dans un conteneur de largeur 100%
    mets une largeur fixe à ton image en pixels et un marign auto .
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  3. #3
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Merci pour la réponse

    L'image est déjà dans un conteneur 100% Elle fait 1500px. Si je fais un margin auto, l'image, par un phénomène que je ne maitrise pas, reste sur le côté gauche et remonte légèrement.

    Je suppose que c'est à cause de ma barre de navigation (ou peut etre un autre module encore..) que j'ai mis au dessus et qui reste tout le temps en haut de la page. Il doit y avoir une interaction peut etre mais je ne sais pas si elle existe vraiment et si oui, comment l'annulée.. C'est pour ça que je place un "! important" avec le "margin: auto" mais ça ne change rien ..
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  4. #4
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    16 959
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 16 959
    Points : 44 122
    Points
    44 122
    Par défaut
    Bonjour,
    le centrage écran peut se faire en CSS pure

    exemple :
    Code html : 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
    43
    44
    45
    <!DOCTYPE HTML>
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Centrage Ecran</title>
    <meta name="Author" content="NoSmoking">
    <style>
    html, body{
      margin:0;
      padding:0;
      font-size:100%;
      font: 1em/1.5 Verdana, sans-serif;
      height:100%;
    }
    body{
      height:2000px;
    }
    #conteneur{
      display:table;
      position:fixed;
      background:#cde;
      height:100%;
      width:100%;
    }
    div #inside{
      display:table-cell;
      vertical-align:middle;
      text-align:center;
    }
    .ses_creations{
      width:80%;
    /*  min-width:60em;/* optionnel */
      margin:auto;
      box-shadow: 2px 2px 5px #888;
    }
    </style>
    </head>
    <body>
    <div id="conteneur">
      <div id="inside">
          <img class="ses_creations" src="http://www.magix-photos.com/mpfwhd04/10/4A1/319EC700615111E182B439B3A8994960.jpg" alt="Matin de neige à font d'Urle, René CHARRIER">
      </div>
    </div>
    </body>
    </html>

  5. #5
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    C'est gentil mais ce type de CSS ne fonctionne pas car encore une fois c'est un peu le bordel dans mon code et je ne m'y connais pas du tout !

    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
    .Header {
    text-align: center;
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 10.5% !important;		/* Espace à gauche */
    margin-top: 40px !important;                  /* Espace au-dessus de l'en-tête */ 
    }
     
    /* Fonction pour trouver la taille de la fenêtre */
     
    <script type="text/javascript">
     
    function centrerElementFixe(element)
    {
    	var largeur_fenetre = (document.body.clientWidth);
    	var hauteur_fenetre = (document.body.clientHeight);
     
    	var haut = (hauteur_fenetre - element.height()) / 2;
    	var gauche = (largeur_fenetre - element.width()) / 2;
    	element.css({position: 'fixed', top: haut !important, left: gauche !important});
    }
    </script>

    Est ce qu'il est possible avec ce code d'intéragir avec le javascript dans le html ?
    C'est à dire : grace a la fonction je connais la taille de la fenêtre, je met ensuite cette taille en pixel comme valeur à mon "margin-left" puisque mon "margin : auto" ne fonctionne pas (parce que encore une fois j'y connais rien ...)
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  6. #6
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 659
    Points
    66 659
    Billets dans le blog
    1
    Par défaut
    Un exemple vaut mieux que de longs discours ...
    il faut rajouter un display block sur ton image

    https://jsfiddle.net/gpnLgmnd/
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  7. #7
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    L'image est toujours sur la gauche, y'a rien à faire. pfff Il doit y avoir une autre commande qui lui dit d'être comme ça mais .. introuvable.

    pourtant en mettant !important ça devrait marcher ... et non. :/

    Quand je met "margin-left: 10.5% !important;" ça se décale bien mais du coup c'est fixe quelque soit la fenêtre et souvent c'est très mal placé.
    Quant je met "display: block !important; + margin: auto !important;" ça le met à fond sur la gauche

    Merci pour la réponse tout de même !!
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  8. #8
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Merci Merci Merci !

    Pfiou. Grâce au module de Firefox Firebug j'ai pu aller dans le détail de mon blog et finalement trouver le truc qui régissais directement le position de mon image (header-inner) ! Du coup, au pif, j'ai mit un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    #header-inner {
    background-position: middle !important;
    margin: auto !important;
    diplay: block !important;
    }
    Et ça marche !!!! Maintenant l'image suit la taille de la fenêtre et est toujours centrée ! PFIOU ! ça fait 2 mois que je galère avec ce truc, je viens d'enlever un poids immense !!! Merci à tous autant que vous êtes pour vos conseils !!!
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  9. #9
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 659
    Points
    66 659
    Billets dans le blog
    1
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background-position: middle !important;
    il ne s'agit pas d'une balise image alors ...
    mais d'une image en background ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  10. #10
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    heu oui ... peut être ... désolé je suis nul en html j'y connais rien :/
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  11. #11
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 659
    Points
    66 659
    Billets dans le blog
    1
    Par défaut
    ben une balise image :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <img src="..." .../...  />

    et une image en arrière plan ça se passe dans el css avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    background-image: url("...")
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

  12. #12
    Membre du Club Avatar de Adakhum
    Homme Profil pro
    Ingénieur Mécanique Numérique
    Inscrit en
    Mars 2014
    Messages
    125
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Ingénieur Mécanique Numérique

    Informations forums :
    Inscription : Mars 2014
    Messages : 125
    Points : 58
    Points
    58
    Par défaut
    Je le saurais pour une prochaine fois, c'est tout bête merci

    C'est pas toi le site a tout hasard FrogWeb ? ^^ Sinon il est bien fait :p
    Détaillez votre question et vous obtiendrez une réponse précise ! (c'est un peu magique)
    Et si vous êtes fou de voyage bienvenue ici : http://lenormanditinerant.blogspot.fr

  13. #13
    Rédacteur/Modérateur

    Avatar de SpaceFrog
    Homme Profil pro
    Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Inscrit en
    Mars 2002
    Messages
    39 637
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 74
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Développeur Web Php Mysql Html Javascript CSS Apache - Intégrateur - Bidouilleur SharePoint
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2002
    Messages : 39 637
    Points : 66 659
    Points
    66 659
    Billets dans le blog
    1
    Par défaut
    Non, on est plusieurs grenouilles faut croire ...
    Ma page Developpez - Mon Blog Developpez
    Président du CCMPTP (Comité Contre le Mot "Problème" dans les Titres de Posts)
    Deux règles du succès: 1) Ne communiquez jamais à quelqu'un tout votre savoir...
    Votre post est résolu ? Alors n'oubliez pas le Tag

    Venez sur le Chat de Développez !

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

Discussions similaires

  1. Mettre une image dans une ligne d'un tableau, centrée à droite
    Par ketzaldev dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 11/11/2009, 18h06
  2. Mettre une image à Gauche et à droite sans déformer le formulaire du centre
    Par Darbon dans le forum Balisage (X)HTML et validation W3C
    Réponses: 21
    Dernier message: 07/10/2006, 12h54
  3. [VB6] mettre une image sur un boutton
    Par dim dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/02/2004, 01h28
  4. Comment mettre une image en fond de JFrame
    Par marc26 dans le forum Débuter
    Réponses: 3
    Dernier message: 19/01/2004, 17h57
  5. Peut on mettre une image dans une BD MySQL ?
    Par maddog2032 dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 25/07/2003, 16h18

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