Curso IT Fundamentos HTML 015_Novos recursos HTML5
Novos recursos HTML5
HTML5 é a versão mais recente do HTML, introduzindo muitas novas tags, atributos e funcionalidades, aumentando significativamente a capacidade e a interatividade da web.
Alguns novos recursos interessantes do HTML5:
- Elemento canvas para desenho
- Elementos video e audio para reprodução de mídia
- Melhor suporte para armazenamento local offline
- Novos elementos de conteúdo especial, como article, footer, header, nav, section
- Novos controles de formulário, como calendar, date, time, email, url, search
<canvas>
O elemento HTML5 <canvas> é usado para desenhar gráficos em páginas da web. O elemento <canvas> é baseado na API de desenho JavaScript e pode ser usado para criar vários gráficos, incluindo gráficos, imagens, animações, etc.
Exemplo:
<canvas width="500" height="500"> Seu navegador não suporta a tag HTML5 canvas.</canvas><script> const canvas = document.querySelector("canvas"); // Obter o contexto de desenho const ctx = canvas.getContext("2d"); // Desenhar círculo ctx.beginPath(); ctx.arc(250, 250, 100, 0, 2 * Math.PI); ctx.fillStyle = "yellow"; ctx.fill();</script>Efeito:

<svg>
O elemento SVG HTML5 é usado para criar gráficos SVG em páginas da web. Os gráficos SVG são gráficos vetoriais baseados em XML que podem ser dimensionados sem perda de qualidade e são adequados para vários propósitos, incluindo:
Os elementos SVG incluem:
- Elemento
<svg>: Define o elemento raiz dos gráficos SVG. - Elemento
<path>: Define formas de caminho. - Elemento
<rect>: Define formas retangulares. - Elemento
<circle>: Define formas circulares. - Elemento
<ellipse>: Define formas elípticas. - Elemento
<line>: Define linhas retas. - Elemento
<polygon>: Define polígonos. - Elemento
<polyline>: Define polilinhas. - Elemento
<text>: Define texto. - Elemento
<g>: Define grupos, usado para agrupar elementos SVG juntos. - Elemento
<defs>: Define atributos globais que podem ser aplicados a múltiplos elementos SVG.
Exemplo:
<svg width="500" height="500"> <circle cx="250" cy="250" r="100" fill="yellow" /></svg>Efeito:

SVG e Canvas são ferramentas para criar gráficos em páginas da web. Ambos têm suas próprias vantagens e desvantagens e são adequados para diferentes cenários.
SVG é um gráfico vetorial baseado em XML que pode ser dimensionado sem perda de qualidade. Isso significa que os gráficos SVG podem ser exibidos em qualquer tamanho sem perder qualidade. Os gráficos SVG também podem ser manipulados e animados usando CSS e JavaScript.
Canvas é uma API de desenho baseada em JavaScript que pode criar gráficos bitmap. Isso significa que os gráficos Canvas não podem ser dimensionados sem perda de qualidade, mas podem criar gráficos mais complexos usando JavaScript. Os gráficos Canvas também podem ser manipulados e animados usando JavaScript.
Diferenças específicas entre SVG e Canvas:
| Característica | SVG | Canvas |
|---|---|---|
| Tipo de imagem | Vetorial | Bitmap |
| Dimensionamento | Sem perda | Com perda |
| Tipo de gráfico | Retângulos, círculos, caminhos, etc. | Qualquer |
| Manipulação | CSS, JavaScript | JavaScript |
| Animação | CSS, JavaScript | JavaScript |
| Tamanho do arquivo | Geralmente menor | Geralmente maior |
| Acessibilidade | Excelente | Regular |
-
SVG adequado para cenários:
- Gráficos que precisam de dimensionamento sem perda, como ícones, logotipos, ilustrações
- Gráficos que precisam ser manipulados e animados usando CSS e JavaScript
-
Canvas adequado para cenários:
- Cenários que precisam criar gráficos complexos, como jogos, animações
- Cenários que precisam de operações complexas usando JavaScript
Formulários HTML5
HTML5 introduziu alguns novos tipos de entrada e atributos para melhorar a funcionalidade e usabilidade dos formulários.
Novos elementos de formulário:
- Elemento
<datalist>: Lista de opções predefinidas para o elemento<input>.
Exemplo:
<label for="browser">Selecione o navegador:</label><input list="browsers" id="browser" name="browser" autocomplete="off"><datalist id="browsers"> <option value="Chrome"> <option value="Firefox"> <option value="Safari"> <option value="Edge"> <option value="Opera"></datalist>Efeito:

