(Como estamos no SE.SX, uma abordagem mais estratégica pode ser um aumento valioso das considerações técnicas usuais.)
[preâmbulo] A especificação do HTML5 é um alvo em constante movimento e eles têm uma política para acompanhar as práticas comuns estabelecidas. Eles obsoletos e ressuscitaram recursos no passado, mudaram o significado dos outros, mudaram o foco das recomendações metódicas, etc. Não está escrito por toda a eternidade, com toda a sabedoria da humanidade disponível de uma só vez. A especificação não é uma fonte sagrada da verdade. É natural que às vezes os navegadores estejam certos. [/preâmbulo]
A situação do OP é esmagadoramente comum e válida.
Você tem um CMS, com o tema projetado e instalado, todo o CSS carregado corretamente a partir do HEAD, e aí está, o editor de páginas, deixado com uma caixa WYSIWYG moderna que você pode (graças a Deus!) Alternar para o "modo de origem" e digite (cole) na marcação HTML (criada anteriormente em outro lugar, com as ferramentas mais adequadas). Felizmente, você pode até incluir STYLE
tags (talvez devido a uma omissão acidental em um filtro de tags) ... O dia é salvo, devido a muito trabalho repetitivo que destrói a alma. Mas você ainda não tem meios de interferir com o elemento HEAD do sistema em um cenário de edição de página.
Isso deve impedir você de usar seu CSS de maneira direta com seus fragmentos HTML, apenas porque a especificação o diz?
Ou você tem um aplicativo AJAX de página única.
Ele está sendo executado sem recarga por uma longa sessão e há conteúdo sindicalizado vindo de várias fontes aleatórias, todas com estilo arbitrário e independente. Exigir que eles sejam primeiro convertidos para usar apenas STYLE
atributos inline, em vez de apenas virem com um STYLE
elemento incorporado , seria absurdo.
Além disso: você pode: a) já incorporar qualquer CSS em qualquer lugar nos atributos, BODY
via STYLE
, para que o CSS seja "teoricamente" legal lá; eb) você já pode fazer o que quiser com praticamente qualquer estilo, sempre que quiser (e muito mais) do Javascript, para que o CSS também já seja possível usar indevidamente de maneiras patologicamente não-performáticas. E nenhum de nós jamais objetaria esses recursos. O W3C também não.
Então, o que exatamente há de tão mau nos STYLE
elementos do BODY
? Quais são as implicações adversas extras que isso adicionaria ao nosso amplo arsenal de abuso de construções HTML? Mais desempenho ruim? Provavelmente. As vezes.
Esse é um motivo válido para abolir essa prática incrivelmente útil, suportada por todos os navegadores por um motivo? Não em um milhão de milhas!
Nós não somos idiotas. Bem, nem todas, ou nem sempre ...;) Técnicas com risco de baixo desempenho poderiam simplesmente ser documentadas , e não apenas proibidas. Costumávamos ter applets Java nos primeiros dias da Web e sobrevivíamos. Os carros podem ser mal utilizados, causando miséria, até os alimentos podem ser usados de maneiras perturbadoras e ineficientes, e os motoristas que podem comer podem ser, em média, ainda mais estúpidos do que os web designers comuns. Além disso, Prezado W3C, não precisa se preocupar: os rebanhos furiosos de mexilhões em HTML com suas pernas disparadas com STYLE
elementos no BODY
ainda não podem ir atrás do W3C e se vingar. Eles não sabem o endereço. E eles não têm pernas.
Então, por favor: faça sua voz ser ouvida por STYLE
se tornar legal BODY
! Citar o texto obedientemente, mas não fornecer uma alternativa viável melhor do que a situação atual não ajuda. Na verdade, é uma ameaça para essa técnica de solução alternativa de último recurso.
Lembre-se: a especificação HTML5 é chamada de recomendação .