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-centered
como alternativa.
text-center
para o layout é uma prática muito ruim. A maneira correta de alinhar colunas no Bootstrap é usando col-XX-offset-Y
classes. 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: block
e 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-responsive
classe adiciona uma display:block
instrução à tag da imagem, que interrompe text-align:center
( text-center
classe) o trabalho.
SOLUÇÃO:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
Adicionar a center-block
classe substitui a display:block
instrução inserida usando a img-responsive
classe
Sem a img-responsive
classe, a imagem centralizaria apenas adicionando text-center
classe
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-center
ainda é usado para display:inline
elementosmx-auto
substitui center-block
para centrar display:flex
criançasoffset-*
ou mx-auto
pode ser usado para centralizar colunas da grademx-auto
(margens de auto eixo x) vai centrar display:block
ou display:flex
os 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 div
e dar .text-center
ou dar .pagination-centered
aula aos pais funciona como um encanto.
Eu gosto desta solução de uma pergunta semelhante. https://stackoverflow.com/a/25036303/2364401 Use a text-center
classe 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-center
classe
no centro vertical, no entanto, o uso de classes de autoinicialização está adicionando ambos, mb-auto mt-auto
para 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>