O que há de novo no HTML5 / CSS3?


23

Eu já vi esse site e esse site , mas isso é muito para digerir. Quais são as principais coisas do HTML5 que o tornam diferente / melhor do que o HTML / CSS antigo comum (X)?

Respostas:


33

O HTML5 é enorme , mas também incrível .

Na minha opinião, é principalmente sobre interoperabilidade . A especificação vai e especifica até casos extremos para tentar garantir que todos os navegadores leiam a marcação da mesma maneira .

Em segundo lugar, o HTML5 possui vídeo e áudio, que fazem exatamente o que o nome diz que faz. Se você deseja incluir vídeo ou áudio, o HTML5 deve reduzir as necessidades de seu plug-in.

Em terceiro lugar, o HTML5 inclui muita acessibilidade e ajuda semântica. Por exemplo, elementos como <section>e <article>ajudam as máquinas a descobrir qual conteúdo deve ser. Novos tipos de entrada como <input type=email>também podem ser úteis pelos mesmos motivos, embora os novos tipos de entrada incluam UIs personalizadas que os tornam úteis mesmo para leitores humanos "comuns".

Observe que os novos recursos de formulários são muito mais que novos tipos de entrada. Ele também inclui suporte para texto de espaço reservado e vários outros atributos.

O HTML5 inclui <canvas>, o que permite desenhar formas 2D (e, com WebGL, 3D) como gráficos ou até renderizar jogos.

O comportamento antigo agora é padronizado, como o antigo do Internet Explorer contentEditable.

O DOCTYPE é finalmente decente! Agora você pode memorizá-lo!<!DOCTYPE html>

Especificar a codificação também é mais fácil, com <meta charset=utf-8>.

Se você deseja enviar dados para o cliente e associá-los a elementos, agora pode fazê-lo com atributos customizados. Por exemplo, <div data-status=open>Open</div>agora é finalmente permitido. Observe que os nomes de atributos customizados devem ser prefixados data-.

Agora você pode incluir SVG e MathML em documentos HTML. Anteriormente, você só podia fazer isso com documentos XHTML.

Entre as várias novas funções e campos que o HTML5 define, uma das mais impressionantes é classList, que permite manipular o atributo de classe mais facilmente. Em vez de ter que getAttribute / setAttribute e usar hacks complexos para descobrir quais classes um elemento possui e remover uma classe específica desse elemento, classList torna essas situações difíceis muito simples.

Também existem várias especificações relacionadas, como Web Workers, Web Sockets e IndexedDB, que não fazem parte do HTML5, mas todos falam sobre elas como se fossem. Eles são muito úteis para aproveitar os computadores com vários núcleos, se comunicar com os servidores e armazenar dados localmente.

Quanto ao CSS3, inclui suporte para animações , transições , bordas arredondadas e o modelo de caixa flexível .

Também novos no CSS3 são os novos seletores, que simplificam a correspondência de elementos específicos em uma página (como apenas as linhas pares ou ímpares em uma tabela).

Opacidade, novas unidades, letreiro e rubi também fazem parte do CSS3.

Eu acho que abrange praticamente todas as partes importantes.


1
Excelente degradação.
George Edison

Bom trabalho para atingir todos os pontos principais.
Grant Palin

1
Vale ressaltar que o HTML5 atualmente é apenas um rascunho de trabalho e que ainda não foi totalmente finalizado.
Django Reinhardt

1
@Django Reinhardt Como o WHATWG diz, nem todos os recursos do HTML5 estão no mesmo estágio. Alguns já são mais amplamente implementados, outros levarão mais tempo. A implementação é o que realmente importa no desenvolvimento de sites, e o status das especificações não é uma boa medida para isso. Você também pode consultar as Perguntas frequentes do WHATWG.
luiscubal

1
Eles se livraram da necessidade de aspas para atributos XHTML válidos?
Lotus Notes

18

Para acompanhar os recursos e especificações de suporte, você pode verificar Quando posso usar . Inclui recursos HTML5 e CSS3 e coisas como SVG, PNG, CSS2.1 e CSS2. Ele também rastreia seu status de aprovação (Recomendação, Recomendação Proposta, Recomendação de Candidato, Esboço de Trabalho, padrão da IETF). O FindMeByIP mantém matrizes de recursos CSS3 suportados apenas, pelo navegador.

