(Ponieważ jesteśmy tutaj w SE.SX, bardziej strategiczne podejście może być cennym uzupełnieniem zwykłych względów technicznych.)
[preambuła] Specyfikacja HTML5 jest ciągle zmieniającym się celem i mają one politykę, którą należy podjąć w związku z ustaloną powszechną praktyką. Przestarzałe i wskrzeszone cechy w przeszłości, zmieniły znaczenie innych, przestawiły się na zalecenia metodyczne itp. Nie jest napisane na całą wieczność, z całą mądrością ludzkości dostępną jednocześnie. Specyfikacja nie jest świętym źródłem prawdy. To naturalne, że czasami przeglądarki mają rację. [/preambuła]
Sytuacja OP jest przeważnie powszechna i ważna.
Masz CMS, z jego motywem zaprojektowanym i zainstalowanym, cały CSS załadowany poprawnie z HEAD, a potem jesteś, edytor stron, pozostawiony z modnym pudełkiem WYSIWYG, które możesz (dzięki Bogu!) Przełączyć na „tryb źródłowy” i wpisz (wklej) w znacznikach HTML (wcześniej spreparowanych gdzie indziej, z bardziej odpowiednimi narzędziami). Na szczęście możesz nawet dołączyć STYLE
tagi (być może z powodu nieoczekiwanego pominięcia w filtrze tagów) ... Dzień jest uratowany, od wielu powtarzalnych, niszczących duszę chrząknięć. Ale nadal nie masz możliwości ingerowania w element HEAD systemu w scenariuszu edycji strony.
Czy powinno to pozbawić cię możliwości korzystania z CSS w prosty sposób z fragmentami HTML, tylko dlatego, że specyfikacja tak mówi?
Lub masz jednostronicową aplikację AJAX.
Działa bez przeładowywania przez długą sesję, a zawartość syndykowana pochodzi z różnych losowych źródeł, wszystkie dowolnie i niezależnie. Wymaganie, aby je najpierw przekonwertować, aby używały tylko STYLE
atrybutów wbudowanych, zamiast samego STYLE
elementu osadzonego , byłoby absurdalne.
Co więcej: możesz: a) już osadzić dowolny CSS w dowolnym miejscu BODY
, poprzez STYLE
atrybuty, więc CSS jest i tak „teoretycznie” legalny; i b) możesz już robić, co chcesz, z dowolnym stylem, kiedy tylko chcesz (i więcej) z Javascript, więc CSS jest już możliwe do niewłaściwego użycia w sposób patologicznie nieskuteczny. I nikt z nas nigdy nie sprzeciwiłby się tym cechom. Podobnie jest z W3C.
Więc co dokładnie jest takiego złego STYLE
w elementach BODY
? Jakie są te dodatkowe niekorzystne implikacje, które dodałoby to do naszego szerokiego arsenału nadużyć wobec konstrukcji HTML? Więcej słabej wydajności? Prawdopodobnie. Czasami.
Czy to uzasadniony powód do zniesienia tej niezwykle przydatnej praktyki, obsługiwanej przez każdą przeglądarkę z jakiegoś powodu? Nie za milion mil!
Nie jesteśmy idiotami. Cóż, nie wszystkie lub nie zawsze ...;) Techniki z ryzykiem słabej wydajności można po prostu udokumentować , a nie po prostu zabronić. Kiedyś mieliśmy aplety Java we wczesnych dniach Internetu i przetrwaliśmy. Samochody mogą być niewłaściwie wykorzystywane, powodując nieszczęście, a nawet żywność może być wykorzystywana w niepokojący, nieefektywny sposób, a kierowcy, którzy mogą jeść, mogą być średnio nawet bardziej głupi niż przeciętny projektant stron internetowych. Poza tym, Drogi W3C, nie musisz się martwić: wściekłe stada majsterkowiczów HTML, których nogi zostały postrzelone z STYLE
elementami BODY
wciąż nie mogą pójść za W3C i zemścić się. Nie znają adresu. I nie mają nóg.
Więc proszę: spraw, aby twój głos został usłyszany za STYLE
legalność BODY
! Posłuszne cytowanie tekstu, ale nie przedstawienie realnej alternatywy lepszej niż obecna sytuacja, nie jest pomocne. W rzeczywistości stanowi to zagrożenie dla tej ostatniej metody obejścia.
Pamiętaj: specyfikacja HTML5 nazywa się rekomendacją .