Qual CSS de redefinição HTML5 você usa e por quê? [fechadas]

123

Qual CSS de redefinição HTML5 você usa e por quê? Existe um que você encontrou para cobrir mais casos?

Comecei a usar o HTML5 Doctor's: http://html5doctor.com/html-5-reset-stylesheet/ Parece funcionar, mas estou me perguntando se há algo melhor por aí.

Darryl Hein
fonte
É semelhante, sim, mas estou procurando apenas usar outras pessoas em vez de modificar uma para fazê-la funcionar para que em uma data posterior, se necessário, eu possa copiar uma versão mais recente.
Darryl Hein
20
D_N Entendo isso, mas o HTML5 afeta o CSS, especialmente em um CSS redefinido, no qual você agora precisa incluir outras tags, como nav ou aparte.
Darryl Hein

Respostas:

40

Discussão real: Apesar das remarcações, o kaikai está certo, você só precisa redefinir * padding & margin para 0.

Embora, infelizmente, 99% de nós não tenham recursos ou mão de obra para acompanhar as centenas de versões de navegadores disponíveis. Portanto, uma folha de redefinição é essencial para o site típico.

html5reset: (é muito interferente)

Acabei de dar uma olhada em http://html5reset.org/

img,
object,
embed {max-width: 100%;}

E:

html {overflow-y: scroll;}

Entendo que tem boas intenções, mas esse não é o trabalho de uma planilha de redefinição. Está fazendo muitas suposições.

Redefinição do BluePrint: (literalmente um projeto)

body {
  line-height: 1.5;
  background: white;
}

O que há com 1.5. E por que o fundo branco? (Eu sei que é para corrigir, mas ainda não é necessário)

Normalize.css: (não normal)

https://github.com/necolas/normalize.css/blob/master/normalize.css

Começou bem com alguns webkit / ie hacks, mas

h1 {
    font-size: 2em;
    margin: 0.67em 0;
}

h2 {
    font-size: 1.5em;
    margin: 0.83em 0;
}

h3 {
    font-size: 1.17em;
    margin: 1em 0;
}

h4 {
    font-size: 1em;
    margin: 1.33em 0;
}

h5 {
    font-size: 0.83em;
    margin: 1.67em 0;
}

h6 {
    font-size: 0.75em;
    margin: 2.33em 0;
}

Cada tag de cabeçalho é direcionada. e eles não redefinem a altura da linha do corpo.

Tenho certeza de que tudo o que foi dito acima faz bem o trabalho pretendido, mas provavelmente será substituído mais que o necessário.

Eric Meyer

YUI

HTML5Boilerplate

Os itens acima são mais para profissionais com o Boilerplate inclinado para o lado (mais amigável), tenho certeza devido à popularidade. No momento, 80% da minha redefinição personalizada é padrão.

Vou seguir todos os três bits e fazer o meu, não é ciência de foguetes.

Indefinido
fonte
2
Observe que o normalize.css mudou agora; o tamanho da fonte dos títulos não está mais definido.
Ruben Verborgh
2
Vale ressaltar que o Normalize.css não apenas gerencia navegadores de desktop, mas também navegadores móveis como iOS Safari, Chrome for Android, navegadores de ações etc., que são únicos por si só. Por esse motivo e outros, o Normalize é incorporado em muitas estruturas populares.
Matt Smith
Eu costumava usar 'Eric Meyer', mas agora uso a folha de estilos de redefinição 'YUI' por causa disso: danielsokolowski.blogspot.ca/2012/11/…
Daniel Sokolowski
19

O Normalize.css é ótimo para navegadores de desktop e móveis e é usado em muitos modelos HTML populares.

Mas e quanto a usar a allpropriedade CSS , que redefine as propriedades CSS, exceto directione unicode-bidi? Dessa forma, você não precisa incluir nenhum arquivo adicional:

{
    all: unset
}

O CSS allpossui amplo suporte, exceto no IE / Edge. Da mesma forma com unset.

Matt Smith
fonte
Interessante, mas parece ser a solução mais lenta e suportada apenas no Firefox, portanto, não tem nenhum uso real (pelo menos neste momento).
tomasz86
É verdade que apenas o Firefox o suporta no momento, mas acho que ele tem uma boa chance de acabar em soluções como Modernizr. github.com/Modernizr/Modernizr/issues/1219
Matt Smith
6

