Viac na
Vystredenie stĺpca pomocou Twitter Bootstrap 3
Ako môžem vycentrovať div veľkosti jedného stĺpca v rámci kontajnera (12 stĺpcov) v Twitter Bootstrap 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>
Chcem, aby bol div
s triedou .centered
vycentrovaný v rámci kontajnera. Možno použijem riadok, ak bude viac div
, ale zatiaľ chcem len div
s veľkosťou jedného stĺpca vycentrovaný v rámci kontajnera (12 stĺpcov).
Tiež si nie som istý, či je vyššie uvedený prístup dostatočne dobrý, pretože zámerom nie je odsadiť div
o polovicu. Nepotrebujem voľné miesta mimo div
a obsah div
sa proporcionálne zmenší. Chcem, aby sa prázdny priestor mimo divu rovnomerne rozdelil (zmenšoval sa, až kým sa šírka kontajnera nebude rovnať jednému stĺpcu).
1107
3
Existujú dva prístupy k centrovaniu stĺpca
<div>
v Bootstrap 3:Prístup 1 (odsadenie):
Prvý prístup využíva vlastné triedy odsadenia Bootstrap'u, takže nevyžaduje žiadnu zmenu v značkovaní a žiadne dodatočné CSS. Kľúčom je nastaviť offset rovnajúci sa polovici zostávajúcej veľkosti riadku. Takže napríklad stĺpec veľkosti 2 by sa vycentroval pridaním posunu 5, teda
(12-2)/2
.V značkovaní by to vyzeralo takto:
Táto metóda má zjavnú nevýhodu. Funguje len pre párne veľkosti stĺpcov, takže sú podporované len
.col-X-2
,.col-X-4
,col-X-6
,col-X-8
acol-X-10
.Prístup 2 (starý prístup
margin:auto
)Pomocou osvedčenej techniky
margin: 0 auto;
môžete vycentrovať ľubovoľnú veľkosť stĺpca. Musíte sa len postarať o plávajúce stĺpce, ktoré pridáva mriežkový systém Bootstrap'. Odporúčam definovať vlastnú triedu CSS, ako je nasledujúca:Teraz ju môžete pridať do ľubovoľnej veľkosti stĺpca pri ľubovoľnej veľkosti obrazovky a bude bez problémov fungovať s responzívnym rozložením Bootstrap'u:
Poznámka: Pri oboch technikách by ste mohli vynechať prvok
.row
a mať stĺpec vycentrovaný vo vnútri prvku.container
, ale v skutočnej veľkosti stĺpca by ste zaznamenali minimálny rozdiel kvôli výplni v triede kontajnera.Aktualizácia:
Od verzie 3.0.1 má Bootstrap zabudovanú triedu s názvom
center-block
, ktorá používamargin: 0 auto
, ale chýbafloat:none
, môžete ju pridať do svojho CSS, aby fungovala so systémom mriežky.Bootstrap 3 má teraz zabudovanú triedu pre tento
.center-block
Ak stále používate verziu 2.X, stačí ju pridať do CSS.
Toto funguje. Pravdepodobne je to hackerský spôsob, ale funguje to dobre. Bolo to testované pre responzívne (Y).