SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
HTML5 ESSENCIAL 
Fundamentos de todo serviço na Web
EMENTA 
• Fundamentos de Web 
• Documentos HTML 
• Conteúdo 
• Multimídia 
• Semântica 
• Desempenho 
3
O QUE VEREMOS AGORA 
• Fundamentos da Web 
• Documentos HTML 
• Conteúdo 
• Section, div, span, aside, parágrafos, cabeçalhos e rodapé 
• Tabelas 
• Formulários (campos e atributos) 
• Forms 2.0 
• Tags editáveis (contenteditable) 
• IFrames 
• Multimídia 
• Semântica 
4
FORMS 2.0 
• Após alguns anos sem evoluções nessa área, o 
Opera iniciou um processo de criação de novos 
campos de formulário 
• A especificação FORMS 2.0 é mais antiga mas entrou 
oficialmente na coleção de especificações da HTML5 
• color - Campo para escolha de cores 
• Utiliza a paleta flutuante de cores do sistema operacional 
• date - Escolha de data 
• datetime - Escolha de data e hora (UTC) 
• datetime-local - Data e hora no fuso local 
• month. Escolha do mês 
• Todos usam uma caixa flutuante de escolha de data 
6
FORMS 2.0 
• Mais campos novos da HTML5 
• email - Campo para escrita de emails 
• number - Exibição de números como um spinner (botões de 
rolagem para cima e para baixo) 
• tel - Para campos de telefone 
• time - Spinner para horários 
• Por padrão, exibe apenas horas:minutos 
• url - Campo para escrita de URLs 
• range - Linha com um marcador slider 
• search - Campo de texto para buscas 
• O Chrome exibe um X para apagar o texto 
quando digitado 
7
FORMULÁRIOS 
• Novos atributos do HTML5 
• placeholder - Novo no HTML5, exibe um texto quando o 
campo estiver vazio e não estiver com o foco 
• Quando o usuário digitar algo, o texto do placeholder sai. 
• Ex.: <input type="text" placeholder="Digite algo aqui"/> 
• min e max - Determinam os limites mínimos e máximos de 
campos como range ou number. 
• autocomplete - Admite on ou off. Determina se o campo 
poderá assumir o autocomplete padrão do browser 
• autofocus - Para requisitar o foco assim que a página for 
carregada 
• form - Atributo que torna possível um campo vir escrito fora 
dos limites das tags <form> 
• <input type="search" form="busca_avancada" name="termo" /> 
• <form id="busca_avancada"> ... </form> 
8
FORMULÁRIOS 
• Steps 
• step - Campo que define de quanto em quanto será o 
incremento/decremento de spinners (setas pra cima e pra 
baixo) de campos como time e number 
• A unidade de medida dos steps em campos time é o segundo 
• Deve ser informado um valor positivo 
• Se o step for múltiplo de 60, o campo time só exibe hora e minutos, 
caso contrário também contempla os segundos 
• A combinação dos atributos min, max, step e value devem ser 
coerentes para não proporcionar comportamentos estranhos 
• Campos range também possuem steps 
• Nestes casos, o step coincide com o tamanho em pixels do objeto 
9
FORMULÁRIOS 
• Comportamento ao submeter o formulário 
• Campos url são prefixados com http:// se não estiverem no 
formato correto de URL (iniciando por protocolo://) 
• Campos de data são enviados usando sempre um formato 
padrão 
• A especificação, por enquanto, não foi clara quanto ao formato desses 
campos. Deixou a cargo dos browsers 
• Campos color são enviados no formato #rgb, sendo: 
• R - red, G - green, B - blue 
• Forms 2.0 já embutem validações client-side sem a 
necessidade de uso de Javascript 
• Campos preenchidos com valores incorretos para o tipo específico 
são checados e impedem a transmissão do formulário para o servidor 
• Os browsers costumam exibir balões sobre o campo indicando o erro 
de preenchimento 
10
VALIDAÇÕES DE INPUTS 
• Campos requeridos 
• required - Torna o campo de preenchimento obrigatório 
• Mais regras que impedem a transmissão do 
formulário 
• Campos url devem seguir as regras de codificação de URLs 
• Espaços devem ser trocados por %20 
• Campos email devem conter emails válidos 
• Valores de campos numéricos devem estar entre min e max e 
serem múltiplos de step, se estes forem fornecidos 
• Campos com o novo atributo pattern precisam ter um valor 
de acordo com a máscara informada nele 
• Atributo ainda não suportado no IE nem no Safari 
11
VALIDAÇÕES DE INPUTS 
• Expressões regulares 
• pattern - Atributo que restringe a máscara do conteúdo no 
campo em questão 
• O atributo title deve ser usado para informar a máscara usada 
de um jeito mais claro ao usuário leigo 
• Ex. 1: <input type="text" name="cep" 
title="CEP: 00000-000" 
pattern="d{5}-d{3}" /> 
• Ex. 2: <input type="text" name="cpf" 
title="CPF: 000.000.000-00" 
pattern="d{3}(.d{3}){2}-d{2}" /> 
• Ex. 3: <input type="text" name="IP" 
title="Endereço IP válido para um ponto na rede" 
pattern="([1-9]{1,2}) | (1dd) | (2[0-4]d) | 25[0-4]" /> 
• Para simplificar, o pattern do exemplo 3 contemplou apenas o primeiro dígito, que deve 
ser algo entre 1 e 254 
• Os espaços entre as barras em pé | (pipe), que significam “ou” lógico estão aí apenas para 
melhorar a legibilidade do exemplo. Não devem ser digitados 
12
VALIDAÇÕES DE INPUTS 
• Metacaracteres qualificadores: 
• São usados para validar apenas um caractere do texto 
• . (ponto) - Representa qualquer caractere 
• [ e ] - Para englobar lista de valores permitidos 
• [^ e ] - Para englobar lista de valores proibidos 
• d - Só admite números 
• w - Só admite letras, números e caracteres _ 
• s - Só admite caracteres de espaço 
• D, W, S - Inversos de suas contrapartidas minúsculas 
• ( e ) - Agrupamentos de conteúdo 
• | - Ou lógico. Utilize os parênteses para ele afetar um grupo todo 
•  - Retira o poder de algum metacaratere. Ele vira simples texto 
• - - Dentro de listas, representam faixas de valores possíveis 
13
VALIDAÇÕES DE INPUTS 
• Metacaracteres quantificadores: 
• São usados para dar quantidade à expressão anterior 
• ? - Opcional. Pode vir zero ou uma vez 
• + - Deve vir pelo menos uma vez 
• * - Opcional. Pode vir zero ou várias vezes 
• {x} - Deve vir exatamente X vezes 
• {x,y} - Deve vir de x a y vezes 
• {x,} - Deve vir pelo menos x vezes 
• {,y} - Deve vir até y vezes 
• Metacaracteres limítrofes (não necessários aqui) 
• ^ - Deve vir no início da máscara e representa o início do texto 
• $ - Deve vir no final da máscara e representa o fim do texto 
• b - Delimita a borda de um texto (para pre/sufixo de palavras) 
14
FORMS 2.0 
• Outras tags para formulários 
• <keygen> - Tag que envia uma chave pública para o servidor 
poder utilizar para cifrar o conteúdo. Só quem gera uma chave 
pública detém sua chave privada capaz de decifrar 
• Essa tag gera um combobox para o usuário escolher a quantidade de 
bits do tamanho dessa chave 
• http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/ 
20080714/07ea5534/attachment.txt 
• <datalist> - Renderiza um suggest no browser. Parecido com 
o select, mas não é na verdade um campo de formulário 
• Deve ser usado como provedor de lista de valores para um input text 
• Para informar o datalist como provedor de valores de sugestões é 
necessário definir um id para o datalist e um atributo list para o input 
• <input type="text" list="ufs"/> 
• <datalist id="ufs"><option>Pernambuco</option>...</datalist> 
15
FORMS 2.0 
• Leituras recomendadas 
• Artigos sobre Forms 2.0 
• http://diveintohtml5.info/forms.html 
• http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/ 
• Webforms2 - http://code.google.com/p/webforms2/ 
• Código Javascript para fazer os novos campos funcionarem em 
browsers antigos (recomenda-se testar) 
• Status do Forms 2.0 - http://wufoo.com/html5/ 
• Site atualizado sobre o índice de adoção dos novos recursos para 
formulários 
• Expressões regulares - http:www.guia-er.sf.net/ 
• Excelente material gratuito do autor brasileiro Aurélio Marinho Jargas 
16
EXERCÍCIOS 
• Utilize todos os novos recursos vistos nesta aula 
para incrementar o formulário de cadastro de 
currículo feito na aula anterior 
• Utilize campos de preenchimento obrigatório, placeholders, 
patterns, steps e valores numéricos mínimos e máximos 
• Dê a opção de escolha da cores de fonte e background do 
currículo 
• Crie um formulário de cadastro de eventos 
• Dê opção para o usuário marcar datas e horas de início e fim 
• Crie um formulário de busca avançada 
• Utilize mais filtros além do texto em si que pode ser feito com o 
campo search 
17
TAGS EDITÁVEIS 
• Qualquer tag pode ser editável agora 
• contenteditable. Atributo que torna naturalmente possível a 
edição de uma tag pelo usuário 
• Assim como qualquer campo de formulário, propicia a coleta 
de informações do usuário, mas neste caso, nada é 
naturalmente enviada ao servidor 
• Essa prática vem sendo muito aplicada em conjunto com 
técnicas novas da HTML5 como verificação de status do 
browsers (online ou offline) e armazenamento de dados locais 
no cliente (Web Storage) 
• Requer o uso de Javascript para potencializar sua utilidade 
• Ex.: <ul contenteditable="true"><li/></ul> 
• Este código apenas gera um sinal de tópico para que o usuário 
preencha 
• Se o usuário escrever tags, estas serão devidamente 
escapadas 
18
IFRAMES 
• Como inserir um código HTML dentro de outra 
página 
• <iframe> é uma tag que possibilita controlar um documento por 
baixo de outro 
• Ex.: <iframe src="outrapagina.html"></iframe> 
• Iframes e o AJAX 
• Já foi muito utilizado para promover chamadas assíncronas ao 
servidor sem atualizar a página inteira 
• O lado negativo é a divisão do código Javascript em dois arquivos 
• WYSIWYG 
• Iframes são utilizados hoje como editores avançados de conteúdo 
• Precisam de Javascript para colocá-los em designMode = "On" 
• Obs.: Não falaremos sobre <frame> e <frameset> neste curso. Obsoletos 
19

Mais conteúdo relacionado

Mais procurados

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01 Léo Dias
 
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...Uni Buscapé Company
 
Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3Anderson Aguiar
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTAndré Luís
 
Curso de HTML5 - Aula01
Curso de HTML5 - Aula01Curso de HTML5 - Aula01
Curso de HTML5 - Aula01Zarathon Maia
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Renato Bongiorno Bonfanti
 
html, css e java script - renato araujo
html, css e java script - renato araujohtml, css e java script - renato araujo
html, css e java script - renato araujoorenatoaraujo
 
Curso de html - Introdução ao HTML
Curso de html -  Introdução ao HTMLCurso de html -  Introdução ao HTML
Curso de html - Introdução ao HTMLTales Augusto
 

Mais procurados (20)

Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01   Curso de HTML5 - Aula 01
Curso de HTML5 - Aula 01
 
HTML5 CSS3
HTML5 CSS3HTML5 CSS3
HTML5 CSS3
 
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
Apresentação do Curso Primeiros Passos na Web com HTML e CSS - Profite e Univ...
 
Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3Agilidade e Semântica com HTML5 e CSS3
Agilidade e Semântica com HTML5 e CSS3
 
Introdução a HTML5
Introdução a HTML5Introdução a HTML5
Introdução a HTML5
 
Programação Web com HTML e CSS
Programação Web com HTML e CSSProgramação Web com HTML e CSS
Programação Web com HTML e CSS
 
Html 5 e Css3
Html 5 e Css3Html 5 e Css3
Html 5 e Css3
 
Html5 & CSS3
Html5 & CSS3Html5 & CSS3
Html5 & CSS3
 
Introdução ao HTML e CSS
Introdução ao HTML e CSSIntrodução ao HTML e CSS
Introdução ao HTML e CSS
 
Curso html basico_aula-001
Curso html basico_aula-001Curso html basico_aula-001
Curso html basico_aula-001
 
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PTLições Práticas de Semântica com HTML5 — 2º evento HTML5PT
Lições Práticas de Semântica com HTML5 — 2º evento HTML5PT
 
Apostila curso xhtml css
Apostila curso xhtml cssApostila curso xhtml css
Apostila curso xhtml css
 
Curso de HTML5 - Aula01
Curso de HTML5 - Aula01Curso de HTML5 - Aula01
Curso de HTML5 - Aula01
 
Criação de sites
Criação de sitesCriação de sites
Criação de sites
 
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
Road Show TI SENAC - HTML5 & CSS 3.0 - O que esperar da próxima web?
 
html, css e java script - renato araujo
html, css e java script - renato araujohtml, css e java script - renato araujo
html, css e java script - renato araujo
 
Curso de html - Introdução ao HTML
Curso de html -  Introdução ao HTMLCurso de html -  Introdução ao HTML
Curso de html - Introdução ao HTML
 
Curso HTML e CSS Part1
Curso HTML e CSS Part1Curso HTML e CSS Part1
Curso HTML e CSS Part1
 
Html Básico
Html BásicoHtml Básico
Html Básico
 
Apostila html,xhtml e css
Apostila html,xhtml e cssApostila html,xhtml e css
Apostila html,xhtml e css
 

Destaque

Destaque (7)

HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)HTML5 Básico: Formulários (aula 2)
HTML5 Básico: Formulários (aula 2)
 
