Używam wyrównania tekstu w stylu CSS, aby wyrównać zawartość wewnątrz kontenera w HTML. Działa to dobrze, gdy zawartość jest tekstowa lub przeglądarka to IE. Ale poza tym to nie działa.
Jak sama nazwa wskazuje, służy on głównie do wyrównywania tekstu. Właściwość align od dawna jest przestarzała.
Czy jest jakiś inny sposób wyrównania treści w html?
html
css
text-align
Hemanshu Bhojak
źródło
źródło
Odpowiedzi:
text-align wyrównuje tekst i inną zawartość w treści. Nie wyrównuje dzieci elementów blokowych.
Aby to zrobić, chcesz nadać elementowi, który chcesz wyrównać, szerokość, z lewym i prawym marginesem „auto”. Jest to sposób zgodny ze standardami, który działa wszędzie z wyjątkiem IE5.x.
Aby to zadziałało w IE6, musisz upewnić się, że tryb standardów jest włączony, używając odpowiedniego DOCTYPE.
Jeśli naprawdę potrzebujesz obsługi trybu IE5 / Quirks, którego w dzisiejszych czasach nie powinieneś, możesz połączyć dwa różne podejścia do centrowania:
(Oczywiście style najlepiej umieszczać w arkuszu stylów, ale wersja wbudowana ma charakter ilustracyjny).
źródło
Możesz to zrobić również w ten sposób:
HTML
CSS
Jak wspomniał Artem Russakovskii , pełny opis można znaleźć w oryginalnym artykule Mattew Jamesa Taylora .
źródło
źródło
Szczerze mówiąc, nienawidzę wszystkich rozwiązań, które do tej pory widziałem, i powiem ci dlaczego: po prostu wydaje się, że nigdy nie dopasowują tego dobrze ... więc oto, co zwykle robię:
Wiem, jakie wartości pikseli mają każdy element div i ich odpowiednie marginesy ... więc wykonuję następujące czynności.
Utworzę opakowujący element div, który ma pozycję bezwzględną i lewą wartość 50% ... więc ten element div zaczyna się teraz na środku ekranu, a następnie odejmuję połowę całej zawartości elementu div ... i otrzymuję PIĘKNIE skalowanie treści ... i myślę, że to działa również we wszystkich przeglądarkach. Wypróbuj sam (w tym przykładzie przyjęto, że cała zawartość Twojej witryny jest opakowana w znacznik DIV, który używa tej klasy opakowania, a cała zawartość ma szerokość 200 pikseli):
EDYCJA: zapomniałem dodać ... możesz też chcieć ustawić szerokość: 0px; w tym opakowującym elemencie div, aby niektóre przeglądarki nie wyświetlały pasków przewijania, a wtedy możesz użyć pozycjonowania bezwzględnego dla wszystkich wewnętrznych elementów div.
Działa to również NIESAMOWITE przy wyrównywaniu treści w pionie, a także przy użyciu top: 50% i margin-top. Twoje zdrowie!
źródło
Oto technika, której używam, która działa dobrze:
źródło
Poniżej znajdują się metody, które zawsze działały dla mnie
Ustaw wyświetlanie nadrzędnego elementu DIV na
display: flex;
i możesz wyrównać elementy podrzędne wewnątrz elementu DIV, używającjustify-content: center;
(aby wyrównać elementy na głównej osi) ialign-items: center;
(aby wyrównać elementy na osi poprzecznej).Jeśli masz więcej niż jeden element podrzędny i chcesz kontrolować sposób ich ułożenia (kolumny / wiersze), możesz również dodać
flex-direction
właściwość.Przykład pracy:
2. (starsza metoda) Korzystanie z pozycji, właściwości marginesów i stałego rozmiaru
Przykład pracy:
źródło
Wszystkie odpowiedzi mówią o wyrównaniu poziomym.
Aby wyrównać w pionie wiele elementów treści, spójrz na to podejście:
źródło
Kolejny przykład wykorzystujący HTML i CSS:
źródło