c'è un modo per centrare gli elementi html verticalmente o orizzontalmente all'interno dei genitori principali?
<center></center>
tag
<center>
tag è stato deprecato circa 12 anni fa.
c'è un modo per centrare gli elementi html verticalmente o orizzontalmente all'interno dei genitori principali?
<center></center>
tag
<center>
tag è stato deprecato circa 12 anni fa.
Risposte:
Aggiornamento : sebbene questa risposta sia stata probabilmente corretta all'inizio del 2013, non dovrebbe più essere utilizzata. La soluzione corretta utilizza gli offset .
Come per altri suggerimenti degli utenti ci sono anche classi native bootstrap disponibili come:
class="text-center"
class="pagination-centered"
grazie a @Henning e @trejder
class="text-center"
.pagination-centered
in alternativa.
text-center
per il layout è una pessima pratica. Il modo corretto di allineare le colonne in Bootstrap è utilizzare le col-XX-offset-Y
classi. getbootstrap.com/css/#grid-offsetting . Probabilmente questa risposta era corretta nel 2013, ma non dovrebbe più essere utilizzata oggi.
Dalla documentazione Bootstrap :
Impostare un elemento su
display: block
e centrare viamargin
. Disponibile come mixin e classe.
<div class="center-block">...</div>
Per i futuri visitatori di questa domanda:
Se stai cercando di centrare un'immagine in un div ma l'immagine non è centrata, questo potrebbe descrivere il tuo problema:
<div class="col-sm-4 text-center">
<img class="img-responsive text-center" src="myPic.jpg" />
</div>
La img-responsive
classe aggiunge display:block
un'istruzione al tag immagine, che impedisce text-align:center
( text-center
classe) di funzionare.
SOLUZIONE:
<div class="col-sm-4">
<img class="img-responsive center-block" src="myPic.jpg" />
</div>
L'aggiunta della center-block
classe sostituisce l' display:block
istruzione inserita utilizzando la img-responsive
classe.
Senza la img-responsive
classe, l'immagine sarebbe centrata solo aggiungendo text-center
classe
Inoltre, dovresti conoscere le basi di flexbox e come usarlo, poiché Bootstrap4 ora lo utilizza in modo nativo .
Ecco un eccellente video tutorial veloce di Brad Schiff
Ecco un ottimo cheat sheet
Aggiornato 2018
In Bootstrap 4 , i metodi di centraggio sono cambiati ..
Centro orizzontale in BS4
text-center
è ancora usato per gli display:inline
elementimx-auto
sostituisce center-block
al centro i display:flex
bambinioffset-*
o mx-auto
può essere utilizzato per centrare le colonne della grigliamx-auto
(margini auto asse x) si concentreranno display:block
o display:flex
elementi che hanno una larghezza definita , ( %
, vw
, px
, ecc ..). Flexbox viene utilizzato per impostazione predefinita nelle colonne della griglia, quindi esistono anche vari metodi di centraggio del flexbox.
Demo Bootstrap 4 Centratura orizzontale
Per il centraggio verticale in BS4 consultare https://stackoverflow.com/a/41464397/171456
Puoi scrivere direttamente nel tuo file css in questo modo:
.content {
position: absolute;
top: 50%;
left:50%;
transform: translate(-50%,-50%);
}
<div class = "content" >
<p> some text </p>
</div>
lo uso
<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>
per il centraggio orizzontale puoi avere qualcosa del genere:
.centering{
float:none;
margin:0 auto
}
<div class="span8 centering"></div>
<img src="img/logo.png" style="float:none; margin:0 auto" />
. Circondare img
con i genitori div
e dare .text-center
o .pagination-centered
classe ai genitori funziona come un incantesimo.
Mi piace questa soluzione da una domanda simile. https://stackoverflow.com/a/25036303/2364401 Utilizzare la text-center
classe bootstraps sui dati effettivi della tabella <td>
e sugli <th>
elementi dell'intestazione della tabella . Così
<td class="text-center">Cell data</td>
e
<th class="text-center">Header cell data</th>
Con bootstrap 4 puoi usare 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 risolve questo problema
Puoi usare
<div class="d-flex justify-content-center align-items-center">
<button type="submit" class="btn btn-primary">Create</button>
</div>
dovrebbe centrare il centesimo in orizzontale e in verticale
Ho scoperto in Bootstrap 4 che puoi fare questo:
il centro orizzontale è davvero di text-center
classe
il centro verticale tuttavia l'utilizzo delle classi bootstrap sta aggiungendo entrambe, in mb-auto mt-auto
modo tale che margin-top e margin bottom siano impostati su auto.
per bootstrap4 centro verticale di alcuni elementi
d-flex per regole flex
colonna flessibile per la direzione verticale degli oggetti
justify-content-center per il centraggio
style = 'height: 300px;' deve avere per i set point in cui il centro deve essere calcolato o utilizzare la 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>