Tengo un div cuyo ancho es del 100%.
Me gustaría centrar un botón dentro de él, ¿cómo podría hacer esto?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
Tengo un div cuyo ancho es del 100%.
Me gustaría centrar un botón dentro de él, ¿cómo podría hacer esto?
<div style="width:100%; height:100%; border: 1px solid">
<button type="button">hello</button>
</div>
Respuestas:
Respuesta actualizada
Actualizando porque noté que es una respuesta activa, sin embargo, Flexbox sería el enfoque correcto ahora.
Demo en vivo
Alineamiento vertical y horizontal.
Solo horizontal (siempre que el eje flexible principal sea horizontal, que es el valor predeterminado)
Respuesta original usando un ancho fijo y sin flexbox
Si el póster original desea una alineación vertical y central, es bastante fácil para el ancho y la altura fijos del botón, intente lo siguiente
Demo en vivo
CSS
solo para alineación horizontal use
o
fuente
Podrías simplemente hacer:
O podrías hacerlo así:
El primero centrará alineará todo dentro del div. El otro centrará alinear solo el botón.
fuente
et voila:
Actualización : si OP está buscando un centro horizontal y vertical, esta respuesta lo hará para un elemento de ancho / altura fijo.
fuente
Margen: 0 automático; es la respuesta correcta solo para el centrado horizontal. Para centrar en ambos sentidos, algo como esto funcionará, usando jquery:
Actualización ... cinco años después , uno podría usar flexbox en el elemento DIV principal para centrar fácilmente el botón tanto horizontal como verticalmente.
Incluidos todos los prefijos del navegador, para un mejor soporte
Mostrar fragmento de código
fuente
Con los detalles limitados proporcionados, asumiré la situación más simple y le diré que puede usar
text-align: center
:http://jsfiddle.net/pMxty/
fuente
Usando flexbox
Y luego agregando la clase a su botón.
fuente
Deberías tomarlo simple aquí:
Primero tiene la posición inicial de su texto o botón:
Al agregar esta línea de código CSS a la etiqueta h2 o a la etiqueta div que contiene la etiqueta del botón
Finalmente, el código de resultado será:
fuente
Encontré esto y pensé que también dejaría la solución que utilicé, que utiliza
line-height
ytext-align: center
para centrar tanto vertical como horizontalmente:Haga clic aquí para trabajar JSFiddle
fuente
Para centrar
<button type = "button">
tanto vertical como horizontalmente dentro de<div>
qué ancho se calcula dinámicamente como en su caso, esto es lo que debe hacer:text-align: center;
el ajuste<div>
: esto centrará el botón cada vez que cambie el tamaño de<div>
la ventana (o más bien la ventana)Para la alineación vertical, deberá configurar
margin: valuepx;
el botón. Esta es la regla sobre cómo calcularvaluepx
:valuepx = (wrappingDIVheight - buttonHeight)/2
Aquí hay una demostración de JS Bin .
fuente
La respuesta súper simple que se aplicará a la mayoría de los casos es simplemente establecer el margen
0 auto
y establecer la pantalla enblock
. Puedes ver cómo centré mi botón en mi demo en CodePenfuente
Lo más fácil es ingresarlo como un "div", darle un "margen: 0 automático", pero si desea que esté centrado, debe darle un ancho
fuente
Opción de respuesta CSS para centrar un botón vertical y horizontalmente sin preocuparse por el tamaño del elemento primario (usando ganchos de atributos de datos para cuestiones de claridad y separación) :
HTML
CSS
Violín: https://jsfiddle.net/crrollyson/zebo1z8f/
fuente
Manera receptiva de centrar su botón en un div:
fuente
Supongamos que div es #div y el botón es #button:
Luego anide el botón en div como de costumbre.
fuente