116 votes

j'essaie d'aligner le bouton html au centre de ma page

J'essaie d'aligner un bouton HTML exactement au centre de la page, quel que soit le navigateur utilisé. Soit il flotte vers la gauche tout en restant au centre vertical, soit il se trouve quelque part sur la page, par exemple en haut de la page, etc.

Je veux qu'il soit centré à la fois verticalement et horizontalement. Voici ce que j'ai écrit pour l'instant :

<button type="button" style="background-color:yellow;margin-left:auto;margin-right:auto;display:block;margin-top:22%;margin-bottom:0%">
   mybuttonname
</button>

6voto

Maddy Points 65

Il y a plusieurs façons d'y remédier. PFB en est deux -

1ère Voie position d'utilisation : fixe - position : fixed ; positionne l'élément par rapport à la fenêtre d'affichage, ce qui signifie qu'il reste toujours au même endroit, même si la page défile. Si vous ajoutez les valeurs de gauche et de haut à 50 %, vous le placerez au milieu de l'écran.

 button {
   position: fixed;
   left: 50%;
   top:50%;
 }

2ème façon d'utiliser margin : auto -margin : 0 auto ; pour le centrage horizontal, mais margin : auto ; a refusé de fonctionner pour le centrage vertical jusqu'à maintenant ! Mais en fait, le centrage absolu ne nécessite qu'une hauteur déclarée et ces styles :

button {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  height: 40px;
}

5voto

Roy Points 67

Pour moi, cela a fonctionné en utilisant flexbox.

Ajoutez une classe css autour du div / élément parent avec :

.parent {
    display: flex;
}

et pour l'utilisation du bouton :

.button {
    justify-content: center;
}

Vous devez utiliser un div parent, sinon le bouton ne "sait" pas où se trouve le milieu de la page ou de l'élément.

1voto

Tim Withers Points 8091

Placez-le à l'intérieur d'un autre div, utilisez le CSS pour déplacer le bouton au milieu :

<div style="width:100%;height:100%;position:absolute;vertical-align:middle;text-align:center;">
    <button type="button" style="background-color:yellow;margin-left:auto;margin-right:auto;display:block;margin-top:22%;margin-bottom:0%">
mybuttonname</button> 
</div>​

Voici un exemple : JsFiddle

0voto

Ritesh Kumar Points 91

Donnez à tous les éléments parents une largeur de 100 % et une hauteur de 100 %, puis utilisez la fonction affichage : table ; y display:table-cell ; Vérifiez l'échantillon de travail.

Version de travail de Git

<!DOCTYPE html>
<html>
<head>
<style>
html,body{height: 100%;}
body{width: 100%;}
</style>
</head>
<body style="display: table; background-color: #ff0000; ">

<div style="display: table-cell; vertical-align: middle; text-align: center;">
    <button type="button" style="text-align: center;" class="btn btn-info">
       Discover More
    </button>
</div>

</body>
</html>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X