J'ai un div dont la largeur est de 100%.
J'aimerais centrer un bouton à l'intérieur, comment pourrais-je faire cela?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
J'ai un div dont la largeur est de 100%.
J'aimerais centrer un bouton à l'intérieur, comment pourrais-je faire cela?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
Réponses:
Réponse mise à jour
Mise à jour parce que j'ai remarqué que c'est une réponse active, mais Flexbox serait la bonne approche maintenant.
Démo en direct
Alignement vertical et horizontal.
Juste horizontal (tant que l'axe principal de flexion est horizontal, ce qui est par défaut)
Réponse originale utilisant une largeur fixe et sans flexbox
Si l'affiche originale souhaite un alignement vertical et central assez facile pour une largeur et une hauteur fixes du bouton, essayez ce qui suit
Démo en direct
CSS
pour un alignement juste horizontal, utilisez
ou
la source
Vous pouvez simplement faire:
Ou vous pouvez le faire comme ceci à la place:
Le premier alignera tout au centre du div. L'autre alignera au centre juste le bouton.
la source
et voilà:
Mise à jour : Si OP recherche un centre horizontal et vertical, cette réponse le fera pour un élément largeur / hauteur fixe.
la source
Marge: 0 auto; est la bonne réponse pour le centrage horizontal uniquement. Pour centrer dans les deux sens, quelque chose comme ça fonctionnera, en utilisant jquery:
Mise à jour ... cinq ans plus tard , on pourrait utiliser flexbox sur l'élément DIV parent pour centrer facilement le bouton horizontalement et verticalement.
Y compris tous les préfixes de navigateur, pour une meilleure prise en charge
Afficher l'extrait de code
la source
Avec les détails limités fournis, je vais supposer la situation la plus simple et dire que vous pouvez utiliser
text-align: center
:http://jsfiddle.net/pMxty/
la source
Utilisation de flexbox
Et puis en ajoutant la classe à votre bouton.
la source
Vous devriez le prendre simple ici vous allez:
vous avez d'abord la position initiale de votre texte ou bouton:
En ajoutant cette ligne de code CSS à la balise h2 ou à la balise div qui contient la balise button
Finalement, le code de résultat sera:
la source
Je suis tombé sur cela et j'ai pensé que je laisserais également la solution que j'utilisais, qui utilise
line-height
ettext-align: center
fait le centrage vertical et horizontal:Cliquez ici pour travailler JSFiddle
la source
Pour centrer à la
<button type = "button">
fois verticalement et horizontalement une<div>
largeur calculée dynamiquement comme dans votre cas, voici ce qu'il faut faire:text-align: center;
sur l'habillage<div>
: cela centrera le bouton chaque fois que vous redimensionnerez la<div>
(ou plutôt la fenêtre)Pour l'alignement vertical, vous devrez définir
margin: valuepx;
le bouton. Ceci est la règle sur la façon de calculervaluepx
:valuepx = (wrappingDIVheight - buttonHeight)/2
Voici une démo JS Bin .
la source
La réponse super simple qui s'appliquera à la plupart des cas est de simplement définir la marge sur
0 auto
et de régler l'affichage surblock
. Vous pouvez voir comment j'ai centré mon bouton dans ma démo sur CodePenla source
La chose la plus simple est de la saisir comme un "div" donnez-lui une "marge: 0 auto" mais si vous voulez qu'elle soit centrée, vous devez lui donner une largeur
la source
Option CSS réactive pour centrer un bouton verticalement et horizontalement sans se soucier de la taille de l'élément parent (en utilisant des crochets d'attributs de données pour des raisons de clarté et de séparation) :
HTML
CSS
Violon: https://jsfiddle.net/crrollyson/zebo1z8f/
la source
Manière réactive de centrer votre bouton dans une div:
la source
Supposons que div est #div et que le bouton est #button:
Ensuite, imbriquez le bouton dans div comme d'habitude.
la source