Mai mult
Centru o coloană folosind Twitter Bootstrap 3
Cum am center-un div de o coloană de dimensiune în container (12 coloane) în Bootstrap Twitter 3?
.centered {
background-color: red;
}
<body class="container">
<div class="col-lg-1 col-offset-6 centered">
<img data-src="holder.js/100x100" alt="" />
</div>
</body>
Vreau o div
, cu o clasa .centrat
să fie centrat în interiorul containerului. Pot folosi un rând dacă există mai multe div, dar acum vreau doar un
div` cu dimensiunea de o coloană centrată în container (12 coloane).
De asemenea, nu sunt sigur că abordarea de mai sus este destul de bun, deoarece intenția nu este de a compensa div
de jumătate. Nu am nevoie de spații libere în afara div
, și conținutul de div
micșora proporțional. Vreau sa spațiu gol în afara div să fie distribuite uniform (psihiatru până la container lățime este egală cu o coloană).
1107
33
Există două abordări pentru centrare-o coloană `
Abordare 1 (offset):
Prima abordare utilizează Bootstrap's propria offset clase, astfel este nevoie de nici o schimbare în marcaj și nici CSS suplimentar. Cheia este de a setați un offset egal cu jumătate din restul de dimensiunea rândului. Deci, de exemplu, o coloană de dimensiune 2 ar fi centrat prin adăugarea unui offset de 5, care's
(12-2)/2
.În markup aceasta ar arăta astfel:
Acum, acolo's un dezavantaj evident pentru această metodă. Funcționează numai pentru chiar dimensiunile coloanelor, deci numai
.col-X-2
,.col-X-4
,col-X-6
,col-X-8", și " col-X-10
sunt acceptate.Abordare 2 (vechi
margin:auto
)Puteți centru de orice dimensiune coloană cu ajutorul dovedit
margin: 0 auto;
tehnica. Trebuie doar să aibă grijă de plutitor care este adăugat cu Bootstrap's sistem grilă. Recomand definind o clasa CSS personalizat, cum ar fi următoarele:Acum puteți adăuga la orice dimensiune coloană la orice dimensiune a ecranului, și va funcționa perfect cu Bootstrap's layout responsive:
Actualizare:
De la v3.0.1 Bootstrap are un built-in clasa cu numele de centru-bloc
care folosește
margin: 0 auto, dar lipsește
float:none`, poți să adaugi și CSS pentru a face să funcționeze cu sistemul de rețea.Metoda preferată de centrarea coloane este de a folosi "compensează" (de exemplu:
col-md-offset-3
)Bootstrap 3.x centrarea exemple
Pentru elemente de centrare, există un centru-bloc` helper class.
Puteți folosi, de asemenea,
text-center
a centrul de text (inline și elemente).Demo: http://bootply.com/91632
EDIT - după Cum sa menționat în comentarii, centru-bloc
funcționează pe coloana conținutul și
display:blockelemente, dar a câștigat't de lucru pe coloana în sine (
col-*` divs) pentru Bootstrap folosește "float".Update 2018
Acum cu Bootstrap 4, la centrare metodele s-au schimbat..
text-center
este încă folosit pentrudisplay:inline
elementemx-auto
înlocuiește centru-blocde la centru
display:block` elementeoffset-*
sau `mx-auto poate fi utilizat de la centrul de coloane gridmx-auto (auto x-axa marjele) va center
display:block " sau " display:flexelemente care au o *definite lățime*, (
%,
vw,
px`, etc..). Flexbox este utilizat în mod implicit de pe grila de coloane, astfel încât există, de asemenea, diverse flexbox de centrare metode.Demo Bootstrap 4 Orizontală Centrarea
Pentru centrarea verticala în BS4 vezi https://stackoverflow.com/a/41464397/171456
Acum Bootstrap 3.1.1 este de lucru cu.centru-bloc`, iar acest lucru helper class funcționează cu coloana sistem.
Bootstrap 3 Helper Class Center.
Vă rugăm să verificați [acest jsfiddle DEMO][2]:
Rând coloana center folosind
col-centru-bloc
helper class.Pur și simplu adăugați următoarele la fișier CSS personalizat. Editare Bootstrap CSS fișiere direct nu este recomandată și anulează capacitatea de a utiliza o CDN.
De ce?
Bootstrap CSS (versiunea 3.7 și inferioară) utilizări margin: 0 auto;, dar devine înlocuite cu proprietatea float de dimensiunea containerului.
PS:
După ce adăugați această clasă, don't uitați să setați clase de ordine.
Bootstrap 3 acum, are un built-in clasa pentru asta.centru-bloc`
Dacă sunteți încă utilizați 2.X atunci trebuie doar să adăugați acest la CSS.
Abordarea mea la centrul de coloane este de a utiliza
display: inline-block pentru coloane și
text-align: center pentru containerului părinte.Trebuie doar să adăugați clasa CSS 'centrat' la "rând".
HTML:
CSS:
JSFiddle: http://jsfiddle.net/steyffi/ug4fzcjd/
Bootstrap versiunea 3 are un .text-center clasa.
Trebuie doar să adăugați această clasă:
Se va încărca pur și simplu acest stil:
Exemplu:
Cu Bootstrap v4, acest lucru poate fi realizat doar prin adăugarea
.justifica-conținut-centru "la".rând
<div>
https://getbootstrap.com/docs/4.0/utilities/flex/#justify-content
Aceasta funcționează. Un hackish mod probabil, dar funcționează bine. Acesta a fost testat pentru receptiv (Y).
Puteți folosi text-center la rând și poate asigura interne divs au
display:inline-block
(cu nu "float").Ca:
Și CSS:
Vioara: http://jsfiddle.net/DTcHh/3177/
Doar seta o coloană care afișează conținutul col-xs-12 (primul mobil ;-) și configurați recipient doar pentru a controla cât de mare vrei centrată pe conținut pentru a fi, deci:
Sau:
Pentru un demo, vezi http://codepen.io/Kebten/pen/gpRNMe :-)
O altă abordare de compensare este de a avea două rânduri goale, de exemplu:
Acest lucru este, probabil, cel mai bun răspuns, dar există mai multe soluții creative pentru asta. După cum a subliniat de către koala_dev coloana de compensare funcționează chiar și numai pentru dimensiunile coloanei. Cu toate acestea, prin cuiburi rânduri puteți realiza centrarea inegale coloane la fel de bine.
Să rămânem cu întrebarea inițială în cazul în care doriți să centru o coloană de 1 într-o grilă de 12.
De exemplu:
A se vedea [acest vioara][1], vă rugăm să rețineți că veți avea de a crește dimensiunea de fereastra de ieșire, în scopul de a vedea rezultatul, altfel coloane se va încheia.
La centrul de la col - avem nevoie pentru a folosi codul de mai jos. cols sunt plutitor elemente în plus marja auto. Vom seta, de asemenea, să plutească nici unul,
La centrul mai sus col-lg-1 cu clasa a centrat, vom scrie:
La centrul de conținutul în interiorul div, folosi
text-align:center
,Dacă doriți pentru a centra doar pe desktop și ecran mai mare, nu pe mobil, apoi utilizați următoarea interogare mass-media.
Și la centrul div doar pe versiunea de mobil, utilizați codul de mai jos.
Acest lucru nu este codul meu, dar functioneaza perfect (testat pe Bootstrap 3) și eu nu't trebuie să mizerie în jurul cu col-offset.
Demo:
Putem realiza acest lucru cu ajutorul aspectul de masă mecanism:
Mecanismul este:
Proba demo este aici
Cu bootstrap 4 puteți încerca pur și simplu
justifica-conținut-md-centru
cum este menționat aiciCa koala_dev utilizate în abordarea lui 1, aș prefera metoda offset în loc de centru-bloc sau marjele de care are utilizare limitată, dar ca el a menționat:
Acest lucru poate fi rezolvată folosind următoarea abordare pentru coloane impare.
Puteți folosi foarte flexibilă soluție flexbox la Bootstrap.
pot centrul coloana ta.
Check out flex.