existe alguma maneira de centralizar elementos html vertical ou horizontalmente dentro dos pais principais?
<center></center>tag
<center>tag foi descontinuada há cerca de 12 anos.
existe alguma maneira de centralizar elementos html vertical ou horizontalmente dentro dos pais principais?
<center></center>tag
<center>tag foi descontinuada há cerca de 12 anos.
Respostas:
Atualização : embora essa resposta provavelmente esteja correta no início de 2013, ela não deve mais ser usada. A solução adequada usa compensações .
Quanto à sugestão de outros usuários, também existem classes nativas de inicialização disponíveis, como:
class="text-center"
class="pagination-centered"
graças a @Henning e @trejder
class="text-center"
.pagination-centeredcomo alternativa.
text-centerpara o layout é uma prática muito ruim. A maneira correta de alinhar colunas no Bootstrap é usando col-XX-offset-Yclasses. getbootstrap.com/css/#grid-offsetting . Essa resposta provavelmente estava certa em 2013, mas não deve mais ser usada hoje.
Na documentação do Bootstrap :
Defina um elemento para
display: blocke centralize viamargin. Disponível como mixin e classe.
<div class="center-block">...</div>
Para futuros visitantes desta pergunta:
Se você estiver tentando centralizar uma imagem em uma div, mas a imagem não for centralizada, isso poderá descrever seu problema:
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
A img-responsiveclasse adiciona uma display:blockinstrução à tag da imagem, que interrompe text-align:center( text-centerclasse) o trabalho.
SOLUÇÃO:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
Adicionar a center-blockclasse substitui a display:blockinstrução inserida usando a img-responsiveclasse
Sem a img-responsiveclasse, a imagem centralizaria apenas adicionando text-centerclasse
Além disso, você deve conhecer o básico de flexbox e como usá-lo, já que o Bootstrap4 agora o usa de forma nativa .
Aqui está um excelente vídeo tutorial rápido de Brad Schiff
Aqui está uma grande folha de dicas
Atualizado 2018
No Bootstrap 4 , os métodos de centralização foram alterados ..
Centro Horizontal em BS4
text-centerainda é usado para display:inlineelementosmx-autosubstitui center-blockpara centrar display:flexcriançasoffset-* ou mx-auto pode ser usado para centralizar colunas da grademx-auto(margens de auto eixo x) vai centrar display:blockou display:flexos elementos que têm uma largura definida , ( %, vw, px, etc ..). O Flexbox é usado por padrão nas colunas da grade, portanto, também existem vários métodos de centralização do flexbox.
Demonstração Bootstrap 4 Centralização Horizontal
Para centralização vertical no BS4, consulte https://stackoverflow.com/a/41464397/171456
Você pode escrever diretamente no seu arquivo css assim:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
Eu uso isso
<style>
html, body {
height: 100%;
margin: 0;
padding: 0 0;
}
.container-fluid {
height: 100%;
display: table;
width: 100%;
padding-right: 0;
padding-left: 0;
}
.row-fluid {
height: 100%;
display: table-cell;
vertical-align: middle;
width: 100%;
}
.centering {
float: none;
margin: 0 auto;
}
</style>
<body>
<div class="container-fluid">
<div class="row-fluid">
<div class="offset3 span6 centering">
content here
</div>
</div>
</div>
</body>
para centralizar horizontalmente, você pode ter algo parecido com isto:
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
<img src="img/logo.png" style="float:none; margin:0 auto" />. Em torno daimg pais dive dar .text-centerou dar .pagination-centeredaula aos pais funciona como um encanto.
Eu gosto desta solução de uma pergunta semelhante. https://stackoverflow.com/a/25036303/2364401 Use a text-centerclasse de autoinicialização nos dados reais da tabela <td>e nos <th>elementos do cabeçalho da tabela . assim
<td class="text-center">Cell data</td>
e
<th class="text-center">Header cell data</th>
Com o bootstrap 4, você pode usar o flex
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
fonte: bootstrap 4.1
bootstrap 4 + Flex resolva isso
você pode usar
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
deve centralizar o centro horizontalmente e verticalmente
Descobri no Bootstrap 4 que você pode fazer isso:
horizontal centro é realmente text-centerclasse
no centro vertical, no entanto, o uso de classes de autoinicialização está adicionando ambos, mb-auto mt-autopara que a margem superior e inferior da margem sejam definidas como automáticas.
para o centro vertical bootstrap4 de poucos itens
d-flex para regras flex
coluna flexível para direção vertical nos itens
justificar-centro de conteúdo para centralizar
style = 'height: 300px;' deve ter pontos de ajuste onde o centro deve ser calculado ou usar a classe h-100
<div class="d-flex flex-column justify-content-center bg-secondary" style="
height: 300px;
">
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
<div class="p-2 bg-primary">Flex item</div>
</div>