Centrer une image à la taille de la fenêtre du navigateur [Résolu/Fermé]

Signaler
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
-
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
-
Bonjour,

Je suis débutant dans la programation, j'aimerais centrer une image en plein milieux et pas très bas de ma bannière et quelle s'ajuste en fonction de la taille de la fenêtre.

J'ai chercher pas mal de fois et je ne troue absolument rien :/ ( qui peux m'aidez )

Avez vous une solution ?

Voici mon code HTML / CSS

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Wolrd Fitness</title>
    <link rel="stylesheet" href="index.css">
</head>
    
    <body>
        
        <div id="banner1"></div>
        <div><img src="fw2.png" style="height: 200px; width: 250px" class="logo"></div>
        <div><img src="fwm.png" style="height: 450px; width: 500px" class="logo2"></div>
    
    </body>
</html>


body {
    background-color: #ffffff;
    margin: 0;
}

/* Banniere du haut */


#banner1 {
    
    display: block;
    background-color: #c55353;
    height: 150px; 
    width: auto; 
    box-shadow: 0px 5px 15px black;
}

.logo {
    
    background-attachment: fixed; 
    display: block; 
    margin-left: 5px;
    margin-top: -170px; 
    
}

.logo2 {
    
    max-width: 100%;
    height: auto ;
}



Voici le résultat actuel



je vous remercie d'avance !
Bonne journée.

6 réponses

Messages postés
2370
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
431
Salut,

j'aimerais centrer une image en plein milieux et pas très bas de ma bannière

Peux tu nous donner un peu plus de précision ? Une image de ce que tu souhaites ?

Concernant le premier logo, il serait plus correct de placer la balise img dans le div banner1 et du supprimer la marge négative de l'image.

Bonne journée
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

Comment ça pour le logo ?

Voici le résultat final que j'aimerais.
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

Toujours pas de réponse à mon sujet ?? SVP !
Messages postés
2370
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
10 mars 2020
431
Un début de solution possible :

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8">
        <title>test</title>
        <style>
            html {
                height: 100%;
            }

            body {
                height: 100%;
                background-color: #ffffff;
                margin: 0;
            }

            #banner1 {
                /* display: block; -> les div sont des block par défaut */
                background-color: #c55353;
                height: 150px;
                /* width: auto; -> les div prennent toute la largeur par défaut */
                box-shadow: 0px 5px 15px black;
            }

            .logo {
                /* background-attachment: fixed; -> pas de background */
                /* display: block; -> les div sont des block par défaut */
                margin-left: 5px;
                /* margin-top: -170px; -> pas besoin de marge négative si on place le logo dans le div #banner1 */
            }

            .main {
                height: calc(100% - 150px);
                text-align: center;
                font: 0/0 a;
            }

            .main:before {
                content: ' ';
                display: inline-block;
                vertical-align: middle;
                height: 100%;
            }

            .responsive-image {
                display: inline-block;
                vertical-align: middle;
                font: 16px/1 Arial sans-serif;
                width: 60%;
                max-width: 500px;
            }

            .responsive-image:after {
                padding-top: 100%;
            }
        </style>
    </head>
    <body>
        <div id="banner1">
            <img src="https://placehold.it/200x150" class="logo">
        </div>

        <div class="main">
            <img src="https://placehold.it/500x450" class="responsive-image">
        </div>
    </body>
</html>


Plus d'explications ici : https://stackoverflow.com/questions/18516317/vertically-align-an-image-inside-a-div-with-responsive-height
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

Merci de ton aide Pitet,

Mais je ne comprend absolument pas ton code.. Serait-il possible que tu me fasse le côté HTML et le côté CSS ?

Merci beaucoup en tout cas !
Messages postés
23005
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
23 octobre 2020
2 126
lut;)
tu as toutes les explications ET code, CSS et html, sur le lien donné plus haut, juste prendre le temps de le lire ;)
avec bien d'autres liens comme celui-ci, par exemple :
http://jsfiddle.net/hashem/46psK/4/
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
>
Messages postés
23005
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
23 octobre 2020

