Академический Документы
Профессиональный Документы
Культура Документы
SUMÁRIO
ESTRUTURA HTML BÁSICA: ....................................................................................................................................... 2
VALIDANDO O SITE .................................................................................................................................................... 3
COMO FAZER NOVOS RECURSOS FUNCIONAREM EM VELHOS NAVEGADORES ..................................................... 3
COMO MINIMIZAR O ARQUIVO CSS ......................................................................................................................... 3
COMO VERIFICAR A COMPATIBILIDADE ATUAL DOS BROWSERS ............................................................................ 3
EVITANDO ERROS COMUNS NO HTML ..................................................................................................................... 4
Não use section como contêiner para estilização ...................................................................................................... 4
Só use header e hgroup quando forem necessários .................................................................................................. 5
Página 1
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
<head>
</head>
<body>
</body>
</html>
REGRAS IMPORTANTES:
1 - QUANDO FOR NOMEAR AS PASTAS DENTRO DA ESTRUTURA PROCURE COLOCAR UM
UNDERLINE (_) ANTES DO NOME PARA FINS DE SEPARAR AS PASTAS DOS ARQUIVOS DENTRO DA
ESTRUTURA DE ARQUIVOS DO SERVIDOR.
2 - SEMPRE FECHE AS TAGS, MESMO AS SIMPLES, USANDO “ /” PARA MANTER A
COMPATIBILIDADE DO SITE COM OS PADRÕES XML.
3 – TODOS AS TAGS E ATRIBUTOS DOS ELEMENTOS EM HTML DEVEM SE ESCRITOS EM
MINÚSCULO.
4 – TODOS OS VALORES DE ATRIBUTOS EM HTML DEVEM SER ESCRITOS ENTRE ASPAS
SIMPLES OU DUPLAS. EX: <table widht= “100%”>
Página 2
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
VALIDANDO O SITE
PODE-SE UTILIZAR UM DOS SITES ABAIXO PARA VALIDAR OS ARQUIVOS HTML
https://validator.w3.org/
Página 3
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
1 <div id="wrapper">
2 <div id="header">
3 <h1>Título primário</h1>
4 </div>
5
6 <div id="main">
7 <!-- conteúdo -->
8 </div>
9
10 <div id="secondary">
11 <!-- conteúdo -->
12 </div>
13
14 <div id="footer">
15 <!-- conteúdo -->
16 </div>
17 </div>
Então, sem nenhum motivo plausível, alguns estão alterando seu código para:
1 <section id="wrapper">
2 <header>
3 <h1>Título primário</h1>
4 </header>
5
6 <section id="main">
7 <!-- conteúdo -->
8 </section>
9
10 <section id="secondary">
11 <!-- conteúdo -->
12 </section>
13
14 <footer>
15 <!-- conteúdo -->
16 </footer>
17 </section>
E isso, apesar de poder estar certo, na grande maioria dos casos, está errado… Se é preciso
um elemento somente para estilização, não faz nenhum sentido deixar de usar <div>; o
elemento <section> não foi criado para isso! Segundo sua documentação,
Não usá-lo apenas como “gancho” para estilos ou scripts (para isso, já
existe <div>)
Não usá-lo se o <article>, <aside> ou <nav> forem mais apropriados
Não usá-lo a menos que exista, naturalmente, um título no início da seção
Não faz sentindo escrever HTML de forma a ferir a semântica, certo? Infelizmente, não é
difícil encontrar elementos <header> e <hgroup> sendo usados de forma inapropriada. Procure
se informar mais a respeito da função deles, mas, resumindo:
O elemento <header> pode ser usado quantas vezes forem necessários num documento, o
que está causando confusões do tipo:
1 <article>
2 <header>
3 <h1>Título primário</h1>
4 </header>
5
6 <!-- conteúdo -->
7 </article>
Se o <header> contém somente um elemento de título, na verdade, ele não precisa ser
usado. O elemento <article> já garante que o título vai constar no OUTLINE do documento, e,
porque <header> não contém múltiplos elementos (como consta em sua definição), por que
escrever código desnecessário? A solução é simples:
1 <article>
2 <h1>Título primário</h1>
3 <!-- conteúdo -->
4 </article>
1 <header>
Página 5
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
2 <hgroup>
3 <h1>Título primário</h1>
4 </hgroup>
5
6 <!-- conteúdo -->
7 </header>
1 <header>
2 <h1>Título primário</h1>
3 <!-- conteúdo -->
4 </header>
O segundo problema é outro caso de incluir o elemento quando ele não se faz necessário:
1 <header>
2 <hgroup>
3 <h1>Título primário</h1>
4 <h2>Título secundário</h2>
5 </hgroup>
6 </header>
1 <hgroup>
2 <h1>Título primário</h1>
3 <h2>Título secundário</h2>
4 </hgroup>
Com mais de 40 novos elementos (no dia da publicação deste artigo), não é incomum haver
dúvidas e erros de HTML5 na hora da utilização de alguns destes. Infelizmente, ainda é o caso com
o elemento <nav>. Como consta em sua especificação,
Atenção ao grifo “blocos de navegação principal” que, apesar de ser aberto a algumas
interpretações, identifica-se mais com:
Navegação primária
Navegação secundária
Navegação IN PAGE (dentro de um artigo longo, por exemplo)
Controles de paginação
Social links
Categorias e Tags (de um artigo de blog, por exemplo)
Página 6
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
Navegação terciária
Rodapés muito elaborados
Nos momentos de dúvida ao usar <nav>, pergunte-se a si mesmo: “Essa é uma navegação
principal?”. Para ajudar a responder, considere as seguintes “regrinhas”:
Não use <nav> a menos que você pense que <section> também seria apropriado
com <hx>
Você adicionaria um link “Pular para o conteúdo” por questões de acessibilidade?
Se a resposta para essas perguntas for “não”, então, provavelmente, não se trata de
um <nav>.
Os novos elementos não foram criados para que os desenvolvedores tivesse trabalho de
escrever código a mais. Pensar isso é um erro comum de HTML5. Algumas pessoas, ao
“atualizarem” seus sites para HTML5, colocam o elemento <figure> em todas as imagens! Fazer
isso não serve pra nada e a pessoa só está aumentando o próprio trabalho…
E é aí que reside a beleza do elemento <figure>: ele pode ser afastado do conteúdo
principal (para uma barra lateral, por exemplo) sem afetar o fluxo do documento.
Os mesmos princípios mostrados acima também se aplicam ao logo do site. Não é tão
incomum se ver por esses dias códigos parecidos com:
1 <header>
2 <h1>
3 <figure>
4 <img src="/img/logo.png" alt="Nome do site" class="hide">
5 </figure>
6
7 Nome do site
8 </h1>
9 </header>
Página 7
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
Isso, simplesmente, não está certo… E não estou dizendo sobre o fato de o logo estar
dentro de um <h1> – isso, por si só, renderia um artigo inteiro. A real questão é o abuso do
elemento <figure>! No caso, a marcação poderia, simplesmente, ser feita assim:
1 <header>
2 <h1>Nome do site</h1>
3 </header>
Ao contrário do que muitos pensam, <figure> pode ser áudio, vídeo, um gráfico (em SVG,
por exemplo), uma citação, uma tabela, um bloco de código ou qualquer combinação destes e
muito mais!
Não se limite a usar <figure> somente em imagens. Nosso trabalho como aficionados por
padrões web também é de descrever com precisão nosso conteúdo através de uma correta
marcação.
Este é, provavelmente, um dos erros mais comuns de HTML5. Embora não seja,
tecnicamente, um erro, é uma boa prática evitar a inclusão de atributos de tipo.
Uma vez que todos os navegadores esperam que scripts sejam JavaScript e estilos sejam
CSS, isso se faz desnecessário:
Provavelmente, você deve estar ciente de que o HTML5 introduziu uma série de novos
atributos para formulários (bem, você deveria). Com isso, alguns erros, por parte dos
desenvolvedores, também começaram a aparecer.
ATRIBUTOS BOOLEANOS
Vários dos novos atributos de formulário são booleanos, ou seja, sua simples presença na
marcação assegura o comportamento esperado. Esses atributos incluem:
autofocus
autocomplete
required
Página 8
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
O PARSER do navegador ainda vai considerar o campo como obrigatório pelo simples fato
de “required” estar lá, mas, e se o valor pretendido fosse outro?
required
required=""
required="required"
<hr />
Pode-se usar a tag <span> para aplicar estilo somente em um trecho do texto. Por exemplo:
<pre>
Página 9
MINHAS ANOTAÇÕES – HTML5 CSS3 JAVASCRIPT
Tudo que
Estiver aqui vai aparecer como
Foi digitado.
</pre>
Para colocar datas e horas de forma semanticamente correta é necessário usar o time, o formato
tanto de hora como de data deve obedecer aos padrões da computação sendo YYYY:MM:DD para
data e HH:MM+00:00 para hora, os dois últimos zeros são a time zone. Para contornar o problema
do formato podemos usar da seguinte forma
Ao criar formulários normalmente usamos For para linkar a etiqueta ao controle, da seguinte forma:
<form>
<fieldset>
<legend>Detalhes de Contato</legend>
<div>
<label for="nome">Nome:</label>
<input type="text" name="nome" id="nome">
</div>
</fieldset>
</form>
Mas podemos economizar muito trabalho colocando tudo dentro da label, assim:
<form>
<fieldset>
<legend>Detalhes de Contato</legend>
<div>
<label>Nome:
<input type="text" name="nome" id="nome">
</label>
</div>
</fieldset>
</form>
So que neste caso não da pra usar o DISPLAY: BLOCK no label para fazer a etiqueta aparecer sobre
o campo.
Página 10