Ocorreram algumas alterações e simplificações da sintaxe nos parafusos e porcas:

  • Doctype simplificado: <!DOCTYPE html>
  • languageAtributo simplificado para a <html>tag: <html lang="en">
    (ainda pode incluir xmlnse xml:langse você deseja conformidade com XML)
  • <meta>Tag dedicada para charset:<meta charset="utf-8" />
  • scriptnão aceita mais typeatributo, requer charsetscripts remotos:
    <script src="/media/js/jquery.js" charset="utf-8"></script>(scripts em linha não precisam de atributos adicionais)

O HTML5 permite que sua marcação seja muito mais semântica e, em geral, muito mais fácil de ler / gravar e ter tamanhos de arquivo menores. Em vez de ter <div id="nav">, você apenas tem <nav>. Não parece muito, mas acrescenta-se.

Muitos elementos de XHTML1 e HTML4 foram preteridos. Os seguintes elementos não são suportados em HTML5: <acronym>, <applet>, <basefont>, <big>, <center>, <dir>, <font>, <frame>, <frameset>, <noframes>, <s>, <strike>, <tt>, <u>e <xmp>.

Vários novos elementos no HTML5 destinam-se a adicionar apenas mais marcações semânticas e não farão nada, exceto fornecer uma alternativa mais significativa a <div>. Estes novos elementos incluem: <article>, <section>, <aside>, <hgroup>, <header>, <footer>, <nav>, <time>, <mark>, <figure>, e <figcaption>.

Os formulários HTML5 são bastante aprimorados.

Novos tipos de entrada

Novos atributos:

Novos elementos

Poderíamos entrar em formulários o dia todo, mas aqui estão alguns recursos para explicar melhor todas essas coisas novas.

CSS3 traz o maravilhoso das consultas de mídia . As consultas de mídia são tão, tão, tão boas. Não disponível no IE8 e abaixo, mas será suportado pelo IE9.

CSS3 tem contadores de incremento . Você pode usá-los para numerar elementos automaticamente sem uma lista ordenada usando o :beforepseudo-seletor e o contentestilo quando uma lista ou numeração ordenada seria semanticamente incorreta. (Por exemplo, numerando as etapas de preenchimento dos campos do formulário.)

Se você é um fã das redefinições de CSS, há uma redefinição de CSS em HTML5 disponível no HTML5 Doctor. Fiz três adições a essa redefinição para minhas páginas pessoais:

  • text-rendering: optimizeLegibility; adicionado aos estilos na definição de <body>
  • labelincluído na definição com inpute selectuma vez que precisavertical-align: middle;
  • estilos para inse :focusde Redefinição de CSS de Eric Meyer adicionados novamente em

Uma redefinição concorrente chamada reset5 está disponível, mas ainda não a avaliei pessoalmente. Baseia-se em ambos os resets Eric Meyer e HTML5 médico.

A Folha de dicas de segurança do HTML5 rastreia erros nos recursos HTML5, conforme implementados em vários navegadores, e também inclui erros nos recursos existentes, que também são bons para acompanhar.

No entanto, o uso de elementos HTML5 não torna seu código automaticamente semântico. O WHATWG escreveu um artigo chamado <seção> não é apenas uma "divisão semântica <" explicando que não é simplesmente um elemento de contêiner.

No HTML 5, existe um algoritmo para a construção de uma visão geral dos documentos. Isso pode ser usado, por exemplo, por AT, para ajudar um usuário a navegar por um documento. E <seção> e amigos são uma parte importante desse algoritmo. Cada vez que você aninha uma <seção>, aumenta a profundidade do contorno em 1 (caso esteja se perguntando quais são as vantagens deste modelo em comparação com o modelo <h1> - <h6> tradicional, considere um leitor de feeds baseado na Web que deseja integrar a estrutura do documento do conteúdo sindicalizado com a do site ao redor. No HTML 4, isso significa analisar todo o conteúdo e renumerar todos os títulos. No HTML5, os títulos terminam na profundidade certa de graça).

...

Se você converter cegamente todos os <div> s em suas páginas para <sections>, é muito improvável que sua página tenha o esquema esperado. E, além de ser um passo-a-passo semântico, isso confundirá as pessoas que dependem de títulos para navegação.