Merci Bg62,

Je n'avais pas fait attention au lien ! :O

Merci ! Je vais vérifier ça de plus prêt et je reviendrais pour donner un retour d'aperçu.
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

Je suis de retour après mon essaye ^^

Donc, le bon côté c'est que c'est centrer ! peux importe la taille de la fenêtre, le problème c'est que j'ai un contour noir et l'image est trop basse quand je la met en pleine ecran .. Voir image :

Salut,
comme les dimensions de l'écran varient d'un écran (résolution d'affichage) à l'autre il faut que vous mettiez les dimensions dans une valeur relative comme le % et non une valeur fixe (ex: 200px) qui va dépendre chez chacun du nombre de pixel sur l'écran. La majorité des utilisateurs du web consultant celui ci à partir de smartphone ou tablette l'affichage sera probablement différent pour le support ordinateur de bureau qu'un support de média portable. C'est là qu'interviens le 'responsive design' qui va s'adapter comme dans l'exemple qu'on va à fournit.

Le positionnement il y a différentes façons de faire avec CSS.
Ici on utilise les marges externes(margin) d'un élément pour positionner celui ci par rapport aux éléments adjacents:
.
logo {
                /* background-attachment: fixed; -> pas de background */
                /* display: block; -> les div sont des block par défaut */
                margin-left: 5px;
                /* margin-top: -170px; -> pas besoin de marge négative si on place le logo dans le div #banner1 */
            }

et ici les marges internes(padding) pour positionner dans l'élément:

            .responsive-image:after {
                padding-top: 100%;
            }


N'hésitez pas à changer les valeurs pour obtenir ce que vous voulez et à regarder la description des propriétés CSS que vous ne connaissez pas pour voir leur utilité et changer les paramètres si besoin.

https://www.google.fr/search?q=liste+des+propriétés+css
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
> ratapignata
D'accord,

Je vous remercie à tous ! j'ai un peux touché à tout comme ont dit.
J'ai fini par trouver le bon code pour le placer correctement.

Donc je vous remercie !
Passez une agréable soirée !

MERCI :D
Messages postés
159
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

Pour celui qui aimerais avoir mon code le voici !

HTML :


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <title>Wolrd Fitness</title>
    <link rel="stylesheet" href="index.css">
</head>
    
    <body>
        
        <div id="banner1"></div>
        <div><img src="fw2.png" style="height: 200px; width: 250px" class="logo"></div>
        
        <div class="responsive-container">     
        <div class="dummy"></div>
        <div class="img-container">
        <div class="centerer"></div>
        <img src="fwm.PNG" alt ="" /> 
        </div>
        </div>
    
    </body>
</html>




CSS :


body {
    background-color: #ffffff;
    margin: 0;
}

/* Banniere du haut */


#banner1 {
    
    display: block;
    background-color: #c55353;
    height: 150px; 
    width: auto; 
    box-shadow: 0px 5px 15px black;
}

.logo {
    
    background-attachment: fixed; 
    display: block; 
    margin-left: 5px;
    margin-top: -170px; 
    
    
/*///////////////////////////////////  
    
            LOGO FW CENTRER
    
///////////////////////////////////*/ 
    
    
}

.responsive-container {
    position: relative;
    width: 100%;
    border: 0px solid black;
}

.dummy {
    padding-top: 100%; /* forces 1:1 aspect ratio */
}

.img-container {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    
    text-align:center; /* Align center inline elements */
    font: 0/0 a;
}

.img-container .centerer {
    display: inline-block;
    vertical-align: middle;
    height: 30%;
}

.img-container img {
    vertical-align: middle;
    display: inline-block;
    max-height: 100%;  /* <-- Set maximum height to 100% of its parent */
    max-width: 100%;   /* <-- Set maximum width to 100% of its parent */
}