Oto dwie proste metody wyśrodkowania elementów div w elementach div, w pionie, poziomie lub w obu (czysty CSS): stackoverflow.com/a/31977476/3597276
Michael Benjamin
Odpowiedzi:
158
Zakładam, że nadrzędny element DIV nie ma szerokości ani dużej szerokości, a element podrzędny ma mniejszą szerokość. Poniższe instrukcje ustawią marginesy na górze i na dole na zero, a boki tak, aby pasowały automatycznie. To skupia div.
@Znak. Czy wiesz, jak sprawić, by działał w IE6? IE6 naprawdę jest do bani, ale nadal niektórzy z niego korzystają.
Bakhtiyor,
@Bakhtiyor: o ile pamiętam, tak. Jakie problemy widzisz? możesz otworzyć nowe pytanie, jeśli masz jakiś konkretny problem, który nie został wcześniej poruszony. Nie mam jednak dostępu do IE6, żeby to sprawdzić.
Mark Embling,
3
@Bakhtiyor: faktycznie konieczności myślenia o tym, myślę, że w IE.old trzeba także zestaw text-align: center;na parentdiv, a następnie ustawić go z powrotem do lewej (lub cokolwiek) do childjednego. Nie jestem pewien, czy ten problem dotyczy IE6 ...
Mark Embling,
@Mark & @Bakhtiyor z jakiegoś powodu moje childdiv pozornie przesunięte w lewo - w porównaniu do przeglądarek, które są bardziej zgodne ze standardami - we wszystkich wersjach IE, które sprawdziłem (IE6-8). I text-align: center;dla parenti text-align: left;dla childnaprawiono to dla wszystkich tych wersji.
Możesz użyć wartości „auto” dla lewego i prawego marginesu, aby przeglądarka rozdzieliła dostępne miejsce równomiernie po obu stronach wewnętrznego elementu div:
Odpowiedzi:
Zakładam, że nadrzędny element DIV nie ma szerokości ani dużej szerokości, a element podrzędny ma mniejszą szerokość. Poniższe instrukcje ustawią marginesy na górze i na dole na zero, a boki tak, aby pasowały automatycznie. To skupia div.
źródło
text-align: center;
naparent
div, a następnie ustawić go z powrotem do lewej (lub cokolwiek) dochild
jednego. Nie jestem pewien, czy ten problem dotyczy IE6 ...child
div pozornie przesunięte w lewo - w porównaniu do przeglądarek, które są bardziej zgodne ze standardami - we wszystkich wersjach IE, które sprawdziłem (IE6-8). Itext-align: center;
dlaparent
itext-align: left;
dlachild
naprawiono to dla wszystkich tych wersji.źródło
text-align:left;
do divtext-align:center
do elementu DIV dziecka czy DIV nadrzędnego?Po prostu z ciekawości, jeśli chcesz wyśrodkować dwa lub więcej elementów div (tak, aby znajdowały się obok siebie w środku), oto jak to zrobić:
źródło
Możesz użyć wartości „auto” dla lewego i prawego marginesu, aby przeglądarka rozdzieliła dostępne miejsce równomiernie po obu stronach wewnętrznego elementu div:
źródło
źródło