Javascript, HTML5 e CSS3
Javascript, HTML5 e CSS3Javascript, HTML5 e CSS3
Javascript, HTML5 e CSS3
 
Html (formulário)
Html (formulário)Html (formulário)
Html (formulário)
 
Introduccion a HTML5
Introduccion a HTML5Introduccion a HTML5
Introduccion a HTML5
 
HTML5 Básico: Multimídia 1 (aula 3)
HTML5 Básico: Multimídia 1 (aula 3)HTML5 Básico: Multimídia 1 (aula 3)
HTML5 Básico: Multimídia 1 (aula 3)
 
CSS3: Start (aula 1)
CSS3: Start (aula 1)CSS3: Start (aula 1)
CSS3: Start (aula 1)
 
Farol: Os 4 ciclos
Farol: Os 4 ciclosFarol: Os 4 ciclos
Farol: Os 4 ciclos
 

Semelhante a Html5 Aula 4

Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIgor Takenami
 
Desevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLDesevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLGuilherme
 
HTML5 e CSS3 - Recursos mais utilizados
HTML5 e CSS3 - Recursos mais utilizadosHTML5 e CSS3 - Recursos mais utilizados
HTML5 e CSS3 - Recursos mais utilizadosCaio Gomes
 
MVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões WebMVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões WebRogério Moraes de Carvalho
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHPPaulo Dayvson
 
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e VídeoCurso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e VídeoTiago Antônio da Silva
 
Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignIuri Andreazza
 