O reset.css usado pela estrutura CSS do Blueprint funciona bem e inclui elementos HTML5. É incluído no screen.css arquivo .

O Blueprint é um recurso útil para a rápida criação de protótipos de novos sites, e seu código-fonte é bem organizado e vale a pena aprender.

calvinf
fonte
4

Eric Meyer também lançou a versão 2 de seu CSS reset (e o fez quase um ano atrás agora):

http://meyerweb.com/eric/tools/css/reset/

Illes Peter
fonte
Simples, mas eficaz e mais rápido do que as redefinições que dependem do seletor universal *.
tomasz86
3
  1. Preserva os padrões úteis, ao contrário de muitas redefinições de CSS.
  2. Normaliza estilos para uma ampla variedade de elementos HTML.
  3. Corrige bugs e inconsistências comuns do navegador.
  4. Melhora a usabilidade com melhorias sutis.
  5. Explica o que o código faz usando comentários detalhados.

normalize.css

zzart
fonte
2
* {
    margin: 0;
    padding: 0;
}

simples, mas totalmente eficaz. talvez jogue um:

body {
    font-size: small;
}

para uma boa medida.

Kaikai
fonte
9
Zapping a margem padrão e o preenchimento nos controles de formulário podem ter efeitos indesejados e as palavras-chave com tamanho de fonte nomeadas não têm um comportamento totalmente consistente entre os navegadores. Isso é excessivamente simplista. Ele também falha ao definir estilos para os elementos introduzidos no HTML 5, portanto eles permanecem display: inline.
Quentin
4
Discordo. Margem e preenchimento são as únicas propriedades imprevisíveis. A propriedade tamanho da fonte usa uma palavra-chave nomeada para direcionar especificamente navegadores que os leem, o que torna a escala da fonte YUI eficaz em todos os principais navegadores ( developer.yahoo.com/yui/examples/fonts/fonts-size_source.html ). Eu também nunca desejaria impor o fluxo normal de elementos e, portanto, deixaria esses elementos do HTML 5 em paz, apenas alterando seu tipo de exibição ou posicionamento conforme necessário. Sei que minha escolha é impopular, mas é muito mais elegante que outras soluções e funciona.
Kaikai #
3
Não não não não não! Os elementos HTML5 não têm a propriedade de exibição definida; portanto, eles retornam normalmente ao padrão display: inline. Você já viu um diagrama do site em que o cabeçalho, rodapé, navegação, colunas laterais e praticamente todas as seções da página fluem em linha ??? Desculpe kaikai, mas isso simplesmente não é aceitável!
Filip Dupanović
Cara, eu nem sou um guru do HTML5 (ainda) e sei que isso não é totalmente o caminho certo para redefinir.
Icemanind
4
Resposta absolutamente válida. A única desvantagem é que os *seletores são lentos, ouvi dizer.
Anton Strogonoff
2

A especificação HTML5 inclui declarações CSS recomendadas para navegadores compatíveis com CSS. Por diversão, peguei-os e revirei-os, onde faz sentido. Você pode ver o resultado neste artigo .

No entanto , eu não recomendo usar isso na produção. É mais uma prova de conceito e pode ser melhor usada para fornecer dicas do que para servir como uma folha de estilo de redefinição para todos os fins. Qualquer uma das outras sugestões anteriores pode ser uma escolha melhor.

Boldewyn
fonte
0

Uso Normalize ou a redefinição do HTML5 Doctor e a altero para caber no projeto em que estou trabalhando.

BTW, é apenas o conceito de usar uma redefinição que se tornou mais ou menos um padrão.

cornishninja
fonte
Você tem algum detalhe adicional?
James A Mohler
Não deixo em elementos que não estou usando um projeto específico. Por exemplo, removo elementos de formulário se não estiver usando formulários. Tenho certeza que você entendeu. Não faz sentido redefinir elementos que você não está usando.
cornishninja
Para fazer backup de meu ponto sobre como modificar o reset para caber minhas necessidades: cssreset.com/which-css-reset-should-i-use
cornishninja