| Elemento | Descrição |
|---|---|
<datalist> | Define uma lista de opções predefinidas para o elemento <input>. |
<output> | Representa o resultado de um cálculo. |
<keygen> | Cria um par de chaves para o formulário, geralmente usado para troca de chaves. |
<progress> | Define uma barra de progresso para qualquer tipo de tarefa. |
<meter> | Mede um valor escalar ou fração dentro de um intervalo conhecido. |
Novos atributos de formulário:
- Atributo autocomplete de
<form>/<input>: Especifica se o form ou campo input deve ter a função de preenchimento automático. Quando o usuário começa a digitar no campo de preenchimento automático, o navegador deve exibir as opções de preenchimento no campo.
Exemplo:
<form action="demo-form.php" autocomplete="on"> Sobrenome: <input type="text" name="fname"><br> Nome: <input type="text" name="lname"><br> E-mail: <input type="email" name="email" autocomplete="off"><br> <input type="submit"></form>Efeito:

| Atributo | Descrição |
|---|---|
autocomplete | Especifica se o campo de entrada deve ativar a função de preenchimento automático. |
novalidate | Desativa a validação do formulário pelo navegador. |
form | Especifica o formulário ao qual o elemento <input> pertence, associando-o a um formulário específico. |
formaction | Especifica a URL a ser usada ao enviar o formulário. |
formenctype | Especifica o tipo de codificação a ser usado ao enviar o formulário (por exemplo, application/x-www-form-urlencoded ou multipart/form-data). |
formmethod | Especifica o método HTTP a ser usado ao enviar o formulário (por exemplo, get ou post). |
formnovalidate | Desativa a validação do formulário pelo navegador ao enviar o formulário. |
formtarget | Especifica a janela ou quadro de destino a ser aberto após o envio do formulário. |
height | Define a altura do elemento <input type="image">. |
width | Define a largura do elemento <input type="image">. |
list | Especifica o id do elemento <datalist> associado ao elemento <input> ou <textarea>. |
min | Especifica o valor mínimo do elemento <input>. |
max | Especifica o valor máximo do elemento <input>. |
pattern | Define uma expressão regular para validar o campo de entrada ao enviar o formulário. |
placeholder | Fornece uma dica curta sobre o campo de entrada, exibida apenas quando o campo está vazio. |
required | Especifica se o campo de entrada é obrigatório. |
step | Especifica o intervalo de números legais para o elemento <input>. |
Novos tipos de input:
<form action="/submit" method="post"> <label for="name">Nome:</label> <input type="text" id="name" required /> <br> <label for="email">Endereço de e-mail:</label> <input type="email" id="email" required /> <br> <label for="birthday">Data de nascimento:</label> <input type="date" id="birthday" required /> <br> <label for="phone">Número de telefone:</label> <input type="tel" id="phone" required /> <br> <input type="submit" value="Enviar" /></form>Efeito:

