HTML i CSS rozwinęły się w pewnym stopniu elastyczności, co oznacza, że nawet koncepcyjnie elementy blokujące, takie jak <div>
(najstarsza i najbardziej ogólna forma HTML treści) nie muszą być wyświetlane jako bloki:
div { display: inline; }
Jak można zauważyć, <div>
można go zmienić w celu naśladowania <table>
i innych podróżników. W rzeczywistości większość tagów może. Biorąc pod uwagę ich specjalne role, wątpię można użytecznie przemapować tagi makro jak <html>
, <head>
, <body>
i <script>
, ale „wspólnych” tagów takich jak <div>
, <p>
, <b>
, <em>
, <span>
, i <pre>
? Do zgarnięcia. Ustaw bloki znaczników w linii, bloki w linii, przepływy wstępnie sformatowanych znaczników, pływające stacjonarne. Zaszalej, jeśli chcesz!
To możliwe . Być może zechcesz opowiedzieć o tym, w jaki sposób wszyscy powinniśmy używać „znaczników semantycznych”, bla, bla, bla , bla , bla bla bla , lub wierzyć w Pythonistas, że „Powinien być jeden - a najlepiej tylko jeden - oczywisty sposób na to”. Jednak Tim Toady jest sprytnym i ciekawskim facetem. Mając wolną rękę, zbada je wszystkie. Obejmuje to wykorzystanie dostępnej elastyczności do dokonywania podstawień. Niektóre są mądre, inne zostaną udowodnione w inny sposób. Ale próba, błąd i doświadczenie to jedyny sposób, aby się tego dowiedzieć. Występują więc wystarczające warunki do zastąpienia.
Nie sądzę, aby przesadne było stwierdzenie, że podstawienie jest również konieczne. Jest to co najmniej niezwykle wygodne . Przez długi czas, HTML nie mają <menu>
, <section>
albo <aside>
elementy. Jednak strony internetowe i aplikacje wszędzie mają menu, sekcje i paski boczne. W jaki sposób? Ponieważ elementy listy HTML ( <ul>
, <ol>
i <li>
) można łatwo zmienić przeznaczenie, a niektóre zastosowania zostały ponownie sklasyfikowane jako kontenery i części menu. <div>
mógłby stanąć na <article>
, <section>
, <aside>
, <figure>
, i <summary>
. HTML5 nadrobił zaległości i dodał niestandardowe elementy dla niektórych wcześniej nieadresowanych przypadków użycia. Jest to świetna aktualizacja i korekta pozwalająca na dostosowanie do powszechnego użytku w świecie rzeczywistym.
Mimo to wciąż istnieje wiele popularnych idiomów, które nie mają niestandardowych tagów ani modeli semantycznych . Rzeczy takie jak strony, przypisy, cytaty, strumienie komentarzy, powiązane awatary, „polubienia”, podtytuły i napisy, których ja i wielu innych używam każdego dnia. Co mamy robić? Co możemy Zmień przeznaczenie elementów „bliskich, ale niedokładnych” za pomocą klas i identyfikatorów, aby stać w miejscu i wspierać naszą pracę przez następne pięć lub dziesięć, a nawet wiele lat, aż HTML6 lub HTML7 nadrobią zaległości. Teoretycznie HTML / CSS „tak, to X, ale oznaczymy to tagiem i będziemy pracować z nim jako Y”, jest to niezwykle wygodne. Niezbędne, naprawdę. Sprawia, że zawartość sieci Web jest elastyczna i nie krucha.
Idąc dalej, „znacznik semantyczny” ma nieredukowalne ograniczenia . Dotyczy to każdego rodzaju rygorystycznej struktury, jaką można sobie wyobrazić dla treści.
Standardowe formaty nie mogą obejmować całego bogactwa ludzkich potrzeb, pragnień i różnorodności. Zawsze będą „za zakrętem” tego, co ludzie robią teraz . Jak są innowacyjne. Do licha, HTML5 wciąż pozostaje poza zakresem przypisów, podtytułów i innych innowacji drukarskich XVII wieku. Brakuje funkcji niezbędnych dla wielu pracowników informacji i twórców treści. Improwizujemy.
Jeszcze bardziej niezmienne jest to, że informacje nie podlegają jednemu zestawowi reguł. Jasne, zaczyna się od stołu. Ale może chcesz tylko podsumowanie - wypowiedz tytuł każdego wiersza jako listę. Może zajmuje zbyt dużo miejsca i chciałbyś, aby była to wbudowana lista zajmująca mało miejsca. Być może masz rekordy, których chcesz tylko tytuł, a następnie kliknięcie spowoduje wyświetlenie podstawowych informacji. Lub chcesz, aby elementy ze złożonej listy lub tabeli były grupowane i kategoryzowane. Och, teraz chcesz to przetransponować i skategoryzować w inny sposób. Lub wartości wykreślone jako wykres słupkowy. Są to czynności wykonywane codziennie w aplikacjach, arkuszach kalkulacyjnych i wizualizacji danych. Są nieodłączną częścią naszego krajobrazu informacyjnego i tego, co chcemy i musimy robić w Internecie. Ludzie stale reorganizują formę i prezentację naszych danych. To nie jest tylko jedna rzecz lub jeden format / układ, lub jedna koncepcja. Jest zamienny, z semantyką zależną od okoliczności i wyborów dokonywanych interaktywnie przez użytkowników. Tak, zaznacz tekst jako „wyróżniony” (<em>
), ale to tylko konwencja. Pracowałem nad dokumentami z co najmniej kilkoma różnymi rodzajami „akcentów”. My potrzebujemy , aby móc dostosować i przemapować że dla różnych zastosowań, różne interpretacje. Jeden rodzaj podkreślenia HTML? Zaskakująco redukcjonistyczny. Ograniczanie Kruchy. To samo odnosi się do <table>
, <p>
itp
Wspaniale jest mieć tagi / elementy, które pomagają uporządkować myślenie całej społeczności o tym, co się dzieje. Pomaga to w ustalaniu konwencji i idiomów oraz sprawia, że jesteśmy bardziej wydajni. Ale zdolność do zmiany map, przeprojektowania i zmiany przeznaczenia tych struktur? To nieodłączna część integralności sieci i jej sukcesu.