Centrer une image à la taille de la fenêtre du navigateur

Résolu/Fermé
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
- 24 févr. 2016 à 09:05
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
- 25 févr. 2016 à 23:16
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

Pitet
Messages postés
2786
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
27 mai 2022
528
24 févr. 2016 à 09:52
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
0
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

Modifié par MisterGameFR le 24/02/2016 à 09:56
Comment ça pour le logo ?

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

24 févr. 2016 à 20:34
Toujours pas de réponse à mon sujet ?? SVP !
0
Pitet
Messages postés
2786
Date d'inscription
lundi 11 février 2013
Statut
Membre
Dernière intervention
27 mai 2022
528
25 févr. 2016 à 09:49
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
0
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

25 févr. 2016 à 20:01
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 !
0
bg62
Messages postés
23260
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
13 mai 2022
2 318
25 févr. 2016 à 20:15
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/
0
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
> bg62
Messages postés
23260
Date d'inscription
samedi 22 octobre 2005
Statut
Modérateur
Dernière intervention
13 mai 2022

25 févr. 2016 à 20:24
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

25 févr. 2016 à 20:37
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 :

0
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
0
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017
> ratapignata
25 févr. 2016 à 23:15
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
0
MisterGameFR
Messages postés
154
Date d'inscription
lundi 9 novembre 2015
Statut
Membre
Dernière intervention
29 mars 2017

25 févr. 2016 à 23:16
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 */
}

0