A contradição de redefinição CSS – SitePoint


Nosso campo (do desenvolvimento da web e front -end) tem usado as redefinições – que, por simplicidade, inclui “reinicializações” e “normalizadores” – por cerca de 20 anos. Eu digo “sobre” porque parece Tantek Çelik teve tudo começou em 2004 (Onde você também encontra o seu verdadeiramente), mas outros autores podem ter usado técnicas semelhantes ainda mais cedo.

Premissas

As redefinições de CSS são baseadas em três instalações:

  1. Existem diferenças na forma como os agentes de usuários apresentam páginas da web, ou seja, seus Os estilos padrão variam.
  2. Essas diferenças afetam o site especificado.
  3. As diferenças são importantes a serem tratadas.

Deveria ser óbvio dizer que, se – ou uma vez – todos os agentes de usuários lidam com o CSS da mesma maneira, não há necessidade de uma redefinição de CSS.

Também deve ser óbvio que, se as diferenças não se aplicarem, também não há necessidade de uma redefinição de CSS. Por exemplo, as diferenças de estilo de formulário não importam em sites sem forma.

E – muitos argumentos têm desnecessariamente Partidos por isso – isso também significa que, se as diferenças não forem consideradas importantes o suficiente, também não há necessidade de uma redefinição de CSS.

Acredito que o que vimos ao longo dos últimos 20 anos é que nem todos os autores prestaram atenção em saber se o estilo de diferenças entre os agentes de usuários os afetou e se as diferenças realmente importavam.

Mas há outros problemas também.

Realidade

Para os usuários de redefinição do CSS, a realidade é que eles sentem a necessidade de usar uma redefinição CSS. É possível (e também provável) que existem usuários de redefinição de CSS que não se sintam assim e usam uma redefinição de CSS porque precisam ou porque se sentem mais seguros usando -os. Praticamente falando, no entanto, usar uma redefinição de CSS também faz parte de sua realidade.

O que os usuários de redefinição do CSS perdem é que há outra realidade, a saber, a dos desenvolvedores e proprietários de sites que fazem não Use redefinições CSS.

Isso é explicável pelas premissas descritas anteriormente, mas é interessante por duas razões.

  1. Que existem sites e aplicativos por aí que não usam e que funcionam bem sem uma redefinição CSS é praticamente nunca sendo discutido No contexto das redefinições de CSS.
  2. Quando tomamos as posições extremas de sempre e nunca precisando de uma redefinição de CSS, posições que observamos na prática, então acabamos com uma contradição. P & ¬p. *

Embora as premissas permitam conciliar a contradição, o problema persiste: em nosso discurso sobre redefinições de CSS, ninguém parece admitir que existem sites que funcionam sem redefinições – algo que desafia fundamentalmente e contradiz a noção “fundamentalista” do CSS que sempre eram necessários. Isso simplesmente não é verdadeiro, nem útil.

Isso é tudo, no entanto? Não:

Conveniência

As redefinições de CSS se tornaram uma forma de mercadoria. Há muitos deles (Uma pesquisa mostra mais variedade do que a melhor coleção que pude encontrar), e eles estão sendo assados ​​em algumas estruturas HTML/CSS e até JS.

Isso facilita os desenvolvedores para esquecer as instalações e assumir uma necessidade geral de redefinições de CSS.

O que poderíamos observar há muito tempo, é que as pessoas pararam de questionar seu uso de redefinições, mesmo quando eles podem não ter efeito.

Consequências

Semelhante a Os efeitos do envio inválido e fantasia htmltudo isso está mordiscando o ofício do desenvolvimento de front -end.

Quais são as nossas opções?

Primeiro, precisamos ser claros sobre as instalações por trás das redefinições do CSS e incluir as instalações em nossas discussões. Isso permitirá menos calor no discurso, mas também melhores decisões.

Segundo, precisamos fazer verificações de realidade. Existem muitos sites e aplicativos por aí que não usam uma redefinição CSS e que funcionam completamente bem em todos os agentes de usuários. Isso faz parte da nossa realidade e, dada a pegada de desempenho e manutenção de alguns redefinições de CSS, é uma realidade que vale a pena prestar atenção.

Terceiro, precisamos nos desafiar e, talvez mais importante, nós mesmos. Buscar a conveniência parece natural e, no entanto, é importante ficar claro sobre as consequências – a conveniência leva facilmente à complacência, dogma e, eventualmente, ignorância. É útil Torne nosso desenvolvedor vive um pouco difícil.

Quando fazemos tudo isso, devemos chegar onde poderíamos ter chegado há 20 anos – a um lugar onde fazemos muito Uso seletivo de redefinições personalizadas, provavelmente apenas em ambientes de alta complexidade técnica ou grande diversidade na antiguidade do desenvolvedor. Mas isso é especulação, sobre um presente que não temos.

O título deixou intencionalmente incompleto.

Muito obrigado a Miriam Suzanne e Jad Joubran para revisar este post.



Source link