| Tipo | Função |
|---|---|
| color | Usado para inserir valores de cores. |
| date | Usado para inserir valores de datas. |
| datetime-local | Usado para inserir valores de data e hora. |
| Usado para inserir endereços de e-mail. | |
| file | Usado para fazer upload de arquivos. |
| month | Usado para inserir valores de mês. |
| number | Usado para inserir valores numéricos. |
| range | Usado para inserir valores de intervalo. |
| search | Usado para inserir strings de pesquisa. |
| tel | Usado para inserir números de telefone. |
| time | Usado para inserir valores de hora. |
| url | Usado para inserir endereços de URL. |
[!Resumo]
| Elemento | Função | Recomendado? |
|---|---|---|
| Novos elementos | ||
<canvas> | Define gráficos, como gráficos e outras imagens. Esta tag é baseada na API de desenho JavaScript. | Recomendado |
<audio> | Define conteúdo de áudio | Recomendado |
<video> | Define vídeo (video ou movie) | Recomendado |
<source> | Define recursos multimídia <video> e <audio> | Recomendado |
<track> | Define legendas ou tradução de áudio ou vídeo | Recomendado |
<datalist> | Define uma lista de opções. Use este elemento com o elemento input para definir os valores possíveis do input. | Recomendado |
<keygen> | Especifica um campo gerador de par de chaves para o formulário. | Recomendado |
<output> | Define diferentes tipos de saída, como saída de script. | Recomendado |
<article> | Define uma área de conteúdo independente da página. | Recomendado |
<aside> | Define o conteúdo da barra lateral da página. | Recomendado |
<bdi> | Permite definir uma parte do texto para que se desvincule da configuração de direção de texto de seu elemento pai. | Recomendado |
<dialog> | Define uma caixa de diálogo. | Recomendado |
<figure> | Define uma área contendo imagens ou outro conteúdo visual. | Recomendado |
<footer> | Define a área inferior da página ou parte da página. | Recomendado |
<header> | Define a área superior da página ou parte da página. | Recomendado |
<main> | Define a área de conteúdo principal da página. | Recomendado |
<mark> | Define texto importante ou destacado. | Recomendado |
<meter> | Define progresso ou intervalo de valores. | Recomendado |
<nav> | Define a área de navegação da página ou parte da página. | Recomendado |
<progress> | Define uma barra de progresso. | Recomendado |
<time> | Define data ou hora. | Recomendado |
<wbr> | Permite inserir um caractere quebrável no texto. | Recomendado |
| Elementos obsoletos ou não recomendados | ||
<acronym> | Define um acrônimo. Recomenda-se usar o elemento <abbr> em vez disso. | Recomendado |
<applet> | Define um applet Java. Recomenda-se usar JavaScript ou outras tecnologias modernas em vez disso. | Não recomendado |
<basefont> | Define o tamanho e a cor padrão da fonte para todo o texto na página. Recomenda-se usar CSS para definir estilos de texto. | Não recomendado |
<big> | Define o tamanho da fonte do texto. Recomenda-se usar CSS para definir estilos de texto. | Não recomendado |
<center> | Força o alinhamento centralizado do texto. Recomenda-se usar CSS para definir o alinhamento do texto. | Não recomendado |
<dir> | Define uma lista de diretórios. Recomenda-se usar o elemento <ul> em vez disso. | Não recomendado |
<font> | Define o tamanho, cor, estilo, etc. da fonte do texto. Recomenda-se usar CSS para definir estilos de texto. | Não recomendado |
<frame> | Define um quadro. Recomenda-se usar o elemento iframe em vez disso. | Não recomendado |
<frameset> | Define um conjunto de quadros. Recomenda-se usar o elemento iframe em vez disso. | Não recomendado |
<noframes> | Fornece conteúdo alternativo para navegadores que não suportam quadros. Recomenda-se usar JavaScript para determinar se o navegador suporta quadros e exibir ou ocultar conteúdo conforme necessário. | Não recomendado |
<strike> | Define um tachado no texto. Recomenda-se usar CSS para definir estilos de texto. | Não recomendado |
<tt> | Define uma fonte monoespaçada para o texto. Recomenda-se usar CSS para definir a fonte do texto. | Não recomendado |