Como tudo no mundo, existe uma estrutura para aplicativos da Web HTML5 chamada SproutCore , criada por um ex-engenheiro da Apple chamado Charles Jolley.

Além de html5rocks.com, você pode acompanhar html5doctor.com e html5gallery.com .


+1 Boa resposta! Pense que você pode estar perdendo o fechamento de uma das seções de código em algum lugar.
21710 JasonBirch

+1 Obrigado pelos links para as tabelas de compatibilidade do navegador! FindMeByIP foi especialmente elegante. Além disso, além do SproutCore, o ExtJS foi relançado como Sencha e parece estar jogando seu peso por trás do HTML 5. #
Sharpie

4

Há o layout básico, como raio da borda, sombras (caixa / texto), suporte a rgba e assim por diante; É por isso que o CSS3 é mais conhecido. Mais interessantes são as tags de tela, de vídeo, armazenamento local, websockets e assim por diante, que criarão experiências de usuário muito mais ricas em HTML / JS / CSS simples. Esses recursos podem ser uma ótima alternativa para o Flash na Web sem a necessidade de plug-ins adicionais.


4

Acho os novos elementos HTML bastante interessantes ... alguns deles são substituições semânticas promissoras para divs genéricos . Os novos elementos promissores incluem article, section, aside, figure, nav, header, e footer, entre outros. Eu realmente gosto da idéia de elementos semânticos substituindo recipientes sem sentido.

Ah, sim, um item relacionado: o muito simplificado doctype- finalmente, algo que posso digitar de memória!


4

( Esta é a minha resposta para uma pergunta semelhante em webapps.stackexchange.com )

Os Threads do Canvas e do Worker Web são os aspectos mais interessantes do HTML5 para mim. Eu escrevi alguns aplicativos da Web que usam esses recursos:

GioAUTHor [sic] faz uso extensivo da tela para permitir traçar caminhos em um mapa e, em seguida, encontrar a rota mais curta do início ao fim (através do algoritmo de Dijkstra em JavaScript).

O JavaScript Thread Demo faz uso limitado da tela, mas mostra o uso de Worker Threads, completo com o código de demonstração. Ele também usa o controle deslizante input type = "range" do HTML5 .


O suporte ao navegador HTML5 é tão variado quanto os próprios navegadores. Existe um site interessante (em HTML5, natch) sobre a prontidão para HTML5 que mostra quem está pronto para o que.


Eu já tinha visto o site de preparação para HTML5 antes, mas não conseguia me lembrar onde - obrigado pelo link! Realmente elegante, o objetivo duplo que o site atende.
Grant Palin

2

No que diz respeito ao CSS3 - consulte http://css3please.com/ para ver o que você pode fazer.

Quanto mais tarde o seu navegador, maior a probabilidade de você ver os efeitos.


1

As tags de áudio e vídeo permitem a apresentação de mídia sem a necessidade de um plug-in como o Flash ou o Silverlight, e o mais importante funciona nos navegadores iPhone e iPad. Há alguns problemas que precisam ser resolvidos com relação a codecs e gerenciamento de direitos digitais.


1

Jeremy Kieth acaba de lançar um livro realmente bom sobre o tópico "HTML5 para Web Designers". Você pode querer verificar isso.

É o primeiro livro de A Book Apart. Altamente recomendável para intermediários a designers avançados. A ++

http://books.alistapart.com/

NOTA : você pode ter que esperar para obter uma cópia impressa


1

Isso não oferece uma opinião sobre a importância, mas é um delta útil entre os HTMLs 4 e 5.

Meus 2 ¢ nas principais melhorias:

  • <section>e o novo algoritmo de esboço de cabeçalho (eu disse que eram apenas meus 2 ¢)
  • novos elementos de formulário, por exemplo <input type=email>
  • data-* atributos
  • armazenamento do lado do cliente
  • nativo <audio>e<video>

0

Porque ninguém colocou isso ainda:

O HTML5 é excelente para o que todos listaram, mas também inclui geolocalização padrão, trabalhadores da Web, soquete da Web, canvas e armazenamento local. Todas essas ferramentas fazem parte da especificação HTML5, que usa muito JavaScript nos bastidores para fazer isso acontecer.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.