Jestem ciekawy, dlaczego <center>
znacznik w HTML był przestarzały.
<center>
Był prosty sposób szybko centrum wahliwe bloków tekstu i obrazów przez umieszczenie pojemnika w <center>
tagu, a ja naprawdę nie można znaleźć żadnych prostszy sposób, w jaki to zrobić teraz.
Czy ktoś wie o prostym sposobie wyśrodkowania „rzeczy” (a nie o margin-left:auto; margin-right:auto;
szerokości i szerokości), czymś, co zastępuje <center>
? A także, dlaczego był przestarzały?
źródło
margin
itext-align
nie wyśrodkowywało mojego elementu w IE, ale owijanie go<center>
działało ... Spróbuję znaleźć przykład.display: block;
na elemencie wbudowanym.Według W3Schools.com ,
Specyfikacja HTML 4.01 podaje następujący powód wycofania tagu:
źródło
To, co robię, to podejmowanie typowych zadań, takich jak centrowanie lub pływanie, i tworzenie z nich klas CSS. Gdy to zrobię, mogę ich używać na dowolnej stronie. Mogę również wywołać tyle, ile chcę w tym samym elemencie.
Teraz mogę ich używać w kodzie HTML do wykonywania prostych zadań.
źródło
Nadal czasami używam tagu <center>, ponieważ nic w CSS również nie działa. Przykłady próby użycia sztuczki <div> i niepowodzenia:
<center> otrzymuje wyniki. Aby zamiast tego użyć CSS, czasami trzeba umieścić CSS w kilku miejscach i zepsuć go, aby wyśrodkować. Aby odpowiedzieć na twoje pytanie, CSS stało się religią wyznawców i wyznawców, którzy unikali <center> <b> <i> <u> jako bluźnierstwa, bezbożności i zbyt prostych ze względu na bezpieczeństwo pracy. A jeśli spróbują zabrać ci <table> od ciebie, zapytaj ich, jaki jest CSS odpowiednika atrybutu colspan lub rowspan.
Liczy się nie prawda abstrakcyjna czy książkowa, ale żywa prawda.
- Zen
źródło
display:flex; justify-content:center; text-align:center
Nadal możesz go używać z XHTML 1.0 Transitional i HTML 4.01 Transitional, jeśli chcesz. Jedyny inny sposób (moim zdaniem najlepszy sposób) to marginesy:
Twój HTML powinien definiować element, a nie regulować jego prezentację.
źródło
Ma to oznaczać, że znaczniki, tj. Znaczniki HTML, reprezentują znaczenie i strukturę, a nie wygląd. Został źle wymieszany we wczesnych wersjach HTML, ale standardy, które ludzie starają się teraz oczyścić.
Jednym z problemów z zezwoleniem tagom na kontrolowanie wyglądu jest to, że strony nie działają dobrze z urządzeniami dla osób niepełnosprawnych, takimi jak czytniki ekranu. Prowadzi to również do posiadania wielu znaczników w tekście, które nie pomagają wyjaśnić znaczenia, ale raczej zaśmiecają je informacjami na innym poziomie.
Dlatego CSS został wymyślony, aby przenieść formatowanie / wyświetlanie na inny język, który jest niezależny od tekstu i można go łatwo zachować w ten sposób. Pozwala to między innymi na zmianę arkuszy stylów w celu zmiany wyglądu strony internetowej bez dotykania innych znaczników. I aby móc to zrobić dla wielu stron w jednym puchu.
Narzędzia, które oferuje CSS, nie zawsze są eleganckie, jestem po twojej stronie. Na przykład nie ma możliwości skutecznego centrowania w pionie. A centrowanie w poziomie, jeśli nie jest to tylko tekst
text-align
, nie jest dużo lepsze.Masz wybór robienia łatwych, skutecznych i mętnych lub czystych, eleganckich i nieporęcznych. Nie rozumiem, dlaczego programiści sieci znoszą ten bałagan, ale sądzę, że cieszą się, że mają przynajmniej szansę na załatwienie swoich spraw.
źródło
HTML jest przeznaczony do strukturyzacji danych, a nie kontrolowania układu. CSS ma na celu kontrolę układu. Przekonasz się również, że wielu projektantów niechętnie korzysta
<table>
z układów z tego samego powodu.źródło
Do tekstu i obrazów możesz użyć
text-align
:źródło
CSS ma
text-align: center
właściwość, a ponieważ jest to czysto wizualna rzecz, a nie semantyczna, należy przenieść ją do CSS, a nie HTML.źródło
text-align
wyrówna zawartość pojemnika, a nie sam pojemniktext-align: center
na elemencie nadrzędnym.<center>
robi oba . Jest denerwująco szeroki.Jedzenie do namysłu: co zrobiłby syntezator syntezatora mowy
<center>
?źródło
Możesz dodać to do swojego css i użyć
<div class="center"></div>
lub jeśli chcesz zachować
<center></center>
i przygotować się na wypadek, gdyby kiedykolwiek został usunięty, dodaj to do swojego cssźródło
Najmniej popularna odpowiedź
center
jest jednym z nich;center
Tag nie jest taka sama jak div ztext-align:center
;Pozwól mi wyjaśnić, ponieważ są tutaj notoryczni downvoters, którzy będą myśleć, że bronię oldschoolowego HTML4 czy coś takiego. Nie, nie jestem. Ale debata wokół
center
to po prostu wojna trendów, nie ma prawdziwego powodu, aby porzucić tag, który dobrze służy słusznemu celowi.Zobaczmy więc główne argumenty przeciwko niemu.
„Opisuje prezentację, a nie semantykę!”
Nie. Opisuje logiczny układ - i tak ma domyślny wygląd, podobnie jak inne znaczniki, takie jak
<p>
lub<ul>
robią. Chodzi jednak o związek części zamkniętej z otoczeniem. Centrum mówi „to jest coś, co oddzielamy przez wizualnie różne pozycjonowanie”.„To nieważne”
Tak, to prawda. To jest po prostu przestarzałe, ponieważ w, można go później usunąć . Od ponad 15 lat. I najwyraźniej nigdzie nie idzie. Istnieją główne witryny, które używają tego tagu, ponieważ jest on bardzo czytelny i do rzeczy.
„Nie jest obsługiwany w HTML5”
To jeden z najczęściej obsługiwanych tagów.
Sznurowadła „oldschool” też są oldschoolowe. Nowe metody nie unieważniają starej. Chcesz poczuć się progresywnie i nowocześnie: w porządku. Ale nie rób z tego prawa.
„To głupie / niezręczne / lame / opowiada o tobie”
Żadne z nich. To jak młotek: jedno narzędzie do określonej pracy. Istnieją inne narzędzia dla tego samego zadania i inne zadania dla tego samego narzędzia; ale został stworzony, aby rozwiązać określony problem, a problem ten nadal istnieje, więc równie dobrze możemy po prostu użyć dedykowanego rozwiązania.
„Nie powinieneś tego robić, ponieważ CSS”
Centrowanie można absolutnie osiągnąć za pomocą CSS, ale to tylko jeden sposób, nie jedyny, a tym bardziej jedyny odpowiedni . Wszystko, co jest obsługiwane, działające i czytelne, powinno być w porządku.
TL; DR:
źródło