Programaçao C - Aula 2
Programaçao C - Aula 2Programaçao C - Aula 2
Programaçao C - Aula 2Filipo Mór
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3klaussilveira
 
Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Osny Pereira Filho
 
HTML, CSS & JS: olhando pra frente
HTML, CSS & JS: olhando pra frenteHTML, CSS & JS: olhando pra frente
HTML, CSS & JS: olhando pra frenteLuiz Oliveira
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPArlindo Santos
 
(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScriptCarlos Santos
 
Document store e Mongodb
Document store e MongodbDocument store e Mongodb
Document store e MongodbAline Ferreira
 

Semelhante a Html5 Aula 4 (20)

Estudos Technocorp
Estudos TechnocorpEstudos Technocorp
Estudos Technocorp
 
Introdução a Arquitetura de Sistemas
Introdução a Arquitetura de SistemasIntrodução a Arquitetura de Sistemas
Introdução a Arquitetura de Sistemas
 
Desevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTMLDesevolvimento Web Client-side - HTML
Desevolvimento Web Client-side - HTML
 
Curso HTML 5 - Aula Inicial
Curso HTML 5 - Aula InicialCurso HTML 5 - Aula Inicial
Curso HTML 5 - Aula Inicial
 
HTML - Guia 3
HTML - Guia 3HTML - Guia 3
HTML - Guia 3
 
Aplicações web parte 1
Aplicações web parte 1Aplicações web parte 1
Aplicações web parte 1
 
HTML5 e CSS3 - Recursos mais utilizados
HTML5 e CSS3 - Recursos mais utilizadosHTML5 e CSS3 - Recursos mais utilizados
HTML5 e CSS3 - Recursos mais utilizados
 
MVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões WebMVP Virtual Conference 2013: Suporte a padrões Web
MVP Virtual Conference 2013: Suporte a padrões Web
 
Treinamento Elasticsearch - Parte 2
Treinamento Elasticsearch - Parte 2Treinamento Elasticsearch - Parte 2
Treinamento Elasticsearch - Parte 2
 
Comandos gerais do PHP
Comandos gerais do PHPComandos gerais do PHP
Comandos gerais do PHP
 
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e VídeoCurso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
Curso HTML 5 - Aula com Formulários, Imagens, Áudio e Vídeo
 
Apresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do DesignApresentação - HTML5 e CSS3 Fabrica do Design
Apresentação - HTML5 e CSS3 Fabrica do Design
 
HTML.ppt
HTML.pptHTML.ppt
HTML.ppt
 
Programaçao C - Aula 2
Programaçao C - Aula 2Programaçao C - Aula 2
Programaçao C - Aula 2
 
Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3Preparando-se para a prova da Certificação Zend PHP 5.3
Preparando-se para a prova da Certificação Zend PHP 5.3
 
Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01Express2012simples 130312140529-phpapp01
Express2012simples 130312140529-phpapp01
 
HTML, CSS & JS: olhando pra frente
HTML, CSS & JS: olhando pra frenteHTML, CSS & JS: olhando pra frente
HTML, CSS & JS: olhando pra frente
 
Cakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHPCakephp - framework de desenvolvimento de aplicações Web em PHP
Cakephp - framework de desenvolvimento de aplicações Web em PHP
 
(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript(A06) LabMM3 - JavaScript
(A06) LabMM3 - JavaScript
 
Document store e Mongodb
Document store e MongodbDocument store e Mongodb
Document store e Mongodb
 

Mais de Jose Berardo

HTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device OrientationHTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device OrientationJose Berardo
 
Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Jose Berardo
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1Jose Berardo
 
Java Certified Associate Aula 1
Java Certified Associate Aula 1Java Certified Associate Aula 1
Java Certified Associate Aula 1Jose Berardo
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4Jose Berardo
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3Jose Berardo
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2Jose Berardo
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Jose Berardo
 
Curso de Java EE 6
Curso de Java EE 6Curso de Java EE 6
Curso de Java EE 6Jose Berardo
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da WebJose Berardo
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3Jose Berardo
 
Certificacoes Desenvolvedores
Certificacoes DesenvolvedoresCertificacoes Desenvolvedores
Certificacoes DesenvolvedoresJose Berardo
 

Mais de Jose Berardo (15)

HTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device OrientationHTML5 Mobile - Aula 3 - Device Orientation
HTML5 Mobile - Aula 3 - Device Orientation
 
Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2Oracle Certified Associate - Java Programmer I - aula 2
Oracle Certified Associate - Java Programmer I - aula 2
 
HTML5 Mobile Aula 1
HTML5 Mobile Aula 1HTML5 Mobile Aula 1
HTML5 Mobile Aula 1
 
Java Certified Associate Aula 1
Java Certified Associate Aula 1Java Certified Associate Aula 1
Java Certified Associate Aula 1
 
Curso de Android Aula 4
Curso de Android Aula 4Curso de Android Aula 4
Curso de Android Aula 4
 
Curso de Android - aula 3
Curso de Android - aula 3Curso de Android - aula 3
Curso de Android - aula 3
 
Curso de Android - aula 2
Curso de Android - aula 2Curso de Android - aula 2
Curso de Android - aula 2
 
Curso de Google Android - Aula 1
Curso de Google Android - Aula 1Curso de Google Android - Aula 1
Curso de Google Android - Aula 1
 
Curso de Java EE 6
Curso de Java EE 6Curso de Java EE 6
Curso de Java EE 6
 
Html5 Aula 3
Html5 Aula 3Html5 Aula 3
Html5 Aula 3
 
Html5 aula 01
Html5 aula 01Html5 aula 01
Html5 aula 01
 
Html5 - O futuro da Web
Html5 - O futuro da WebHtml5 - O futuro da Web
Html5 - O futuro da Web
 
O que há de novo no PHP 5.3
O que há de novo no PHP 5.3O que há de novo no PHP 5.3
O que há de novo no PHP 5.3
 
Certificacao Php
Certificacao PhpCertificacao Php
Certificacao Php
 
Certificacoes Desenvolvedores
Certificacoes DesenvolvedoresCertificacoes Desenvolvedores
Certificacoes Desenvolvedores
 

Html5 Aula 4

  • 1.
  • 2. HTML5 ESSENCIAL Fundamentos de todo serviço na Web
  • 3. EMENTA • Fundamentos de Web • Documentos HTML • Conteúdo • Multimídia • Semântica • Desempenho 3
  • 4. O QUE VEREMOS AGORA • Fundamentos da Web • Documentos HTML • Conteúdo • Section, div, span, aside, parágrafos, cabeçalhos e rodapé • Tabelas • Formulários (campos e atributos) • Forms 2.0 • Tags editáveis (contenteditable) • IFrames • Multimídia • Semântica 4
  • 5.
  • 6. FORMS 2.0 • Após alguns anos sem evoluções nessa área, o Opera iniciou um processo de criação de novos campos de formulário • A especificação FORMS 2.0 é mais antiga mas entrou oficialmente na coleção de especificações da HTML5 • color - Campo para escolha de cores • Utiliza a paleta flutuante de cores do sistema operacional • date - Escolha de data • datetime - Escolha de data e hora (UTC) • datetime-local - Data e hora no fuso local • month. Escolha do mês • Todos usam uma caixa flutuante de escolha de data 6
  • 7. FORMS 2.0 • Mais campos novos da HTML5 • email - Campo para escrita de emails • number - Exibição de números como um spinner (botões de rolagem para cima e para baixo) • tel - Para campos de telefone • time - Spinner para horários • Por padrão, exibe apenas horas:minutos • url - Campo para escrita de URLs • range - Linha com um marcador slider • search - Campo de texto para buscas • O Chrome exibe um X para apagar o texto quando digitado 7
  • 8. FORMULÁRIOS • Novos atributos do HTML5 • placeholder - Novo no HTML5, exibe um texto quando o campo estiver vazio e não estiver com o foco • Quando o usuário digitar algo, o texto do placeholder sai. • Ex.: <input type="text" placeholder="Digite algo aqui"/> • min e max - Determinam os limites mínimos e máximos de campos como range ou number. • autocomplete - Admite on ou off. Determina se o campo poderá assumir o autocomplete padrão do browser • autofocus - Para requisitar o foco assim que a página for carregada • form - Atributo que torna possível um campo vir escrito fora dos limites das tags <form> • <input type="search" form="busca_avancada" name="termo" /> • <form id="busca_avancada"> ... </form> 8
  • 9. FORMULÁRIOS • Steps • step - Campo que define de quanto em quanto será o incremento/decremento de spinners (setas pra cima e pra baixo) de campos como time e number • A unidade de medida dos steps em campos time é o segundo • Deve ser informado um valor positivo • Se o step for múltiplo de 60, o campo time só exibe hora e minutos, caso contrário também contempla os segundos • A combinação dos atributos min, max, step e value devem ser coerentes para não proporcionar comportamentos estranhos • Campos range também possuem steps • Nestes casos, o step coincide com o tamanho em pixels do objeto 9
  • 10. FORMULÁRIOS • Comportamento ao submeter o formulário • Campos url são prefixados com http:// se não estiverem no formato correto de URL (iniciando por protocolo://) • Campos de data são enviados usando sempre um formato padrão • A especificação, por enquanto, não foi clara quanto ao formato desses campos. Deixou a cargo dos browsers • Campos color são enviados no formato #rgb, sendo: • R - red, G - green, B - blue • Forms 2.0 já embutem validações client-side sem a necessidade de uso de Javascript • Campos preenchidos com valores incorretos para o tipo específico são checados e impedem a transmissão do formulário para o servidor • Os browsers costumam exibir balões sobre o campo indicando o erro de preenchimento 10
  • 11. VALIDAÇÕES DE INPUTS • Campos requeridos • required - Torna o campo de preenchimento obrigatório • Mais regras que impedem a transmissão do formulário • Campos url devem seguir as regras de codificação de URLs • Espaços devem ser trocados por %20 • Campos email devem conter emails válidos • Valores de campos numéricos devem estar entre min e max e serem múltiplos de step, se estes forem fornecidos • Campos com o novo atributo pattern precisam ter um valor de acordo com a máscara informada nele • Atributo ainda não suportado no IE nem no Safari 11
  • 12. VALIDAÇÕES DE INPUTS • Expressões regulares • pattern - Atributo que restringe a máscara do conteúdo no campo em questão • O atributo title deve ser usado para informar a máscara usada de um jeito mais claro ao usuário leigo • Ex. 1: <input type="text" name="cep" title="CEP: 00000-000" pattern="d{5}-d{3}" /> • Ex. 2: <input type="text" name="cpf" title="CPF: 000.000.000-00" pattern="d{3}(.d{3}){2}-d{2}" /> • Ex. 3: <input type="text" name="IP" title="Endereço IP válido para um ponto na rede" pattern="([1-9]{1,2}) | (1dd) | (2[0-4]d) | 25[0-4]" /> • Para simplificar, o pattern do exemplo 3 contemplou apenas o primeiro dígito, que deve ser algo entre 1 e 254 • Os espaços entre as barras em pé | (pipe), que significam “ou” lógico estão aí apenas para melhorar a legibilidade do exemplo. Não devem ser digitados 12
  • 13. VALIDAÇÕES DE INPUTS • Metacaracteres qualificadores: • São usados para validar apenas um caractere do texto • . (ponto) - Representa qualquer caractere • [ e ] - Para englobar lista de valores permitidos • [^ e ] - Para englobar lista de valores proibidos • d - Só admite números • w - Só admite letras, números e caracteres _ • s - Só admite caracteres de espaço • D, W, S - Inversos de suas contrapartidas minúsculas • ( e ) - Agrupamentos de conteúdo • | - Ou lógico. Utilize os parênteses para ele afetar um grupo todo • - Retira o poder de algum metacaratere. Ele vira simples texto • - - Dentro de listas, representam faixas de valores possíveis 13
  • 14. VALIDAÇÕES DE INPUTS • Metacaracteres quantificadores: • São usados para dar quantidade à expressão anterior • ? - Opcional. Pode vir zero ou uma vez • + - Deve vir pelo menos uma vez • * - Opcional. Pode vir zero ou várias vezes • {x} - Deve vir exatamente X vezes • {x,y} - Deve vir de x a y vezes • {x,} - Deve vir pelo menos x vezes • {,y} - Deve vir até y vezes • Metacaracteres limítrofes (não necessários aqui) • ^ - Deve vir no início da máscara e representa o início do texto • $ - Deve vir no final da máscara e representa o fim do texto • b - Delimita a borda de um texto (para pre/sufixo de palavras) 14
  • 15. FORMS 2.0 • Outras tags para formulários • <keygen> - Tag que envia uma chave pública para o servidor poder utilizar para cifrar o conteúdo. Só quem gera uma chave pública detém sua chave privada capaz de decifrar • Essa tag gera um combobox para o usuário escolher a quantidade de bits do tamanho dessa chave • http://lists.whatwg.org/pipermail/whatwg-whatwg.org/attachments/ 20080714/07ea5534/attachment.txt • <datalist> - Renderiza um suggest no browser. Parecido com o select, mas não é na verdade um campo de formulário • Deve ser usado como provedor de lista de valores para um input text • Para informar o datalist como provedor de valores de sugestões é necessário definir um id para o datalist e um atributo list para o input • <input type="text" list="ufs"/> • <datalist id="ufs"><option>Pernambuco</option>...</datalist> 15
  • 16. FORMS 2.0 • Leituras recomendadas • Artigos sobre Forms 2.0 • http://diveintohtml5.info/forms.html • http://hacks.mozilla.org/2010/11/firefox-4-html5-forms/ • Webforms2 - http://code.google.com/p/webforms2/ • Código Javascript para fazer os novos campos funcionarem em browsers antigos (recomenda-se testar) • Status do Forms 2.0 - http://wufoo.com/html5/ • Site atualizado sobre o índice de adoção dos novos recursos para formulários • Expressões regulares - http:www.guia-er.sf.net/ • Excelente material gratuito do autor brasileiro Aurélio Marinho Jargas 16
  • 17. EXERCÍCIOS • Utilize todos os novos recursos vistos nesta aula para incrementar o formulário de cadastro de currículo feito na aula anterior • Utilize campos de preenchimento obrigatório, placeholders, patterns, steps e valores numéricos mínimos e máximos • Dê a opção de escolha da cores de fonte e background do currículo • Crie um formulário de cadastro de eventos • Dê opção para o usuário marcar datas e horas de início e fim • Crie um formulário de busca avançada • Utilize mais filtros além do texto em si que pode ser feito com o campo search 17
  • 18. TAGS EDITÁVEIS • Qualquer tag pode ser editável agora • contenteditable. Atributo que torna naturalmente possível a edição de uma tag pelo usuário • Assim como qualquer campo de formulário, propicia a coleta de informações do usuário, mas neste caso, nada é naturalmente enviada ao servidor • Essa prática vem sendo muito aplicada em conjunto com técnicas novas da HTML5 como verificação de status do browsers (online ou offline) e armazenamento de dados locais no cliente (Web Storage) • Requer o uso de Javascript para potencializar sua utilidade • Ex.: <ul contenteditable="true"><li/></ul> • Este código apenas gera um sinal de tópico para que o usuário preencha • Se o usuário escrever tags, estas serão devidamente escapadas 18
  • 19. IFRAMES • Como inserir um código HTML dentro de outra página • <iframe> é uma tag que possibilita controlar um documento por baixo de outro • Ex.: <iframe src="outrapagina.html"></iframe> • Iframes e o AJAX • Já foi muito utilizado para promover chamadas assíncronas ao servidor sem atualizar a página inteira • O lado negativo é a divisão do código Javascript em dois arquivos • WYSIWYG • Iframes são utilizados hoje como editores avançados de conteúdo • Precisam de Javascript para colocá-los em designMode = "On" • Obs.: Não falaremos sobre <frame> e <frameset> neste curso. Obsoletos 19