Necesito crear una página receptiva usando bootstrap colocando un div en el centro de una página como en el diseño mencionado a continuación.
Necesito crear una página receptiva usando bootstrap colocando un div en el centro de una página como en el diseño mencionado a continuación.
Respuestas:
ACTUALIZACIÓN para Bootstrap 4
Alineación de cuadrícula vertical más simple con caja flexible
@import url('https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css');
html,
body {
height: 100%
}
<div class="h-100 row align-items-center">
<div class="col" style="background:red">
TEXT
</div>
</div>
Solución para Bootstrap 3
@import url('http://getbootstrap.com/dist/css/bootstrap.css');
html, body, .container-table {
height: 100%;
}
.container-table {
display: table;
}
.vertical-center-row {
display: table-cell;
vertical-align: middle;
}
<script src="http://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/2.1.0/bootstrap.min.js"></script>
<div class="container container-table">
<div class="row vertical-center-row">
<div class="text-center col-md-4 col-md-offset-4" style="background:red">TEXT</div>
</div>
</div>
Es un ejemplo simple de una división horizontal y vertical centrada en todos los tamaños de pantalla.
class="col-xs-4 col-xs-offset-4"
debería ser suficiente.
CSS:
html,
body {
height: 100%;
}
.container {
height: 100%;
display: flex;
justify-content: center;
align-items: center;
}
HTML:
<div class="container">
<div>
example
</div>
</div>
En bootstrap 4
para centrar al niño horizontalmente , use la clase bootstrap-4
justify-content-center
para centrar al niño verticalmente , use la clase bootstrap-4
align-items-center
pero recuerda no olvides usar la clase d-flex con estas, es una clase de utilidad bootstrap-4, así
<div class="d-flex justify-content-center align-items-center" style="height:100px;">
<div class="bg-primary">MIDDLE</div>
</div>
Nota: asegúrese de agregar utilidades bootstrap-4 si este código no funciona
Actualización para Bootstrap 4
Ahora que Bootstrap 4 es flexbox, la alineación vertical es más fácil. Dado un div de flexbox de altura completa, solo nosotros my-auto
para márgenes incluso superiores e inferiores ...
<div class="container h-100 d-flex justify-content-center">
<div class="jumbotron my-auto">
<h1 class="display-3">Hello, world!</h1>
</div>
</div>
http://codeply.com/go/ayraB3tjSd/bootstrap-4-vertical-center
sin mesa de exhibición y sin bootstrap, preferiría hacer eso
<div class="container container-table">
<div class="row vertical-center-row">
<div class="text-center col-md-4 col-md-offset-4" style="background:red">TEXT</div>
</div>
</div>
html, body, .container-table {
height: 100%;
}
.container-table {
width:100vw;
height:150px;
border:1px solid black;
}
.vertical-center-row {
margin:auto;
width:30%;
padding:63px;
text-align:center;
}
Buena respuesta ppollono. Solo estaba jugando y obtuve una solución un poco mejor. El CSS permanecería igual, es decir:
html, body, .container {
height: 100%;
}
.container {
display: table;
vertical-align: middle;
}
.vertical-center-row {
display: table-cell;
vertical-align: middle;
}
Pero para HTML:
<div class="container">
<div class="vertical-center-row">
<div align="center">TEXT</div>
</div>
</div>
Esto sería suficiente
No es la mejor manera, pero seguirá funcionando.
<div class="container-fluid h-100">
<div class="row h-100">
<div class="col-lg-12"></div>
<div class="col-lg-12">
<div class="row h-100">
<div class="col-lg-4"></div>
<div class="col-lg-4 border">
This div is in middle
</div>
<div class="col-lg-4"></div>
</div>
</div>
<div class="col-lg-12"></div>
</div>
</div>
Creo que la forma más sencilla de lograr el diseño con bootstrap es así:
<section>
<div class="container">
<div class="row">
<div align="center">
<div style="max-width: 200px; background-color: blueviolet;">
<div>
<h1 style="color: white;">Content goes here</h1>
</div>
</div>
</div>
</div>
</div>
todo lo que hice fue agregar capas de divs que me permitieron centrar el div, pero como no estoy usando porcentajes, debe especificar el ancho máximo del div para que sea el centro.
Puede usar este mismo método para centrar más de una columna, solo necesita agregar más capas div:
<div class="container">
<div class="row">
<div align="center">
<div style="max-width: 400px; background-color: blueviolet;">
<div class="col-md-12 col-sm-12 col-xs-12" style="background-color: blueviolet;">
<div class="col-md-8 col-sm-8 col-xs-12" style="background-color: darkcyan;">
<h1 style="color: white;">Some content</h1>
</div>
<div class="col-md-4 col-sm-4 col-xs-12" style="background-color: blue;">
<p style="color: white;">More content</p>
</div>
</div>
</div>
</div>
</div>
</div>
Nota: que agregué un div con la columna 12 para md, sm y xs, si no hace esto, el primer div con color de fondo (en este caso "blueviolet") colapsará, podrá ver los div secundarios , pero no el color de fondo.
Para la versión real de Bootstrap 4.3.1 use
Estilo
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<style type="text/css">
html, body {
height: 100%;
}
</style>
Código
<div class="h-100 d-flex justify-content-center">
<div class="jumbotron my-auto">
<!-- example content -->
<div class="alert alert-success" role="alert">
<h4 class="alert-heading">Title</h4>
<p>Desc</p>
</div>
<!-- ./example content -->
</div>
</div
Prueba esto, por ejemplo, usé una altura fija. Creo que no afecta el escenario receptivo.
<html lang="en">
<head>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
</head>
<body>
<div class="d-flex justify-content-center align-items-center bg-secondary w-100" style="height: 300px;">
<div class="bg-primary" style="width: 200px; height: 50px;"></div>
</div>
</body>
</html>
En Bootstrap 4, use:
<div class="d-flex justify-content-center">...</div>
También puede cambiar la posición según lo que desee:
<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>
Referencia aquí
Aquí hay reglas simples de CSS que ponen cualquier div en el centro
.centered {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
https://css-tricks.com/quick-css-trick-how-to-center-an-object-exactly-in-the-center/
La solución más simple será agregar una columna en blanco en ambos lados como a continuación:
<div class="row form-group">
<div class="col-3"></div>
<ul class="list-group col-6">
<li class="list-group-item active">Yuvraj Patil</li>
</ul>
<div class="col-3"></div>
</div>
HTML :
<div class="container" id="parent">
<div class="row">
<div class="col-lg-12">text
<div class="row ">
<div class="col-md-4 col-md-offset-4" id="child">TEXT</div>
</div>
</div>
</div>
</div>
CSS :
#parent {
text-align: center;
}
#child {
margin: 0 auto;
display: inline-block;
background: red;
color: white;
}