Professional Documents
Culture Documents
COD.: TE 1580/1_WEB
HTML5 Fundamentos
Crditos
Copyright TechnoEdition Editora Ltda.
Todos os direitos autorais reservados. Este manual no pode ser copiado, fotocopiado,
reproduzido, traduzido ou convertido em qualquer forma eletrnica, ou legvel por qualquer
meio, em parte ou no todo, sem a aprovao prvia, por escrito, da TechnoEdition Editora
Ltda., estando o contrafator sujeito a responder por crime de Violao de Direito Autoral,
conforme o art.184 do Cdigo Penal Brasileiro, alm de responder por Perdas e Danos.
Todos os logotipos e marcas utilizados neste material pertencem s suas respectivas
empresas.
As marcas registradas e os nomes comerciais citados nesta obra, mesmo que no sejam assim identificados,
pertencem aos seus respectivos proprietrios nos termos das leis, convenes e diretrizes nacionais e
internacionais.
HTML5 Fundamentos
Coordenao Geral
Marcia M. Rosa
Autoria
Glaucio Daniel Souza Santos
Coordenao Editorial
Henrique Thomaz Bruscagin
Superviso Editorial
Simone Rocha Arajo Pereira
Diagramao
Diego Luiz Henrique
Edio n 1 | Cd.: 1580/1_WEB
julho/2013
Este material constitui uma nova obra e uma derivao das seguintes obras originais, produzidas por
TechnoEdition Editora Ltda.:
HTML5
Out/ 2012
Autoria: Andr Ricardo Stern, Athos Morais Valverde Junior, Cristiana Hoffmann Pavan, Henrique Thomaz
Bruscagin, Maria Rosa Carnicelli Kushnir.
XHTML com Tableless
Set/2007
Autoria: Bruno de Alencar Bocci, Maristela Salvatore, Tatiana Yumi Tanaka.
Sumrio
Informaes sobre o treinamento...................................................................... 10
Captulo 1 Introduo HTML5........................................................................ 11
1.1.
A histria da HTML..................................................................12
1.2.
Markup Languages..................................................................13
1.3. HTML5....................................................................................14
1.4.
Visualizando o cdigo fonte....................................................15
1.5. Interpretao e transformao do cdigo fonte.......................16
1.6.
Navegadores...........................................................................16
1.6.1. Motor de renderizao............................................................16
1.6.1.1. WebKit....................................................................................17
1.6.1.2. Gecko......................................................................................18
1.6.1.3. Trident....................................................................................18
1.6.2. Principais navegadores............................................................19
Pontos principais...................................................................................20
Teste seus conhecimentos ................................................................................... 21
Captulo 2 O universo HTML5........................................................................... 25
2.1.
A linguagem HTML5................................................................26
2.2.
Logotipo oficial.......................................................................27
2.3.
Tecnologias da HTML5............................................................27
2.3.1. Semntica...............................................................................28
2.3.2. Offline e armazenamento........................................................29
2.3.3. Acesso ao dispositivo..............................................................30
2.3.4. Conectividade.........................................................................31
2.3.5. Multimdia...............................................................................32
2.3.6. Grficos, 3D e efeitos..............................................................33
2.3.7. Desempenho e integrao.......................................................34
2.3.8. CSS3.......................................................................................35
Pontos principais...................................................................................36
Teste seus conhecimentos ................................................................................... 37
HTML5 Fundamentos
Captulo 3 Conhecendo a estrutura HTML5................................................ 41
3.1.
Tags e atributos da HTML5......................................................42
3.2.
Estrutura do cdigo HTML5.....................................................43
3.2.1. Tipo de documento (DOCTYPE)................................................43
3.2.2. Elemento raiz (html)................................................................44
3.2.3. Cabealho (head).....................................................................44
3.2.4. Corpo da pgina (body)...........................................................45
3.3.
Metatags.................................................................................45
3.3.1. Meta name..............................................................................45
3.3.2. Palavras-chave e descries.....................................................46
3.3.3. Meta charset...........................................................................47
3.4.
Visualizando o cdigo renderizado..........................................47
Pontos principais...................................................................................48
Teste seus conhecimentos ................................................................................... 49
Mos obra!................................................................................................................. 53
Captulo 4 Formatando um documento HTML5........................................ 55
4.1.
Introduo...............................................................................56
4.2.
Entendendo a semntica de um documento.............................56
4.3.
Elementos de um documento HTML5.......................................57
Pontos principais ..................................................................................66
Teste seus conhecimentos ................................................................................... 67
Mos obra!................................................................................................................. 71
Captulo 5 Imagem, udio e vdeo................................................................... 73
5.1.
Introduo...............................................................................74
5.2.
Imagem...................................................................................74
5.2.1. O elemento IMG......................................................................75
5.3.
audio.......................................................................................79
5.4.
video.......................................................................................82
Pontos principais...................................................................................86
Teste seus conhecimentos ................................................................................... 87
Mos obra!................................................................................................................. 91
Sumrio
Captulo 6 Trabalhando com vnculos Links e Microdata................. 93
6.1.
Introduo...............................................................................94
6.2.
Definindo ncoras...................................................................94
6.3.
Tipos de vnculos (links)..........................................................94
6.3.1. Link absoluto..........................................................................95
6.3.2. Link relativo............................................................................95
6.3.3. Link com imagem....................................................................96
6.3.4. Link para e-mail.......................................................................97
6.3.5. Nomeando ncoras..................................................................99
6.4.
Determinando a janela de destino...........................................100
6.5.
Tabindex.................................................................................100
6.6.
Disponibilizando arquivos para download...............................101
6.7.
Microdata................................................................................102
6.7.1. Itemscope...............................................................................103
6.7.2. Itemtype..................................................................................104
6.7.3. Itemprop.................................................................................105
Pontos principais...................................................................................106
Teste seus conhecimentos ................................................................................... 107
Mos obra!................................................................................................................. 111
Captulo 7 Trabalhando com listas e tabelas............................................. 113
7.1.
Listas......................................................................................114
7.1.1. Lista ordenada.........................................................................114
7.1.2. Lista no ordenada..................................................................116
7.1.3. Lista de definio....................................................................117
7.2.
Tabelas...................................................................................118
7.2.1. Formatao de uma tabela......................................................119
7.2.2. Mesclando clulas...................................................................120
7.2.2.1. Mesclando colunas..................................................................120
7.2.2.2. Mesclando linhas.....................................................................122
Pontos principais...................................................................................123
Teste seus conhecimentos ................................................................................... 125
Mos obra!................................................................................................................. 129
HTML5 Fundamentos
Captulo 8 Introduo ao CSS3......................................................................... 131
8.1.
Introduo...............................................................................132
8.2. Conceito de camadas..............................................................132
8.3.
Folhas de estilo (CSS)..............................................................133
8.3.1. Declarando estilos...................................................................133
8.4.
Estilos CSS ..............................................................................134
8.4.1. Declarando estilos internamente.............................................134
8.4.2. Declarando estilos no cabealho..............................................134
8.4.3. Declarando estilos diretamente na tag.....................................135
8.4.4. Declarando estilos externamente.............................................136
8.5.
Cascateamento........................................................................137
8.6.
Inserindo comentrios.............................................................138
8.7.
Atributos utilizados para formatao.......................................139
8.7.1. Declarao de cores................................................................139
8.7.2. Formatando texto....................................................................140
8.7.3. Formatando o plano de fundo.................................................142
8.7.4. Formatando bordas.................................................................144
8.7.5. Formatando espaamento entre contedo, margem e bordas..147
8.7.6. Formatando links....................................................................151
8.8.
Seletores.................................................................................153
8.8.1. Seletores de classe..................................................................153
8.8.2. Seletores de id.........................................................................154
8.9.
Tipos de mdia........................................................................156
Pontos principais...................................................................................161
Teste seus conhecimentos ................................................................................... 163
Mos obra!................................................................................................................. 167
Captulo 9 Criando e posicionando um layout.......................................... 169
9.1.
Introduo...............................................................................170
9.2.
Dimenso real dos elementos..................................................170
9.3.
Configurando as margens dos elementos................................172
9.4.
Posicionando os elementos.....................................................174
9.4.1. Position...................................................................................174
9.4.1.1. Posicionamento esttico..........................................................174
9.4.1.2. Posicionamento fixo................................................................174
9.4.1.3. Posicionamento absoluto.........................................................175
9.4.1.4. Posicionamento relativo...........................................................176
9.4.2. Float........................................................................................178
9.5.
Definindo as camadas.............................................................180
9.6.
Definindo o modo de apresentao dos elementos..................183
Pontos principais...................................................................................185
Teste seus conhecimentos ................................................................................... 187
Mos obra!................................................................................................................. 191
8
Sumrio
Captulo 10 Formulrios...................................................................................... 193
10.1.
Introduo...............................................................................194
10.2.
Atributos para controle de formulrios....................................194
10.2.1. placeholder.............................................................................194
10.2.2. autofocus................................................................................196
10.2.3. required..................................................................................197
10.2.4. autocomplete..........................................................................198
10.2.5. list..........................................................................................199
10.2.6. max........................................................................................200
10.2.7. min.........................................................................................202
10.2.8. form........................................................................................204
10.2.9. formaction..............................................................................205
10.2.10. formenctype............................................................................206
10.2.11. formmethod............................................................................206
10.2.12. formtarget...............................................................................207
10.3.
Atributos para validar formulrios...........................................207
10.3.1. formnovalidate........................................................................208
10.3.2. novalidate...............................................................................208
10.3.3. pattern....................................................................................209
10.4.
Atributo type (elemento input).................................................209
10.4.1. search.....................................................................................210
10.4.2. url...........................................................................................211
10.4.3. tel...........................................................................................212
10.4.4. email.......................................................................................214
10.4.5. datetime..................................................................................216
10.4.6. datetime-local.........................................................................217
10.4.7. date........................................................................................218
10.4.8. time........................................................................................219
10.4.9. month.....................................................................................219
10.4.10. week.......................................................................................220
10.4.11. number...................................................................................220
10.4.12. range......................................................................................221
10.4.13. color.......................................................................................222
Pontos principais...................................................................................224
Teste seus conhecimentos ................................................................................... 225
Mos obra!................................................................................................................. 229
10
Introduo
HTML5
99 Histria da HTML;
99 HTML5;
99 Motor de renderizao;
99 Navegadores.
HTML5 Fundamentos
12
Introduo HTML5
1.2.Markup Languages
As Markup Languages, tambm conhecidas como MLs, so linguagens que tm o
objetivo de fornecer elementos adicionais a um texto, denominados marcaes,
a fim de definir uma estrutura ou um layout de informaes.
A tabela a seguir descreve algumas Markup Languages cujos cdigos so
compostos no apenas por contedo, mas tambm por tags, que so marcas
utilizadas para enfatizar a estrutura de um documento. Observe:
Markup Language
Descrio
HTML
(HyperText Markup
Language)
XHTML
(Extensible HyperText
Markup Language)
HTML5
13
HTML5 Fundamentos
1.3.HTML5
Esta linguagem uma evoluo dos padres HTML que j existiam, ela associa
as tags de marcao utilizadas em HTML com novos conceitos semnticos e
uma coleo de novos recursos nativos que antes eram possveis somente com
plugins.
Para criar vdeos, player de udio e animaes, antes era necessrio utilizar
plug-ins como Flash, mas com o HTML5 muitos recursos se tornaram nativos e
dispensam o uso de plug-ins. A vantagem que o site ou aplicativo Web (Web
App) poder rodar em vrios dispositivos.
Quando um site funciona normalmente em qualquer navegador, chamamos
de cross-browser. Quando um site funciona normalmente em qualquer
dispositivo, como desktop, notebook, tablet, smartphone, TV, carro, culos,
chamamos de cross-device.
Quando trabalhamos com a linguagem XHTML (Extensible HyperTex Markup
Language), contamos com as tags, as quais so definidas como cdigos desta
linguagem que tm a funo de representar um comando. As tags so colocadas
entre os sinais de menor e de maior, da seguinte forma: <nome_tag>.
14
Introduo HTML5
Devemos ter em mente que, mesmo sendo possvel visualizar o cdigo de uma
pgina, no possvel alterar a formatao que ele apresenta. Isso ocorre porque
tanto a pgina quanto o cdigo que visualizamos so cpias dos originais,
os quais esto no servidor e so protegidos por senhas e programas contra
invaso.
Quando visitamos uma pgina Web, ocorre o download de arquivos que
permanecem armazenados em uma pasta de arquivos temporrios da Internet
at que sejam excludos. As imagens, os textos, os arquivos de formatao de
estilos, arquivos JavaScript permanecem armazenados nesta pasta, permitindo,
assim, que as pginas sejam carregadas no browser usando a cpia j
armazenada.
1.5.Interpretao e transformao do
cdigo fonte
Ao abrirmos o browser, inserirmos uma URL em seu campo Endereo e
pressionarmos a tecla ENTER, a resposta obtida um arquivo de texto simples
que pode ser interpretado de vrias maneiras, de acordo com a extenso que
ele apresenta. Caso a extenso desse arquivo seja .html, o browser aciona seu
mecanismo de renderizao.
A engine responsvel no apenas pela interpretao do cdigo fonte, mas
tambm por sua transformao em elementos grficos.
O processo de renderizao ato da transformao do cdigo fonte. Este termo
bastante utilizado para falar a respeito de mtodos que permitem calcular
cores, sombras e texturas, seja em um documento baseado em MLs ou em uma
imagem vetorial.
15
HTML5 Fundamentos
1.6.Navegadores
Existem atualmente centenas de browsers no mercado e qualquer desenvolvedor
que tenha conhecimento da estrutura de renderizao e interpretao de cdigos
HTML pode criar o seu navegador.
Podemos mencionar os principais navegadores existentes no mercado. O que
deve ficar claro que todo navegador de Internet possui em seu ncleo um
motor de renderizao, que responsvel por determinar como o navegador
interpreta a rvore de elementos de um cdigo HTML.
1.6.1.Motor de renderizao
Existem alguns motores de renderizao que so softwares utilizados no ncleo
dos navegadores e clientes de e-mail responsveis por interpretar a linguagem
HTML, folhas de estilo (CSS), imagens e gerar um cdigo final.
A seguir, apresentamos os principais motores de renderizao utilizados no
mercado.
1.6.1.1. WebKit
um motor de renderizao criado pela Apple, utilizado inicialmente no Safari,
conservado como um projeto de cdigo aberto, escrito em linguagem C++ e
hoje mantido por um grande grupo de desenvolvedores.
importante mencionar que existem vrios tipos de WebKit e o fato de dois
navegadores utilizarem WebKit como motor de renderizao no necessariamente
os torna idnticos em seu de resultado final.
16
Introduo HTML5
1.6.1.2. Gecko
um motor de renderizao criado pela Fundao Mozilla. Inicialmente chamado
de NGLayout.
Embora seja mantido pela Fundao Mozilla, Gecko uma marca registrada da
Netscape Communications Corporation, empresa pertencente ao grupo AOL.
utilizado nos seguintes navegadores:
Firefox;
Mozilla Suite;
Camino;
Flock;
4K-Meleon;
Thunderbird (e-mail).
17
HTML5 Fundamentos
1.6.1.3. Trident
um motor de renderizao proprietrio da Microsoft e embora seja um dos
primeiros a implantar recursos de formatao de estilos, acabou por gerar
inmeros problemas de incompatibilidade.
Cada um dos navegadores Internet Explorer de verses 6 a 8 interpretava o
cdigo sua maneira, o que tornava o trabalho do profissional responsvel
pelo layout um tanto quanto maante, uma vez que um mesmo site tinha vrias
formas de comportamento para um mesmo mecanismo. Com a verso 6.0 do
Trident utilizada no Internet Explorer 10, a tentativa da Microsoft manter uma
maior compatibilidade com o Padro Web (Web Standard).
utilizado nos seguintes navegadores:
Internet Explorer;
Microsoft Outlook (e-mail);
Visual Studio (IDE).
18
Introduo HTML5
1.6.2.Principais navegadores
Segundo as estatsticas de vrios sites de pesquisa globais, entre eles o
StatCounter Global Stats, em 2013, o Google Chrome lidera a lista dos principais
navegadores utilizados no mercado com 38.07% de Market Share (Participao
de mercado), seguido pelo Internet Explorer com 29.03% (o que inclui todas as
verses do IE), em seguida, Firefox com 20%, Safari com 8% e Opera com 1.17%.
19
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
Tim Berners-Lee desenvolveu a linguagem HTML. A linguagem se tornou
popular na dcada de 90, quando desenvolvedores e fabricantes de browsers
a transformaram em uma linguagem base. Em 1997, com a verso 3.2
desenvolvida pelo W3C, ela se torna uma linguagem padro;
As Markup Languages, tambm conhecidas como MLs, so linguagens que
tm o objetivo de fornecer elementos adicionais a um texto, denominados
marcaes, a fim de definir uma estrutura ou um layout de informaes;
A HTML5 uma evoluo dos padres HTML que j existiam, ela associa as
tags de marcao utilizadas em HTML com novos conceitos semnticos e
uma coleo de novos recursos nativos que antes eram possveis somente
com plugins.
20
Introduo
HTML5
HTML5 Fundamentos
a) Steve Jobs
b) Tim Berners-Lee
c) Willian Gates
d) Steve Wozniak
e) Mark Zuckerberg
22
Introduo HTML5
a) Nenhum
b) WebKit
c) Presto
d) Gecko
e) Trident
a) Samba
b) WebKit
c) Presto
d) Gecko
e) Trident
23
HTML5 Fundamentos
a) MSHTML
b) WebKit
c) Presto
d) Gecko
e) Flock
a) V8 JavaScript Engine
b) WebKit
c) Flock
d) Lynx
e) Trident
24
O universo
HTML5
99 A linguagem HTML5;
99 Logotipo oficial;
99 Tecnologias da HTML5.
HTML5 Fundamentos
26
O universo HTML5
2.2.Logotipo oficial
O logotipo oficial do HTML5 um distintivo que, de forma simples, transmite
muito mais do que apenas o envolvimento da tecnologia com os padres abertos
da Web. Encomendado pela W3C, ele foi desenvolvido por uma respeitada
agncia de publicidade denominada OCUPOP.
Observe o logo:
Este logotipo e todos os outros criados pela W3C para HTML5 e suas tecnologias
esto licenciados como Creative Commons Attribution 3.0 Unported, ou seja,
voc pode compartilhar e modificar este logotipo, bem como utiliz-lo em
produtos, tais como camisetas, bons, logotipos estilizados, com o objetivo de
difundir a tecnologia. Sempre que possvel, voc poder creditar este logotipo
com o termo Criado por W3C.
2.3.Tecnologias da HTML5
As tecnologias do HTML5 so divididas oficialmente em oito reas, descritas a
seguir.
27
HTML5 Fundamentos
2.3.1.Semntica
28
O universo HTML5
2.3.2.Offline e armazenamento
29
HTML5 Fundamentos
2.3.3.Acesso ao dispositivo
30
O universo HTML5
2.3.4.Conectividade
31
HTML5 Fundamentos
2.3.5.Multimdia
32
O universo HTML5
2.3.6.Grficos, 3D e efeitos
Com a utilizao de SVG, Canvas, WebGL e recursos CSS3 3D, possvel produzir
experincias visuais incrveis para o usurio, sem a necessidade de plug-ins, ou
seja, nativamente no navegador.
33
HTML5 Fundamentos
2.3.7.Desempenho e integrao
34
O universo HTML5
2.3.8.CSS3
35
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo:
A HTML5 facilita a maneira como o cdigo escrito e como as informaes
so organizadas na pgina, possibilitando mais interatividade sem a
necessidade de utilizao de plug-ins e sem perda de performance;
Dois aspectos so relevantes na HTML5: a interoperabilidade, que facilita a
reutilizao de informao em novos dispositivos, e a retrocompatibilidade,
que permite compatibilizar sites j existentes com os browsers recentes,
ou seja, no preciso refazer sites para que estes se adaptem a novos
conceitos e regras;
O logotipo HTML5 e todos os outros criados pela W3C e suas tecnologias
esto licenciados como Creative Commons Attribution 3.0 Unported, ou
seja, voc pode compartilhar e modifica-los;
As tecnologias do HTML5 so divididas oficialmente em oito reas: Semntica;
Offline e Armazenamento; Acesso ao Dispositivo; Conectividade; Multimdia;
Grficos, 3D e Efeitos; Desempenho e Integrao; e CSS3.
36
O universo
HTML5
HTML5 Fundamentos
a) Offline
b) Semntica
c) Multimdia
d) Desempenho e integrao
e) Conectividade
38
O universo HTML5
39
HTML5 Fundamentos
a) HTML5
b) 3D
c) Multimdia
d) Semntica
e) CSS3
40
Conhecendo
a estrutura
HTML5
HTML5 Fundamentos
42
43
HTML5 Fundamentos
3.2.3.Cabealho (head)
O cabealho, representado pelo elemento <head>, contm informaes
genricas a respeito do contedo do documento e da forma que ser exibido.
Essas informaes genricas tambm so chamadas de metadados, os quais
representam informaes capazes de descrever outros dados. Portanto,
podemos dizer que a funo da tag <head> determinar o cabealho de uma
pgina.
Todos os elementos que compem esta tag no so exibidos pelo browser.
Dentre esses elementos, podemos ter metatags, folhas de estilo, scripts, entre
outros. Dentro da tag <head>, deve ser inserida a tag <title>, cuja funo
determinar o ttulo da pgina.
Se desejarmos carregar estilos para formatao de contedo na prpria pgina,
utilizamos o elemento ou tag <style></style>. Se os estilos forem carregados
externamente, utilizamos o elemento <link>.
Quando precisamos adicionar programao de script ao documento, de forma
que essa seja carregada antes do corpo do site, podemos adicionar o elemento
<script></script> como elementos filhos de <head></head>.
44
3.3.Metatags
Definimos metatags como sendo cdigos referentes a informaes e a indicaes.
Assim como as folhas de estilo e os scripts, as metatags representam um dos
elementos a serem colocados no cabealho da pgina (tag <head>).
O elemento utilizado para realizar a declarao de uma metatag o <meta />,
cuja funo fornecer dados capazes de descrever informaes presentes no
corpo da pgina. Normalmente, essas informaes referem-se descrio do
contedo e a palavras-chave.
3.3.1.Meta name
O elemento <meta name /> costuma referir-se s informaes relacionadas
ao autor da pgina, conforme demonstra o exemplo a seguir:
<meta name=author content=autor_da_pgina />
HTML5 Fundamentos
3.3.2.Palavras-chave e descries
Para compreender a importncia das palavras-chave e das descries, preciso
ter em mente que as buscas dinmicas realizadas por meio dos motores de
busca so auxiliadas, entre outras regras, por metatags.
A fim de realizar uma pesquisa, os motores de busca utilizam regras que
verificam os cabealhos e o contedo das pginas na rede, para encontrar as
palavras-chave que esto presentes nas metatags e que so representadas pelo
atributo keywords. Esses aplicativos so chamados de robots.
Assim que a palavra-chave encontrada, todas as descries contendo o
atributo description que foram encontradas pelas metatags so exibidas em
uma pgina de resultado.
Embora as metatags possam conter vrias palavras-chave, as quais devem ser
separadas por vrgulas, a descrio requer mais objetividade, visto que um texto
de descrio bastante extensa pode no ser visualizado por inteiro, uma vez
que o motor de busca limita a quantidade de caracteres a ser exibida:
<meta name=keywords content=HTML5, CSS3, Semntica, Canvas />
<meta name=description content=Nossa empresa esta situada no
melhor... />
46
3.3.3.Meta charset
Quando precisamos tornar nosso site disponvel para os principais idiomas,
precisamos determinar o encoding que o site utilizar. Existe um encoding que
permite utilizar cerca de um milho de caracteres: chama-se utf-8.
Para determinar o encoding utilizado no documento, temos o elemento meta
com o atributo charset <meta charset/>:
<meta charset=utf-8>
3.4.Visualizando o cdigo
renderizado
Para visualizar o cdigo renderizado, devemos salvar o arquivo com a extenso
.html. Vale destacar que visualizar o cdigo renderizado significa visualizar o
resultado obtido com os cdigos a partir do browser.
Aps salvarmos o documento como .html, podemos abri-lo de duas formas
distintas: com um duplo clique sobre o nome do arquivo salvo, ou a partir do
browser utilizado. importante destacar que, para criar uma pgina HTML5,
podemos utilizar um editor de textos simples.
Existem inmeros editores de texto e Ambientes Desenvolvimento Integrado (IDE
- Integrated Development Enviroment). Veja a lista com alguns dos softwares
mais utilizados no mercado:
Adobe Dreamweaver;
Sublime Text;
Aptana Studio;
Eclipse;
Vim;
Notepad++;
Editplus.
47
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo:
Tag o termo atribudo aos cdigos utilizados em HTML. As tags so
identificadas por estarem entre o sinal menor que (<) e maior que (>);
O elemento raiz de um cdigo HTML deve ser a tag <html>. Tal elemento
pode, ainda, possuir um atributo lang, responsvel por determinar qual o
idioma do documento em questo, e ainda permitir que os navegadores
sugiram a melhor traduo quando algum usurio de um pas cujo idioma
seja diferente do documento acessar o site;
A funo da tag <head> determinar o cabealho de uma pgina. Todos
os elementos que compem esta tag no so exibidos pelo browser. Dentre
esses elementos, podemos ter metatags, folhas de estilo, scripts, entre
outros;
O corpo de uma pgina HTML5 determinado pela tag <body>, cujos
elementos tm a funo de determinar tudo o que ser apresentado pelo
browser de forma grfica;
Definimos metatags como sendo cdigos referentes a informaes e
a indicaes. Assim como as folhas de estilo e os scripts, as metatags
representam um dos elementos a serem colocados no cabealho da pgina
(tag <head>);
O encoding padro para Web, que abrange mais de um milho de caracteres
o utf-8.
48
Conhecendo a
estrutura HTML5
HTML5 Fundamentos
a) <html><div></div><form></
form><head></head></html>
b) <html><body></body><head/>
c) <html><head><body></body><title>
d) <html><head><title></title></
head><body></body></html>
e) <html><head><title></
title><body></head></html>
a) iso8859-1
b) version=2.0
c) utf-8
d) utf16
e) lang=pt-br
50
a) search
b) description
c) name
d) humanstxt
e) body
a) content
b) contenttype
c) name
d) author
e) charset
51
Conhecendo a
estrutura HTML5
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Criando um documento HTML com os elementos principais
1. Dentro do diretrio labs crie um arquivo com o nome lab_cap3.html;
54
Formatando
um
documento
HTML5
HTML5 Fundamentos
4.1.Introduo
Este captulo tem por objetivo apresentar as tags ou elementos e os atributos
que so utilizados com a finalidade de formatar um documento HTML5. Veja, a
seguir, detalhes a respeito deste assunto.
4.2.Entendendo a semntica de um
documento
Quando criamos um documento HTML5, seja ele um site ou um aplicativo Web
(Web App), precisamos conhecer a estrutura dos elementos principais de um
documento HTML5 bem formatado.
Em sua nova verso, o HTML permite utilizarmos elementos que possuem
significado tanto para os desenvolvedores, quanto para os motores de busca.
Isso chamado de semntica.
Em verses anteriores do HTML, as reas de um site eram divididas por tags
que no possuam significado semntico; frequentemente, o elemento <div>
era utilizado quando fosse necessrio criar um menu para o site era usado uma
sintaxe semelhante a imagem a seguir:
56
4.3.Elementos de um documento
HTML5
Em um documento HTML5, todos os elementos comeam com a definio do
tipo do documento. Isso possvel por meio da tag <!doctype HTML>, seguida
pela abertura da tag <html>.
Aps essa definio, temos a criao do cabealho do documento por meio
da tag <head>, que ir definir o que deve ser carregado antes da pgina ser
exibida ao usurio.
57
HTML5 Fundamentos
Definido o cabealho e seu ttulo, o corpo do documento criado por meio da
tag <body>, formando a estrutura bsica a seguir:
Dentro da tag body, colocamos o contedo de nosso site, que ser dividido por
tags que representam seu significado.
Veja, a seguir, uma lista com os principais elementos do HTML5 e seus respectivos
significados:
html
Este o elemento raiz do documento HTML, ficando logo no incio. Dentro dele,
ficam todos os elementos filhos.
head
Este o primeiro elemento filho aps o elemento raiz; o cabealho do
documento, que deve ser carregado antes da pgina ser exibida ao usurio.
Dentro dele, utilizamos a tag <meta charset=utf-8 />.
58
link
Elemento responsvel por criar uma referncia para um arquivo externo, possui
um atributo rel (relation) para explicar o motivo dessa referncia. O valor mais
comum para rel Stylesheet, referindo-se a um arquivo externo que ir dar
forma e organizao ao documento atual, formatando cor, fontes, formas e
todo o documento.
body
O incio do corpo do documento.
header
O cabealho do documento. Quando o elemento header for filho de outro
elemento dentro de um documento, por exemplo, dentro de uma section, ele
ser o cabealho deste bloco especfico. Logo, em um documento podemos ter
vrios blocos section e cada um ter seu header independente.
main
O contedo principal da pgina alocado dentro da tag main. recomendvel
utilizar o atributo role=main, uma vez que nem todos os navegadores
implementaram esse novo elemento. Informaes no essenciais podem ser
deixadas de fora.
section
Uma seo com contedos diversos no documento, por exemplo, a introduo
ou o ttulo. Um layout pode ser dividido em vrias sections, desde que possuam
contedo que reflitam algum sentido semntico.
nav
Uma seo contendo um menu de navegao, formado por vculos que ligam
um documento ou pgina a outra pgina.
59
HTML5 Fundamentos
article
Quando necessrio armazenar o texto principal do documento, por exemplo,
um artigo de uma revista, jornal, ou blog, ele deve ficar dentro do elemento
article, que pode possuir um cabealho com o ttulo principal e subttulo.
recomendvel a criao de apenas um elemento article por documento.
aside
Uma seo que contm contedo relacionado aos elementos em sua volta.
comumente utilizada para barras laterais, tais como publicidade, podendo
conter outros elementos filhos como nav, representando um menu de opes.
h1- h6 e hgroup
Estes elementos permitem criar o ttulo principal do documento utilizando h1 e
os subttulos hierrquicos de h2 at h6. Quando necessrio, possvel agrupar
esses ttulos dentro de um grupo representado pelo elemento hgroup.
footer
O rodap do documento ou de uma section pode conter outros elementos
filhos, tais como nav, tornando-o assim um menu de navegao no rodap.
p
Elemento utilizado para pragrafo.
div
Uma seo do site que no possui significado semntico.
60
61
HTML5 Fundamentos
O primeiro passo criar o doctype, o elemento raiz, o cabealho do documento,
a codificao para acentuao, o ttulo do site, finalizar o cabealho e iniciar o
corpo do documento:
62
Uma seo para os itens laterais criada, com um menu de navegao utilizando
o elemento <nav>. Dentro desta seo, criada uma lista com o elemento
<ul> e um elemento <aside> com informaes relacionadas ao contedo
adicionado dentro da section; este elemento pode representar, por exemplo,
uma publicidade:
63
HTML5 Fundamentos
Na parte final do documento, criado um elemento <footer>, que determina
o rodap do documento, com uma frase que pode compreender os direitos
autorais e um menu de navegao com o elemento <nav>, que compreende
alguns links importantes do documento:
64
65
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
Em sua nova verso, o HTML permite utilizar elementos que possuem
significado tanto para os desenvolvedores, quanto para os motores de
busca. Isso chamado de semntica;
Html o elemento raiz do documento HTML, ficando no incio dele. Em seu
interior ficam todos os elementos filhos;
Dentro do elemento head, utilizamos a tag <meta charset=utf-8 />;
Um layout pode ser dividido em vrias sections, desde que possuam
contedo que reflitam algum sentido semntico;
Uma div diferente de uma section no possui qualquer significado semntico;
O elemento header utilizado para criar um cabealho no documento ou
no bloco de seo;
Um elemento article responsvel pelo texto principal do site. Normalmente,
s h um elemento article por pgina.
66
Formatando um
documento HTML5
Teste seus conhecimentos
HTML5 Fundamentos
a) Section
b) Header
c) Head
d) Link
e) Body
68
69
HTML5 Fundamentos
a) div
b) aside
c) section
d) sidebar
e) article
70
Formatando um
documento HTML5
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Criando um cdigo HTML5 formatado e estruturado
1. Dado o wireframe a seguir, crie um cdigo HTML5 que represente a estrutura
deste cdigo:
72
Imagem, udio
e vdeo
99 Imagem;
99 udio;
99 Vdeo.
HTML5 Fundamentos
5.1.Introduo
Apresentaremos, neste captulo, os elementos imagem, audio e video, bem
como a insero de mdia em documento HTML5 e as opes para alguns tipos
de arquivos.
Os elementos multimdia tm o objetivo de enriquecer a formatao do contedo.
So utilizados em logotipos, banners de publicidade, cones, botes, vdeos
corporativos, clips, msicas, filmes etc.
5.2.Imagem
As imagens so importantes no apenas para a esttica de um documento
HTML5, como tambm para a transmisso de mensagens mais objetivas ao
pblico. Um dos aspectos mais importantes sobre imagens na Web se refere ao
peso de uma imagem.
Desde o princpio, em desenvolvimento Web, deve-se pensar no desempenho
do site ou aplicativo Web: imagens com boa resoluo no raro aumentam o
peso do arquivo. Enquanto um arquivo de 1 ou 2 MB parea pequeno num
sistema operacional, quando se trata da Internet um peso muito grande, que
levar tempo para ser carregado.
Utilizando softwares editores de imagem, possvel reduzir o tamanho e o peso
de arquivos sem comprometer a qualidade do mesmo para o uso na internet.
Arquivos mais leves permitem que um documento seja aberto em menos tempo.
Devemos levar em conta que muitos usurios utilizam a Internet por meio de
dispositivos mveis, embora neste caso seja possvel criar um mecanismo que
detecte a origem do acesso do usurio, carregando imagens mais leves para
celulares e tablets. O ideal que todo o site possua contedo leve sempre que
possvel.
74
75
HTML5 Fundamentos
Junto a essa tag, tambm devemos inserir um URL que definir qual ser o
arquivo de imagem utilizado.
Para representar o valor URL de uma imagem, devemos utilizar o atributo src.
No exemplo a seguir, podemos verificar a aplicao de ambos os atributos, alt
e src, junto tag <img />:
O exemplo anterior carrega trs imagens com extenso .png, colocando uma
abaixo da outra, com o elemento <br/> responsvel por quebrar a linha.
76
77
HTML5 Fundamentos
Com a formatao CSS3, as imagens anteriores e uma imagem de fundo mudam
completamente o resultado. Veja o resultado com a aplicao de folhas de
estilos:
78
5.3.audio
O elemento audio usado para insero de som ou stream de udio em um
documento HTML5, sem necessidade de plug-ins, Flash, QuickTime etc. Veja
o exemplo a seguir:
79
HTML5 Fundamentos
O contedo do elemento audio renderizado por navegadores que suportam
esse elemento. Assim como fazemos em (X)HTML, aqui tambm definimos a
incorporao do som, por exemplo, com o uso de Flash. Veja:
80
HTML5 Fundamentos
Veja na tabela a seguir os atributos que o elemento source admite e as
respectivas caractersticas:
Atributo
Caracterstica
src
type
media
5.4.video
O elemento video usado para insero de vdeo ou filme em um documento
HTML5.
Voc deve utilizar alguns atributos desse elemento antes de public-lo, porm
no h necessidade de plug-ins, Flash, Windows Media Player etc. Veja o exemplo
a seguir:
82
83
HTML5 Fundamentos
Agora d uma olhada no resultado:
Trailer oficial do filme Pirates of the Caribbean 4 On Stranger Tides, Walt Disney Pictures, 2011.
Caracterstica
src
type
media
85
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
O elemento audio usado para insero de som ou stream de udio em um
documento HTML5, sem necessidade de plug-ins, Flash, QuickTime etc.;
O elemento video usado para insero de vdeo ou filme em um documento
HTML5. Voc deve utilizar alguns atributos desse elemento antes de publiclo, porm, no h necessidade de plug-ins, Flash, Windows Media Player
etc.;
Tanto para udio como para vdeo, os atributos, mtodos e eventos de
API na HTML5 so praticamente os mesmos. A diferena que o elemento
video possui os atributos poster, width e height e o elemento audio, no.
86
Imagem, udio e
vdeo
HTML5 Fundamentos
a) <media/>
b) <images>
c) src
d) alt
e) class
a) alt
b) img
c) src
d) URL
e) <br/>
88
a) alt
b) href
c) source
d) link
e) source
89
5
Imagem, udio e
vdeo
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Criando um cdigo HTML5 com um elemento imagem
1. Considerando a imagem a seguir e o arquivo ferrari.jpg, construa um arquivo
chamado cap5_lab1.html, carregando a imagem images/ferrari.jpg dentro de
uma estrutura HTML5, com o texto alternativo Ferrari Califrnia.
92
Trabalhando com
vnculos Links
e Microdata
99 Definio de ncoras;
99 Tipos de vnculos (links);
99 Definio da janela de destino;
99 Tabindex;
99 Arquivos de download;
99 Microdata.
HTML5 Fundamentos
6.1.Introduo
O hipertexto considerado um dos mais significativos recursos da Internet,
pois a partir de suas propriedades, possvel navegar de um documento para
outro, em questo de segundos.
Por meio do hipertexto, possvel acessar diferentes tipos de arquivos, como
imagens, udio e texto, de forma rpida e fcil. Para isso, necessrio realizar
a formatao correta do cdigo referente ao destino do vnculo (link) que ser
criado.
Neste captulo, aprenderemos como trabalhar com essa formatao para
viabilizar a navegao entre arquivos a partir de uma pgina da Internet.
Tambm entenderemos como o advento do microdata pode criar vnculos de
informaes dentro de um contexto com referncias semnticas externas,
ajudando a dar sentido a um texto que antes, para os motores de busca, eram
apenas caracteres sem qualquer significado.
6.2.Definindo ncoras
O vnculo que permite o acesso a um determinado arquivo definido atravs
de uma ncora, representada pela tag <a>. Por meio de uma ncora, possvel
utilizar o atributo href para definir um link associado a um arquivo. A ncora
permite, ainda, que um bookmark seja criado dentro de um documento, por
meio da indicao do atributo id ou name.
Assim que clicamos em um link associado a uma pgina, ela poder ser aberta
tanto na janela atual como em outro destino, caso este seja especificado
corretamente.
94
6.3.1.Link absoluto
Um link absoluto permite que seja definido um vnculo com um endereo
completo. O destino deve ser especificado por meio do protocolo http, seguido
por dois pontos e duas barras (://).
No exemplo a seguir, o nome Impacta Certificao e Treinamento possui a
propriedade de vnculo com um endereo absoluto, j que ela aparece entre as
tags <a> e </a>. Basta o usurio clicar nessa palavra para que ele seja levado
ao site da Impacta Certificao e Treinamento:
6.3.2.Link relativo
Um vnculo tambm pode ser criado para documentos encontrados dentro do
prprio site (ou seja, documentos locais). Para isso, devemos especificar o URL
do arquivo desejado a partir da pasta raiz por meio da tag href.
Por exemplo, o usurio poder clicar no termo Cadastro para acessar a pgina
desejada, j que esse termo possui propriedades de vnculo definidas pelas
tags <a> e </a>:
95
HTML5 Fundamentos
Nos links em forma de texto, possvel distinguir quais vnculos j foram visitados
por meio de cores destacadas. Nas imagens, essa diferenciao pela cor tambm
acontece, s que atravs de suas bordas. Essa caracterstica pode representar
um problema quando trabalhamos com imagens, pois uma simples adio de
cor pode comprometer sua exibio na tela. Para eliminar essa associao de
cores, devemos especificar o atributo border=0 na tag <img />, ou aplic-lo
via folhas de estilo (CSS).
Muitas pginas Web utilizam uma imagem de tamanho reduzido como link
para o acesso mesma imagem, s que em dimenses maiores. No entanto,
esse redimensionamento no modifica realmente o tamanho do arquivo. Isso
significa que um arquivo com 50 pixels de largura e 100 Kb continuar com
100 Kb, mesmo quando aumentamos a largura para 200 pixels.
No prximo exemplo, o texto [+] ampliar foi utilizado como vnculo para que
o arquivo fotomaior.jpg seja exibido no browser:
96
97
HTML5 Fundamentos
Enviando mensagens com cpia
Para que a mensagem eletrnica seja enviada como cpia para outro destinatrio,
devemos incluir o atributo cc da seguinte maneira:
98
6.3.5.Nomeando ncoras
Para que seja possvel acessar rapidamente um determinado ponto em um
documento HTML5, devemos criar um vnculo com a ajuda das tags <a> e </
a> e do atributo id:
99
HTML5 Fundamentos
Neste caso, o atributo target pode possuir os seguintes valores: _blank, _self,
_parent, _top.
6.5.Tabindex
Por meio desse atributo, podemos atribuir uma ordem de navegao ao longo
de todos os elementos existentes em um documento HTML5, como links e
elementos de formulrio. Sem o uso de tabindex, o usurio seria obrigado a
percorrer todos esses elementos de acordo com a ordem em que eles aparecem
no cdigo.
possvel determinar o ndice de tabulao em uma barra de navegao, em
elementos pertencentes a um formulrio ou outros itens que fazem parte do
cdigo XHTML. Para que o ndice de tabulao seja definido em um campo de
formulrio e um link, por exemplo, devemos utilizar a sintaxe a seguir:
100
101
HTML5 Fundamentos
6.7.Microdata
Com relao criao de vnculos, um recurso muito importante que foi
adicionado especificao do HTML5 so os microdados (microdata). Este
novo recurso permite dar sentido a um contedo de texto, enriquecendo a
semntica do documento, por criar referncias ou vnculos com o texto e seu
real significado.
Veja um exemplo de um documento sem o uso de microdata:
102
6.7.1.Itemscope
Este atributo responsvel por determinar o incio de um escopo. Quando um
texto diz respeito a uma pessoa, todas as informaes desta pessoa ficam
dentro de um elemento section ou div, que possui o atributo itemscope, dando
o sentido de que pertencem ao mesmo escopo.
103
HTML5 Fundamentos
6.7.2.Itemtype
Para determinar o tipo de informao, a coleo microdata possui o atributo
itemtype, que deve definir o tipo do contedo subsequente. O atributo itemtype
aponta para o site schema.org direcionando a especificao do assunto em
questo:
6.7.3.Itemprop
Este o atributo responsvel por determinar dentro daquele escopo que tipo
de informao o item em questo. No exemplo anterior, Glaucio Daniel
um itemprop=name no escopo de itemtype=http://schema.org/Person,
significando que Glaucio Daniel o nome de uma pessoa. Embora esta seja
uma informao bvia do ponto de vista humano, para a mquina, apenas com
o uso dos microdados que as informaes passam a ter sentido.
Alm do benefcio semntico para motores de busca, permite que os mesmos
integrem tais informaes com redes sociais, mapas e lugares (places).
Com os microdados, possvel criar Rich Snippets, que so aquelas descries
que aparecem em sites de busca.
Para maiores detalhes sobre as possibilidades de microdados, consulte:
Tipo de Informao
Empresas
Itemtype e detalhes
http://schema.org/Organization
Pessoas
http://schema.org/Person
Produtos
http://schema.org/Product
Eventos
http://schema.org/Event
Resenha (Avaliao)
http://schema.org/Review
105
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
Por meio do hipertexto, possvel acessar diferentes tipos de arquivos,
como imagens, udio e texto, de forma rpida e fcil. Para isso, necessrio
realizar a formatao correta do cdigo referente ao destino do vnculo
(link) que ser criado;
O vnculo que permite o acesso a um determinado arquivo definido com
a utilizao de uma ncora, representada pela tag <a>;
De acordo com o padro, o contedo do arquivo associado ao link substituir
a janela em execuo. Por meio do atributo target, possvel determinar
outro destino para o vnculo que ser pressionado;
Sem o uso de tabindex, o usurio seria obrigado a percorrer todos os
elementos de acordo com a ordem em que eles aparecem no documento
HTML5, pois esse atributo permite definir uma ordem de navegao;
Com o uso de microdados, podemos enriquecer a parte semntica do
documento HTML5, informando o tipo de informao que um texto
representa.
106
Trabalhando com
vnculos Links e
Microdata
HTML5 Fundamentos
a) link
b) reference
c) itemprop
d) a
e) microdata
a) <a link=artigos.html?topo>topo</a>
b) <a href=artigos.html#topo>topo</
a>
c) <a link=artigos.html#header>topo</
a>
d) <a link=topo.html?artigos>topo</a>
e) <a href=artigos.html?topo>topo</a>
108
a) itemprop
b) itemtype
c) Microdata
d) itemscope
e) itemgroup
a) itemtype
b) itemprop
c) itemscope
d) itemgroup
e) itemnav
109
Trabalhando com
vnculos Links e
Microdata
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Utilizando a coleo microdata
1. Utilizando a coleo microdata, transforme o texto a seguir em uma informao
semanticamente legvel, utilizando o itemtype http://www.schema.org/
Organization:
Empresa: Impacta Certificao e Treinamento
Endereo: Av. Paulista, 1009
Tel: (11) 3254-2200
Site: www.impacta.com.br
112
Trabalhando
com listas e
tabelas
99 Listas;
99 Tabelas.
HTML5 Fundamentos
7.1.Listas
Quando trabalhamos com documentos HTML5, podemos utilizar listas com a
finalidade de dividir os elementos de um documento em itens ou categorias. Assim,
podemos ter vrios tipos de listas ordenando itens da forma desejada. A seguir,
veremos alguns tipos de listas com as quais podemos trabalhar.
7.1.1.Lista ordenada
Este tipo de lista permite organizar seus itens, definindo uma ordem para os mesmos
de forma explcita. A tag <ol> utilizada para criar uma lista ordenada. Observe a
seguir:
Os atributos que podem ser utilizados em conjunto tag <ol> so start e type,
cujas descries so as seguintes:
start: Trata-se de um atributo que permite determinar o valor inicial da
numerao de itens da lista. Dessa forma, seu valor deve ser o primeiro nmero
a partir do qual ser iniciada a ordenao;
type: Trata-se de um atributo que permite determinar o tipo de lista a ser
utilizado. Os valores que podem ser utilizados com este atributo so os seguintes:
A: Determina a utilizao das letras do alfabeto em caixa alta;
a: Determina a utilizao das letras do alfabeto em caixa baixa;
I: Determina a utilizao dos algarismos romanos em caixa alta;
114
115
HTML5 Fundamentos
7.1.2.Lista no ordenada
Alm das listas ordenadas, contamos com as listas no ordenadas. Com elas,
no podemos definir uma ordem de forma explcita.
A tag utilizada para criar uma lista no ordenada a <ul>, conforme podemos
observar a seguir:
116
7.1.3.Lista de definio
Este tipo de lista permite no apenas a exibio de itens, mas tambm de
subitens, sendo bastante utilizada quando trabalhamos com ttulos e subttulos.
Observe o exemplo a seguir, em que trabalhamos com a exibio de um ndice
contendo itens e subitens:
Em que:
DL: Definition List;
DT: Definition Term;
DD: Definition Description.
Com a execuo deste exemplo, o seguinte resultado apresentado a partir do
navegador:
117
HTML5 Fundamentos
7.2.Tabelas
Para criarmos uma tabela em um documento HTML5, utilizamos o elemento
<table>. Trabalhar com tabelas uma tarefa que permite exibir informaes
de forma tabulada e criar uma listagem seguida de alguns dados a seu respeito.
A estrutura bsica de uma tabela a seguinte:
118
Em que:
<table>: Refere-se tag que permite criar uma tabela;
<thead>: Refere-se ao cabealho da tabela;
<th>: Refere-se ao cabealho de uma coluna;
<tbody>: Refere-se ao corpo da tabela;
<tr>: Refere-se tag que permite criar uma linha para a tabela, na qual
podemos inserir as colunas desejadas. tr significa Table Row;
<td>: Refere-se tag que permite criar uma coluna na linha da tabela.
Portanto, ela representa uma clula da tabela, na qual so inseridas as
informaes desejadas. td significa Table Data.
119
HTML5 Fundamentos
7.2.2.Mesclando clulas
Podemos combinar as clulas de uma tabela entre si a fim de formar uma clula
nica. Este processo denominado mescla de clulas. Mais detalhes a esse
respeito sero abordados a seguir.
120
121
HTML5 Fundamentos
7.2.2.2. Mesclando linhas
Assim como a mescla de colunas, a mescla de linhas um processo que requer a
determinao de quantas linhas devem ser ocupadas pela nova clula mesclada,
sem que o layout da tabela sofra quaisquer alteraes.
Observe o exemplo a seguir:
122
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
Quando trabalhamos com documentos HTML5, podemos utilizar listas com a
finalidade de dividir os elementos de um documento em itens ou categorias.
Assim, podemos ter vrios tipos de listas ordenando itens da forma desejada;
Os tipos de listas utilizadas so: listas ordenadas, no ordenadas e listas
de definio;
Para criarmos uma tabela em um documento HTML5, utilizamos as tags
<table>, <thead>, <th>, <tbody>, <tr>, <td>, entre outras que
permitem realizar algumas formataes sobre a tabela.
123
Trabalhando com
listas e tabelas
HTML5 Fundamentos
a) <ol type=A>
b) <ol type=1>
c) <ol type=A start=5>
d) <ol>
e) <ol type=a>
a) <ul type=circle>
b) <li type=>
c) <ul type=circulo>
d) <dl id=circle>
e) <ul>
126
a) <thread>
b) <tbody>
c) <th>
d) <tr>
e) <td>
a) border = solid
b) border = duo
c) colspan
d) rowspan
e) rowspan e colspan
127
7
Trabalhando com
listas e tabelas
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Criando uma tabela em um documento HTML5
1. Utilizando os conhecimentos adquiridos sobre tabelas, crie um documento
HTML5 com uma tabela, conforme a imagem abaixo:
Relatrio Financeiro
130
Cliente
Ano Apurao
Total Vendido
Total Pago
HTML5
Dev
2013
R$ 500.000,00 R$ 459.000,00
VIP
sim
Introduo
ao CSS3
99 Conceito de camadas;
99 Folhas de estilo (CSS);
99 Estilos CSS;
99 Cascateamento;
99 Insero de comentrios;
99 Atributos para formatao;
99 Seletores;
99 Tipos de mdia.
HTML5 Fundamentos
8.1.Introduo
Sites da Web, sejam eles redes sociais, comrcio eletrnico, portais de notcias
ou outros, produzem milhes de novas informaes todos os dias. Alm de
gerar contedo novo, tais sistemas so obrigados a atualizar periodicamente
as pginas j existentes. Tamanha responsabilidade implica no envolvimento
de vrios profissionais, incluindo diagramadores, redatores, programadores e
editores.
Uma mudana grfica no layout do site, por exemplo, exigiria muito trabalho
e tempo. A alterao manual dos arquivos de um site no apenas uma tarefa
trabalhosa, mas tambm suscetvel a erros, principalmente quando lidamos
com sites ou Web apps, cujos usurios produzem informao.
Para amenizar a complexidade dessas modificaes, organizar o layout e deixlo limpo e atual, muitos profissionais utilizam as folhas de estilo. Estas podem
ser bastante teis quando precisamos alterar elementos do mesmo tipo, mas
que pertencem a documentos diferentes.
Neste captulo, abordaremos como trabalhar com folhas de estilo em cascata
(CSS Cascading Style Sheets) e com seus recursos principais.
8.2.Conceito de camadas
Segundo a definio desse conceito, os elementos de programao com a mesma
finalidade devem ser agrupados no mesmo local. Alm de facilitar a incluso de
modificaes, o conceito de camadas determina uma estrutura mais organizada
para o sistema. Dessa forma, possvel acrescentar ou atualizar informaes
sem comprometer o contedo atual.
A partir do conceito de camadas, possvel trabalhar com as folhas de estilo
em cascata. As folhas de estilo CSS definem como o sistema ser formatado de
modo a facilitar a visualizao do cdigo e a organizao do sistema como um
todo.
132
Introduo ao CSS3
8.3.1.Declarando estilos
Para que uma tag seja formatada por meio de uma folha de estilo, ser preciso
declarar a sintaxe a seguir:
Em que:
elemento: Trata-se da descrio do elemento que ser formatado. Neste
caso, este elemento ser uma tag HTML sem os sinais de menor e maior;
atributo: Define qual ser o atributo utilizado para a aplicao do estilo,
desde que o nome seja de um atributo CSS vlido, como o tamanho da
fonte (font-size);
valor: Refere-se ao valor especfico do atributo definido, como 15 pt (ou
seja, 15 pontos) para o atributo de tamanho de fonte (font-size).
133
HTML5 Fundamentos
8.4.Estilos CSS
Os estilos de uma CSS podem ser aplicados em uma linha ou cabealho da
prpria pgina HTML ou por meio de um arquivo externo, o que mais indicado.
De acordo com o exemplo anterior, a tag <p> ter fonte Verdana com tamanho
de 20 pt, cor vermelha e alinhamento central.
134
Introduo ao CSS3
135
HTML5 Fundamentos
136
Introduo ao CSS3
Para vincular a folha de estilo ao documento HTML, devemos utilizar a tag <link
/>. Os parmetros dessa tag incluem o caminho de localizao do arquivo .css
e a descrio do tipo de arquivo externo, como podemos observar no prximo
exemplo:
Como possvel verificar no exemplo anterior, a tag <link /> deve ser inserida no
cabealho (head) do documento HTML. Graas correta localizao e descrio
da folha de estilo, os padres CSS podero ser importados para aplicao nesse
documento.
8.5.Cascateamento
Um documento HTML5 pode ser vinculado a uma ou vrias folhas de estilo. Caso
mais de uma CSS esteja associada a esse documento, o browser ser obrigado
a decidir quais so os padres mais importantes, uma vez que a mesma regra
pode aparecer em vrias folhas de estilo.
A prioridade entre definies de estilo atende s seguintes regras, descritas em
ordem de importncia:
Os estilos aplicados caso no existam outros padres que possam ser
aplicados no seu lugar: so os estilos definidos por omisso;
Os estilos definidos por meio de uma folha de estilo interna (ou seja, dentro
do elemento <style>) ou por meio de um arquivo externo;
Os estilos definidos nos elementos de um documento HTML por meio do
atributo <style> em uma folha de estilo inline.
137
HTML5 Fundamentos
Como podemos notar, os estilos definidos atravs do atributo <style> no
prprio elemento so prioritrios em relao aos demais estilos. Caso o browser
reconhea diferentes verses para o mesmo estilo, ser utilizada somente a
mais recente.
A ordem de maior utilizao dos estilos pode ser categorizada de maneira
simples:
Externo: Arquivo .css;
Incorporado: Atravs da tag <style> declarada no cabealho da pgina;
Inline: Tag <style> declarada em uma determinada linha do cdigo da
pgina.
8.6.Inserindo comentrios
Para facilitar a compreenso de um determinado cdigo, possvel incluir
comentrios nas definies de estilo CSS. Tais comentrios explicam o cdigo
que ser escrito, de forma que outros usurios possam entender rapidamente
sua utilizao.
Um comentrio deve ser includo da seguinte forma: em primeiro lugar, devemos
escrever a sequncia de caracteres /*. Em seguida, preciso incluir a descrio
do comentrio. Depois de incluir a descrio do comentrio, devemos fech-lo
escrevendo a sequncia de caracteres */, como mostra o exemplo a seguir:
138
Introduo ao CSS3
8.7.1.Declarao de cores
Uma folha de estilo permite que sejam utilizados diferentes mtodos para a
especificao de cores:
Nome da cor: Uma cor pode ser especificada por meio do seu nome, como
green;
#valor: Determina um valor padronizado da cor que ser utilizada;
Rgb(vermelho, verde, azul): Define os valores de vermelho,
verde e azul para a composio da cor final, como rgb(0,255,0);
rgb(vermelho%,verde%,azul%):
Define
os
valores
de
vermelho, verde e azul como porcentagens em relao ao
valor mximo de cada cor. Por exemplo, rgb(15%,40%,30%);
Nome
resumido:
Caso
seja
ser
declarado
em
vez
de
uma
cor
#CC6699
segura,
como
pode
#C69;
139
HTML5 Fundamentos
8.7.2.Formatando texto
Vrios atributos podem ser utilizados para a formatao do texto de um
elemento. Veja quais so esses atributos:
Atributos
Valor
color
Valor em formato
hexadecimal o nome da
cor.
Cor do texto.
Nome da fonte.
Tipo da fonte.
font-size
Valor referente ao
tamanho da fonte ou
porcentagem.
Tamanho da fonte.
font-style
normal, oblique ou
italic.
Estilo do texto.
font-variant
normal ou small-caps.
Os caracteres so
convertidos para
maisculo.
font-weight
Estilo negrito.
normal ou pt.
Ajuste do alinhamento
do texto.
overline, underline,
line-through ou blink.
Decorao do texto ou
hiperlink.
Porcentagem ou
valor desejado para o
comprimento.
Identao do texto.
text-transform
capitaliza, lowercase
ou uppercase.
Converso do texto
em formato minsculo
ou maisculo ou
apenas a primeira
letra.
vertical-align
Alinhamento vertical
do texto.
font-family
letter-spacing
text-align
text-decoration
text-ident
140
Definio
Introduo ao CSS3
141
HTML5 Fundamentos
backgroundattachment
background-color
background-image
background-repeat
background-size
background-position
142
Valor
Definio
Define se a imagem de
fundo permanecer fixa
enquanto a barra de
fixed, scroll ou local.
rolagem deslizada (fixed)
ou se ela acompanhar esse
movimento (scroll).
transparent,
valor em formato
Determina a cor de fundo
hexadecimal, rgb,
de um elemento.
rgba ou nome da cor.
url, linear-gradient
repeat-x, repeat-y,
repeat, space,
round, no-repeat.
Valor em pixels,
Especifica o tamanho das
porcentagem ou auto. imagens de fundo.
Caso a propriedade
background-image seja
especificada, podemos
determinar a localizao da
imagem e tambm o seu
comportamento quando a
janela for redimensionada.
Introduo ao CSS3
143
HTML5 Fundamentos
E com o cdigo HTML carregando os estilos e criando um boto para aplicar os
estilos criados:
144
Introduo ao CSS3
8.7.4.Formatando bordas
As bordas podem ser ajustadas de acordo com uma srie de atributos, como
podemos observar na tabela a seguir:
Atributos
border-bottom
Valor
Definio
border-color
Cor
border-style
border-top
border-radius
[px | % ] [px | %]
145
HTML5 Fundamentos
O arquivo cap_8_03.html com o contedo do documento HTML:
Observe no exemplo acima que o elemento h1 est chamando a classe bordaarredondada, criando assim um efeito com cantos arredondados sem o uso de
imagens, o que no era possvel em verses anteriores ao HTML5.
146
Introduo ao CSS3
Valor
Definio
padding-bottom
Porcentagem
ou O espao inferior entre o
valor desejado para contedo e as bordas
o cumprimento.
configurado.
padding-left
Porcentagem
ou O espao do lado esquerdo
valor desejado para entre o contedo e as bordas
o cumprimento.
configurado.
padding-right
Porcentagem
ou O espao do lado direito
valor desejado para entre o contedo e as bordas
o cumprimento.
configurado.
padding-top
Porcentagem
ou O espao superior entre
valor desejado para o contedo e as bordas
o cumprimento.
configurado.
147
HTML5 Fundamentos
Definio do padding de um bloco
Pellentesque habitant morbi tristique senectus et netus et matesuada fames ac turpis egestas.
Pellentesque
malesuada
malesuada
habitant
fames
fames
148
ac
morbi.
Et
turpis
et
ac
turpis.
Introduo ao CSS3
149
HTML5 Fundamentos
Com o clareamento da fonte e a adio de cantos arredondados (border-radius),
temos um efeito interessante:
Introduo ao CSS3
8.7.6.Formatando links
Os links inseridos em um documento HTML tambm podem ser formatados.
Para isso, algumas regras de estilo devem ser declaradas para as pseudoclasses
do elemento <a> do HTML. As pseudoclasses permitem acrescentar efeitos a
uma instncia dos seletores ou aos prprios seletores.
As pseudoclasses dos links podem ser divididas em:
a:hover: Define a formatao do link no momento em que passamos o
mouse sobre ele;
a:link: Define a formatao do link antes dele ser visitado;
a:visited: Define a formatao do link depois que ele visitado;
a:active: Link ativo.
A sintaxe utilizada para a formatao de links a seguinte:
seletor:pseudo-classe {propriedade: valor}
De acordo com o padro, os links aparecem na cor azul e sublinhados. Para que
ambas as caractersticas sejam exibidas apenas no momento em que passamos
o mouse sobre o link, devemos utilizar o atributo text-decoration.
A seguir, podemos visualizar um exemplo desse tipo de formatao, no arquivo
style.css:
151
HTML5 Fundamentos
A estrutra HTML ser utilizada da seguinte maneira:
Link j visitado
152
Introduo ao CSS3
8.8.Seletores
Os seletores permitem no s a definio de diferentes formataes em um
mesmo elemento HTML, mas tambm a criao de estilos personalizados.
Ambos os procedimentos sero vistos com detalhes a partir de agora.
8.8.1.Seletores de classe
Por meio dos seletores de classe, possvel configurar diferentes estilos no
mesmo elemento de um documento HTML. Por exemplo, suponhamos que
vrios tipos de alinhamento de pargrafo sero definidos: um ao centro, outro
esquerda e um ltimo direita. Vejamos como os seletores de classe podem
ser aplicados para que essa formatao seja realizada.
No primeiro exemplo, temos a seguinte estrutura no documento CSS:
153
HTML5 Fundamentos
O arquivo.html apresentar a seguinte estrutura:
8.8.2.Seletores de id
Ao contrrio do seletor de classe, o seletor id aplicado a um nico elemento,
pois os valores do atributo id no podem aparecer mais de uma vez em uma
pgina. Isso significa que a quantidade de elementos que possuem id em
uma pgina sempre ser zero ou um. Conforme a regra do prximo exemplo,
somente um elemento <p> com o valor p1 no atributo id poder ser aplicado
pelo estilo.
154
Introduo ao CSS3
155
HTML5 Fundamentos
8.9.Tipos de mdia
Alguns estilos podem ser aplicados somente em algumas situaes especiais,
por exemplo, a utilizao de um determinado tipo de fonte assim que algum
usurio requisitar a impresso da pgina. Por meio dos tipos de mdia (tambm
chamados de media types), um arquivo CSS poder ser criado apenas para um
evento em particular.
Veja quais so os principais tipos de mdia para aplicao em uma folha de
estilo CSS:
156
Introduo ao CSS3
No exemplo anterior, temos um estilo com cor preta para impressora e outro
estilo para dispositivos que possuem no mximo 480px de largura.
Para realizar este teste podemos utilizar o redimensionar do navegador. Observe
que com a janela completamente dimensionada, ultrapassamos o valor de
480px de largura, logo, o estilo no ser aplicado:
157
HTML5 Fundamentos
Agora, quando redimencionamos o navegador para uma resoluo inferior a
480px o estilo aplicado:
158
Introduo ao CSS3
159
HTML5 Fundamentos
E com a tela utilizada para SmartPhone:
160
Introduo ao CSS3
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
Ao trabalharmos com o conceito de camadas, alm de facilitar a
incluso de modificaes, ele determina uma estrutura mais organizada
para o sistema. A partir do conceito de camadas, possvel trabalhar
com as folhas de estilo em cascata (CSS ou Cascading Style Sheets);
A folha de estilos em cascata CSS um documento responsvel
pela
definio
de
critrios
de
formatao
de
pginas;
A definio de uma folha de estilo por meio de um arquivo externo
a maneira mais recomendada para trabalhar com esse tipo
de recurso. Para que seja possvel o uso de arquivos externos,
devemos criar vnculos com os documentos que sero formatados;
A sintaxe utilizada para a criao de folhas de estilo deve seguir a ordem:
seletor:pseudo-classe {propriedade: valor};
Utilizamos o sinal de ponto (.) para criar uma pseudoclasse;
Para referenciar um id como um seletor CSS utilizamos #.
161
Introduo ao
CSS3
HTML5 Fundamentos
164
Introduo ao CSS3
a) Utilizamos as propriedades
background-color e background-size.
b) Utilizamos a propriedade backgroudimage.
c) Utilizamos a propriedade backgroundreppeat.
d) Utilizamos as propriedades
background-image, background-size e
background-repeat.
e) Utilizamos as propriedades
background-color e background-style.
165
HTML5 Fundamentos
a) border-radius
b) font-family
c) padding-top
d) padding-left
e) border
a) margin-left{15px;}
b) margin: 0px 0px 15px;
c) margin-left: 15px;
d) padding: {15px;}
e) padding-left:15px;
166
8
Introduo ao CSS3
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Utilizando a CSS
1. Utilizando o wireframe (guia visual de interface) adiante, crie um arquivo
chamado home.html e um arquivo para folha de estilos denominado estilo.
css, de forma que produza o seguinte resultado:
ImpactaStore
Full Banner, carregue uma imagem com cantos arredondados.
Carregar
uma
pequena imagem
e
um
texto
descritivo.
168
Carregar
uma
pequena imagem
e
um
texto
descritivo.
Criando e
posicionando
um layout
HTML5 Fundamentos
9.1.Introduo
A transformao de um layout em formato de imagem criado por um designer
para um formato HTML que servir um site ou Web App um processo que
requer alguns passos. Neste captulo, abordaremos como criar um layout e
posicion-lo corretamente em um navegador, de maneira que envolva as folhas
de estilo em cascata (CSS) e os elementos que aprendemos at aqui.
Um dos mtodos utilizados para a criao de layout em HTML o chamado
Tableless, que o nome atribudo metodologia de construo de sites sem
o uso de tables (tabelas). Para realizar essa construo, utiliza-se o HTML para
determinar a estrutura dos dados e as folhas de estilo CSS para formatar sua
exibio.
Antigamente, era comum o uso de tabelas para a estruturao e criao do
layout da pgina, porm, desde o XHTML no h necessidade de utiliz-las.
Devemos ter em mente que as tags, inclusive a <table>, continuam a ser
utilizadas de acordo com suas funes. A construo de sites por meio da
metodologia Tableless requer a formatao de elementos por meio de arquivos
CSS, que representam as folhas de estilo.
170
Em que:
MARGIN:
Espao que separa o continer de outros elementos
que compem a pgina. Vale destacar que a margem (margin)
no est dentro dos limites de um elemento. As margens so
utilizadas com a finalidade de mover a caixa do elemento;
CONTEDO: Todos os itens contidos em um elemento, os quais
permanecem dentro do continer;
BORDER: Limites de um elemento, isto , as linhas de contorno do continer;
PADDING: Espaos em branco existentes entre o contedo e os limites de
um elemento.
A largura do continer, no qual est contido o elemento, determinada pela
largura do contedo somada s larguras referentes ao border e ao padding.
J a largura do elemento em si determinada apenas pela largura ocupada por
seu contedo, assim como sua altura.
171
HTML5 Fundamentos
Em uma pgina, todos os elementos visveis so de grupo ou inline. Os elementos
de bloco tm sua largura determinada pela largura do bloco em que esto.
Eles iniciam-se sempre em uma linha nova e, depois de finalizados, h uma
nova mudana de linha. J os elementos inline tm sua largura determinada
apenas por seu contedo e, ao contrrio dos elementos de bloco, no se iniciam
sempre em uma nova linha. Dessa forma, conclumos que os elementos inline
comportam-se da mesma maneira que um texto simples.
Como exemplo de elemento de bloco, podemos mencionar o <table>. J como
exemplo de um elemento inline, podemos mencionar o <span>.
172
cap_9_01.html
Top: 70px
Left: 50px
173
HTML5 Fundamentos
9.4.Posicionando os elementos
Quando trabalhamos com arquivos CSS, podemos posicionar elementos e
construir o layout com algumas propriedades. Duas propriedades do CSS3 que
sero utilizadas com o objetivo de criar e posicionar um layout so Flexible Box
Layout, ou simplesmente Flexbox, que uma forma simples e sem clculos
para posicionar um layout, e o Mdulo Grid Template Layout, ainda sendo
padronizado em 2013.
Alm disso, temos outras duas propriedades que j eram utilizadas no XHTML:
float e position. Neste tpico, veremos como trabalhar com elas.
9.4.1.Position
A propriedade position permite determinar o posicionamento de um contedo
na tela do usurio. Esse posicionamento pode ser: esttico, fixo, absoluto e
relativo.
174
cap_9_02.html
175
HTML5 Fundamentos
Ao executarmos o cdigo anterior, o resultado obtido o seguinte:
176
cap_9_03.html
Veja o resultado:
177
HTML5 Fundamentos
9.4.2.Float
Os elementos que so declarados como float so convertidos para elementos
de bloco de forma automtica, podendo ter sua altura e largura declaradas.
Mais especificamente, a largura dos elementos float deve ser declarada, pois os
browsers consideram a no declarao dessa largura um erro.
Quanto ao posicionamento de um elemento float, este ocorre imediatamente
aps o elemento em bloco anterior a ele, embora tais elementos fiquem fora do
fluxo. Os valores que podem ser utilizados juntamente ao atributo float so:
none, left, right e inherit, cujo valor igual ao valor da propriedade referente
ao elemento pai.
Veja o exemplo a seguir:
style.css
cap_9 _04.html
178
179
HTML5 Fundamentos
9.5.Definindo as camadas
Alguns elementos de bloco, como section, div, article e outros mencionados
anteriormente, oferecem atributos que permitem definir as camadas que sero
utilizadas na construo do layout da pgina.
Veja, a seguir, quais so esses atributos:
id: Permite determinar como a camada ser identificada;
class: Permite determinar qual classe j declarada no arquivo CSS deve ser
aplicada;
z-index: Permite determinar o nvel de empilhamento;
visibility: Permite determinar a visibilidade da camada. Os valores que
podem ser utilizados por este atributo so os seguintes: visible, inherit e
hidden.
O atributo z-index, que tem a finalidade de ordenar a prioridade de visualizao
dos elementos, funciona apenas com os elementos que foram configurados
com o posicionamento absoluto, o que significa que so os elementos cuja
propriedade position configurada como absolute. Vale destacar que quanto
maior o valor do atributo z-index, maior a prioridade de visualizao do
elemento. Por exemplo, um elemento que possui z-index: 5 tem prioridade
sobre um elemento que possui z-index: 3.
180
181
HTML5 Fundamentos
Cap_9_05.html
182
9.6.Definindo o modo de
apresentao dos elementos
O atributo display permite determinar se um elemento deve ser apresentado
e, caso deva, permite determinar seu modo de apresentao. Os valores que
podem ser utilizados com o atributo display so os seguintes:
Valores
Descrio
table
list-item
inline
block
none
183
HTML5 Fundamentos
cap_9_06.html
184
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita ateno,
pois representam os pontos mais importantes do captulo.
Tableless o nome atribudo metodologia de construo de sites sem o uso de
tables (tabelas). Para realizar essa construo, utiliza-se o HTML para determinar
a estrutura dos dados e as folhas de estilo CSS para formatar sua exibio;
A dimenso real ocupada por um elemento dentro de uma pgina deve ser
conhecida para que se possa compreender os conceitos envolvidos no processo
de construo de um layout Tableless. A rea ocupada por cada um dos
elementos de uma pgina denominada caixa e tem a forma de um retngulo;
Em HTML, a espessura das margens dos elementos definida pelas propriedades
dessas margens, as quais podem ser: margin-bottom; margin-top, marginright e margin-left;
O atributo display permite determinar se um elemento deve ser apresentado
e, caso deva, permite definir seu modo de apresentao.
185
Criando e
posicionando
um layout
HTML5 Fundamentos
a) internal-margin
b) padding
c) border
d) margin-internal
e) padding-border
a) float:none
b) float:left
c) position:relative
d) position:absolute
e) position:absolute z-index 3
188
a) id
b) class
c) z-index
d) visibility
e) inline
a) border:none
b) top:none
c) display:block
d) display:inline
e) display:none
189
9
Criando e
posicionando
um layout
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Criando um layout
1. Utilizando o wireframe a seguir, crie um arquivo chamado home.html e um
arquivo para folha de estilos denominado estilo.css de forma que produza o
seguinte resultado:
Caixa de busca
Carregar
uma
pequena imagem
e
um
texto
descritivo
Carregar
uma
pequena imagem
e
um
texto
descritivo
192
Carregar
uma
pequena imagem
e
um
texto
descritivo.
Formulrios
10
HTML5 Fundamentos
10.1.Introduo
Em HTML, um formulrio uma seo de documento que abrange texto,
marcao, controles e rtulos. A funo de um formulrio recolher dados
recolhidos pelo usurio e envi-los para serem processados no servidor. Os
dados so inseridos pelo usurio nos formulrios por meio de modificaes
nos controles (digitando um texto, selecionando um item em um menu, etc.) e
depois processados por scripts no servidor.
Como, ao preencher um formulrio, um usurio pode inserir no s textos
simples, mas tambm scripts inteiros, isso pode gerar um problema de segurana,
com a entrada de scripts maliciosos que prejudicam o site e seus usurios. Por
isso, ao desenvolver um formulrio e o script para o seu processamento, o
mecanismo de validao importante. A validao o que permite verificar os
dados digitados por um usurio nos controles de um formulrio.
At a HTML5, a validao era feita com JavaScript, mas podia ser facilmente
anulada. Na HTML5, a validao simples e eficiente, reduzindo a necessidade
de desenvolvimento de scripts. H novos atributos nos controles que permitem
definir o tipo de dado a ser entrado e disparam mecanismos nativos de validao
e mensagens de erro.
Neste captulo, voc ver as funcionalidades para formulrios na HTML5,
implementadas por meio de atributos usados nos controles dos formulrios.
10.2.1.placeholder
Sua funo definir uma dica de preenchimento de um campo, composta
por uma palavra ou uma frase curta. Deve ser usado exclusivamente com os
elementos input e textarea.
194
Formulrios
10
195
HTML5 Fundamentos
10.2.2.autofocus
A funo deste atributo definir qual o elemento deve ter o foco quando a
pgina for carregada. Pode ser usado com os elementos button, input, keygen,
select e textarea.
Veja o uso de autofocus no seguinte exemplo:
196
Formulrios
10
10.2.3.required
Sua funo marcar um controle de preenchimento obrigatrio. Pode ser usado
com input, select e textarea e um atributo booleano, ou seja, basta sua
presena na sintaxe, sem declarao de valor.
Veja, a seguir, um exemplo de required:
197
HTML5 Fundamentos
10.2.4.autocomplete
Este atributo oferece uma lista de opes para o preenchimento de um controle,
de acordo com o que o usurio digitou nele anteriormente. implementado de
diferentes maneiras nos navegadores. Pode ser usado com os elementos form
e input e admite os seguintes valores: on e off. Eles definem, respectivamente,
se o navegador far ou no sugestes de autopreenchimento.
Quando no especificado para um controle especfico, ele assume o
comportamento de autopreenchimento do elemento form ao qual o controle
pertence. Quando o autocomplete no especificado para o form, o padro de
autopreenchimento on.
Veja um exemplo de autocomplete:
198
Formulrios
10
10.2.5.list
Define uma lista com opes de preenchimento para um campo de texto. Deve
ter o mesmo valor que o id de um elemento datalist e s pode ser usado com
o elemento input. Veja um exemplo a seguir:
199
HTML5 Fundamentos
10.2.6.max
Este atributo tem como funo definir um valor mximo para os diferentes
elementos com os quais pode ser usado:
Para o elemento meter, define o valor mximo da escala da medida marcada.
Caso seja omitido, seu valor 1;
Para o elemento progress, define o valor mximo de uma barra de progresso,
que mostra a progresso de uma tarefa;
Para o elemento input, define o valor mximo que ser permitido como
entrada em um campo. Se for usado junto com o atributo min, definir uma
faixa de entrada de dados no campo.
Veja, a seguir, um exemplo de como utilizar o atributo max:
200
Formulrios
10
201
HTML5 Fundamentos
10.2.7.min
Ao contrrio de max, serve para definir um valor mnimo. Alm disso, s pode
ser usado com meter e input:
Para meter, define o valor mnimo da escala da medida marcada. Caso seja
omitido, seu valor 0;
Para input, define o valor mnimo que ser permitido como entrada em um
campo.
Veja, no exemplo, como utilizar min:
202
Formulrios
10
203
HTML5 Fundamentos
10.2.8.form
Associa um controle de formulrio a um elemento formulrio. Permite, inclusive,
associar a um formulrio controles que esto fora dele ou dentro de outros
formulrios, o que no era possvel nas verses anteriores da HTML. O atributo
form tem o mesmo valor do atributo id do formulrio ao qual estiver associado.
Podemos usar form com os seguintes elementos: input, output, select, object,
button, textarea, meter, label, progress, keygen e fieldset.
Veja como usar o atributo no exemplo a seguir:
204
Formulrios
10
10.2.9.formaction
Este atributo define uma URL que ser o endereo para o qual o formulrio ser
enviado e onde ser processado. Pode ser usado com os elementos input e
button. Veja como us-lo no exemplo a seguir:
205
HTML5 Fundamentos
10.2.10.formenctype
Este atributo define qual o tipo de contedo enviado pelo formulrio e pode
ser usado com input e button. Veja como us-lo no exemplo a seguir:
10.2.11.formmethod
A funo deste atributo definir qual mtodo ser usado para enviar os dados
do formulrio. Pode ser usado com input e button. Veja como no seguinte
exemplo:
206
Formulrios
10
10.2.12.formtarget
Permite determinar qual ser o destino do documento aberto aps o formulrio
ser enviado. Pode ser usado com input e button e admite os seguintes valores:
_blank, _top, _self, _parent ou outro nome na janela atual.
O exemplo a seguir mostra como usar este atributo:
207
HTML5 Fundamentos
10.3.1.formnovalidate
Com este atributo, voc desabilita a validao de dados do formulrio. Pode
ser usado com os elementos button e input e um atributo booleano. Assim,
basta inserir o atributo em um elemento para que o formulrio no tenha seus
dados validados. Veja no exemplo a seguir:
10.3.2.novalidate
Possui o mesmo efeito que o formnovalidate. A diferena que deve ser usado
exclusivamente com um elemento form. Veja um exemplo com esse atributo:
208
Formulrios
10
10.3.3.pattern
Com pattern, voc pode definir expresses regulares para validao de
formulrios, sem precisar de JavaScript.
Veja como utiliz-lo no exemplo a seguir:
HTML5 Fundamentos
10.4.1.search
Define um controle input para busca, diferenciando-o dos outros controles
alterando sua estilizao e comportamento. Cada navegador possui um modo
de estilizao e comportamento prprios.
Veja como funciona o atributo type com valor search:
210
Formulrios
10
10.4.2.url
Garante que um controle input receba uma URL como valor. Ele fornece ao
usurio, entre outras coisas, uma indicao visual de que o valor digitado uma
URL vlida. Veja como funciona no exemplo a seguir:
211
HTML5 Fundamentos
10.4.3.tel
Define um controle input destinado a receber um nmero de telefone. Ele no
restringe o controle a uma sintaxe particular porque os formatos de nmeros de
telefone podem variar muito. Portanto, ele apenas define o destino do controle.
Para validar um controle desse tipo, voc tem duas opes: Usar o atributo
pattern ou o mtodo setCustomValidity(), que disponibilizado como um
mecanismo JavaScript nativo do navegador. O exemplo a seguir mostra como
validar esse controle utilizando o atributo pattern:
212
Formulrios
10
213
HTML5 Fundamentos
10.4.4.email
Com este valor, o controle input pode receber apenas um endereo de e-mail
como valor. Ele, na verdade, no verifica se o e-mail digitado vlido, apenas
se o formato digitado vlido. Veja como us-lo no seguinte exemplo:
214
Formulrios
10
10.4.5.datetime
Um controle input com esse valor dever receber uma string de data e hora
UTC. O agente de usurio quem define como ser a representao do grupo
data/hora, que depender do local e do usurio. comum o agente de usurio
usar um widget do tipo date picker para entradas no controle de data e um
campo com slider de seta para entradas de hora.
215
HTML5 Fundamentos
Veja o uso de datetime a seguir:
E o resultado este:
216
Formulrios
10
10.4.6.datetime-local
Diferencia-se do datetime por aceitar como valor uma string representando
data e hora locais, e no UTC. Veja o exemplo a seguir:
E, em seguida, o resultado:
217
HTML5 Fundamentos
10.4.7.date
Um controle input com esse valor dever receber uma string de data. O agente
de usurio quem define como ser a representao da data, que depender
do local e do usurio. comum o agente de usurio usar um widget date picker
para entradas no controle de data. Veja o exemplo a seguir:
218
Formulrios
10
10.4.8.time
Um controle input com esse valor dever receber uma string de hora. Geralmente,
o agente de usurio usa um slider de seta para entradas no controle de data.
Veja o exemplo a seguir:
10.4.9.month
Define para um controle input uma string de ms, cuja representao fica por
conta do agente de usurio, de acordo com o local e o usurio. Geralmente,
utiliza-se um widget date picker para a entrada no controle. Veja o exemplo a
seguir:
219
HTML5 Fundamentos
10.4.10.week
Define um controle que dever receber uma string representando uma semana
do ano. Normalmente, o agente de usurio usa um widget date picker para a
entrada. Veja o exemplo a seguir:
10.4.11.number
Controles com esse valor devem receber nmeros. comum que o agente de
usurio use sliders de seta para esse tipo de entrada. Veja um exemplo:
220
Formulrios
10
O resultado o seguinte:
10.4.12.range
Em controles com range, a entrada deve ser um nmero situado dentro de um
intervalo definido. comum que essas entradas tenham um slider deslizante.
Veja um exemplo com range:
221
HTML5 Fundamentos
E o resultado o seguinte:
10.4.13.color
Define que um controle input receba um cdigo sRGB de cor. Geralmente,
utiliza-se um color pick para esse tipo de entrada. Veja um exemplo:
222
Formulrios
10
223
HTML5 Fundamentos
Pontos principais
Atente para os tpicos a seguir. Eles devem ser estudados com muita
ateno, pois representam os pontos mais importantes do captulo.
Formulrio uma seo de documento que abrange texto, marcao,
controles e rtulos e tem como funo recolher dados recolhidos pelo
usurio e envi-los para serem processados no servidor. Os dados so
inseridos pelo usurio nos formulrios por meio de modificaes nos
controles (digitando um texto, selecionando um item em um menu, etc.) e
depois processados por scripts no servidor;
As funcionalidades para formulrios na HTML5 esto relacionadas a novos
atributos nos controles, usados para validao e outras funcionalidades
anteriormente implementadas com scripts. So eles: placeholder,
autofocus, required, autocomplete, lista, max, min, form, formaction,
formenctype, formmethod e formtarget;
Os atributos usados na validao de formulrios so: formnovalidate,
novalidate e pattern;
O atributo type do elemento input possui, alm dos valores j presentes na
HTML4, diversos novos valores para definir o tipo de dado esperado por
um controle: search, url, tel, email, datetime, datetime-local, date, time,
month, week, number, range e color.
224
Formulrios
10
HTML5 Fundamentos
a) Cabealho
b) Tabela
c) Formulrio
d) Linguagem
e) Rodap
a) form
b) name
c) value
d) rel
e) id
226
Formulrios
10
a) formenctype
b) formmethod
c) formtarget
d) formsubmit
e) formaction
a) regex
b) validate
c) required
d) pattern
e) novalidate
227
HTML5 Fundamentos
a) placeholder
b) pattern
c) dirname
d) autofocus
e) required
228
10
Formulrios
Mos obra!
HTML5 Fundamentos
Laboratrio 1
A Criando um formulrio com elementos da HTML5
1. Crie um arquivo HTML com o nome de formulrio.html;
2. Adicione a estrutura bsica de elementos HTML no arquivo;
3. No elemento BODY, adicione o elemento FORM;
4. Adicione o elemento LABEL com o texto Nascimento:;
5. Adicione o elemento INPUT com o atributo TYPE igual a DATE;
6. Adicione o elemento LABEL com o texto Salrio:;
7. Adicione o elemento INPUT com o atributo TYPE igual a RANGE, o atributo
MIN igual a 0 e o atributo MAX igual 10000;
8. Adicione o elemento LABEL com o texto E-mail:;
9. Adicione o elemento INPUT com o atributo TYPE igual a EMAIL;
10. Adicione o elemento LABEL com o texto Site:;
11. Adicione o elemento INPUT com o atributo TYPE igual a URL;
12. Adicione o elemento LABEL com o texto Telefone:;
13. Adicione o elemento INPUT com o atributo TYPE igual a TEL e crie uma
expresso regular para validar o valor inserido;
230
Formulrios
10
14. Adicione o elemento BUTTON com a classe btn, o atributo TYPE igual a
SUBMIT e o texto Enviar. O resultado final ser este:
HTML5 Fundamentos
FORMACTION igual a instrutor.php e o texto Login Instrutor. O resultado
ser como mostrado a seguir:
4. Crie um elemento DIV com o ID igual a Area e insira um elemento IMG nesse
DIV com o SRC igual a HTML5-Logo.png;
232
Formulrios
10
5. Crie dois elementos INPUT do tipo RANGE com os atributos MAX e VALUE
iguais a 600 e MIN igual 0. O primeiro INPUT dever ter o ID igual a V e o
segundo igual a H;
6. Crie um elemento SCRIPT;
7. Crie uma varivel com o nome ranges e selecione todos os elementos em
que o TYPE for igual a RANGE;
8. Percorra os elementos selecionados e adicione o evento change a cada um
deles;
9. No evento, crie uma varivel com o nome imgStyle que receber a seleo
do atributo style do elemento IMG;
10. Crie uma nova varivel com o nome size e defina o valor igual ao atributo
value do objeto this concatenado com a string px;
11. Verifique se o ID do objeto this igual a V. Se a condio for verdadeira,
atribua a varivel size ao atributo height da varivel imgStyle. Seno, atribua
ao atributo width. O resultado ser este:
233