Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
www.esab.edu.br
Ambientes Web
Diretor Geral
Nildo Ferreira
Diretora Acadêmica
Beatriz Christo Gobbi
Coordenadora do Núcleo de Educação a Distância
Beatriz Christo Gobbi
Coordenadora do Curso de Administração EAD
Rosemary Riguetti
Coordenador do Curso de Pedagogia EAD
Claudio David Cari
Coordenador do Curso de Sistemas de Informação EAD
David Gomes Barboza
Copyright © Todos os direitos desta obra são da Escola Superior Aberta do Brasil.
www.esab.edu.br
Av. Santa Leopoldina, nº 840
Coqueiral de Itaparica - Vila Velha, ES
CEP 29102-040
Apresentação
Caro estudante,
Diante disso, vemos que é fundamental para o profissional que deseja ser um
especialista em Tecnologia da Informação ter habilidades e competências que
lhe permitam maximizar o uso da rede mundial de computadores em prol das
instituições.
E você, como nosso aluno, pode estar interessado nessa área, em saber como planejar,
desenvolver e publicar páginas na web, certo? Talvez tenha um interesse específico
na área de desenvolvimento web, talvez queira entender para uso no seu trabalho ou
apenas com a intenção de criar um meio de divulgar suas informações.
Nesta disciplina, tendo como base os autores Lemay (2002) e Nielsen e Loranger
(2007), você conhecerá os conceitos básicos associados ao ambiente web; as fases
de desenvolvimento do projeto; as técnicas de modelagem e desenvolvimento que
auxiliam na manutenção e atualização de websites; e, principalmente, entenderá
a linguagem de marcação para internet, o HyperText Markup Language (HTML),
compreendendo também como aplicar folhas de estilo – chamadas Cascanding Style
Sheets (CSS) – para deixar os sites mais atrativos e profissionais; e, por fim, verá ainda
como codificar rotinas em JavaScript no seu site.
Assim, esta disciplina possibilitará que você entenda, projete, desenvolva e valide
aplicações web. Esperamos que você possa aproveitar ao máximo o conteúdo desta
disciplina.
Bom estudo!
Objetivo
Apresentar de maneira prática e didática os temas mais relevantes aos sistemas
computacionais em ambiente web e o contexto em que eles se aplicam. Os
assuntos serão abordados do ponto de vista da estrutura de um documento
web, a sua organização e integração com o usuário, apresentando as principais
características da linguagem HTML e JavaScript, integradas às regras de estilização
em CSS.
Habilidades e competências
• Desenvolver aplicações web utilizando a linguagem HTML.
• Desenvolver aplicações web personalizadas e padronizadas por meio de estilos CSS.
• Desenvolver aplicações web com a integração de JavaScript.
• Analisar, validar, testar e homologar aplicações web.
• Analisar as aplicações web estruturadas e organizadas.
• Analisar, planejar, projetar, desenvolver e testar sistemas em ambientes web.
Ementa
Definição do site: concepção, planejamento, estrutura e desenvolvimento web.
Construção do site: design gráfico (criação do layout web). Uso da linguagem HTML
para a descrição da estrutura de uma página de hipertexto. Uso de folha de estilo
(CSS). Recursos avançados do HTML: frames, imagens mapeadas e recursos de
estilo, layout com tabelas. A linguagem JavaScript.
Sumário
1. Introdução ao website......................................................................................................7
2. Processo de desenvolvimento de website.......................................................................14
3. Definição da estrutura do site.........................................................................................21
4. Padrão de desenvolvimento de projetos web – parte 1.................................................28
5. Padrão de desenvolvimento de projetos web – parte 2.................................................33
6. Ferramentas de desenvolvimento web..........................................................................38
7. Ferramentas de depuração de aplicações web...............................................................46
8. Introdução à linguagem HTML.......................................................................................52
9. Estrutura de um documento HTML................................................................................59
10. Construindo uma página HTML na prática.....................................................................68
11. Introdução à Cascading Style Sheets...............................................................................78
12. Estrutura de um documento com base em CSS ..............................................................85
13. Como formatar o texto da página HTML com CSS...........................................................95
14. Construindo uma página HTML com formatações de texto..........................................103
15. Como formatar as cores da página HTML com CSS.......................................................112
16. Como definir as cores de fundo da página HTML com CSS............................................117
17. Construindo uma página HTML colorida......................................................................123
18. Componente visual para lista de valores em HTML.......................................................131
19. Como formatar e estilizar as listas em HTML com o uso de CSS ...................................139
20. Como criar uma seleção de valores nas páginas HTML.................................................149
21. Construindo uma página HTML com listas e seleção....................................................157
22. Como navegar entre as páginas HTML..........................................................................164
23. Melhorando as páginas HTML com uso de menus utilizando CSS.................................172
24. Como desenvolver menus com imagens utilizando CSS...............................................182
25. Navegando entre páginas HTML com uso de menus e links..........................................194
26. Capturando dados do usuário com uso de formulários.................................................201
27. Como controlar o acesso aos dados dos formulários.....................................................212
28. Criando um formulário de contato usando CSS e HTML................................................220
29. Como estilizar os formulários.......................................................................................227
30. Criando um formulário de cadastro de cliente usando HTML e CSS ..............................234
31. Como tabelar os dados apresentados nas páginas HTML..............................................243
32. Propriedades de uma tabela........................................................................................249
33. Estilizando uma tabela.................................................................................................257
34. Criando uma tabela com horário das aulas...................................................................265
35. Introdução ao layout de páginas HTML com CSS..........................................................271
36. Definição de bordas do documento HTML....................................................................277
37. Definição de margens do documento HTML ................................................................284
38. Definição do espaço interno da página HTML e do tamanho dos elementos................290
39. Definição da posição dos objetos na página HTML.......................................................297
40. Exibindo e ocultando objetos da página HTML.............................................................308
41. Criando uma página HTML com layout personalizado .................................................314
42. Introdução ao JavaScript..............................................................................................324
43. Comandos de seleção e repetição em JavaScript..........................................................334
44. Como criar caixas de diálogo em JavaScript.................................................................347
45. Como criar mensagens na página HTML em JavaScript................................................355
46. Criando uma página HTML que utilize comandos em JavaScript..................................361
47. Como criar janelas em JavaScript.................................................................................367
48. Criando um formulário HTML com validação de campos em JavaScript .......................374
Glossário.............................................................................................................................387
Referências.........................................................................................................................395
1 Introdução ao website
Objetivo
Apresentar os conceitos de web espaço, website, homepage,
hipertextos, hipermídia, intranet, extranet, internet, site e portal.
A web foi criada em 1991, na Suíça, pelo físico Timothy John Berners-
Lee (1955- ), para a apresentação de textos. Já a internet é muito maior
e mais complexa que a web. Esta se utiliza de softwares que permitem às
pessoas e empresas compartilharem textos, figuras, mídias por meio da
internet. Ou seja, ela é apenas uma parte da internet.
www.esab.edu.br 7
Podemos entender que a web é uma coleção cada vez maior de páginas
que se interligam por meio de um software, executado através da
internet, chamado navegador, que nos permite visualizá-las na tela,
navegando na internet.
www.esab.edu.br 8
Entretanto, há instituições responsáveis pela orientação do crescimento e
sua padronização. Vamos ver quais são as principais?
www.esab.edu.br 9
devido ao grande interesse das empresas em usá-la como meio de
divulgação e comercialização de seus produtos e serviços.
Estudo complementar
Em 1995, foi criado o Comitê Gestor da
Internet no Brasil, que conta com o Ministério
das Comunicações, o Ministério da Ciência
e Tecnologia, as operadoras de telefonia,
os provedores de internet, as comunidades
acadêmicas e alguns representantes da sociedade.
Esse Comitê objetiva gerenciar o desenvolvimento
dos serviços de internet no Brasil, recomendar
padrões e procedimentos técnicos e coordenar e
monitorar o registro de domínios. Disponível aqui.
www.esab.edu.br 10
Quando as intranets de duas ou mais empresas se interligam, elas
formam uma extranet. Isso é muito comum quando há um consórcio de
empresas que fazem negócios entre si e necessitam da troca constante de
informações.
www.esab.edu.br 11
conectados. Para que você entenda melhor a utilização de cada protocolo,
observe o quadro a seguir.
Protocolo Utilização
Esse é o principal protocolo de comunicação da web, é
HiperText Transfer Protocol (HTTP) responsável pela transferência de documentos entre os
computadores.
Foi desenvolvido para transmissão de mensagens, por
File Transfer Protocol (FTP) isso tornou-se a forma mais rápida para troca de arquivos
entre computadores.
Segue a mesma definição do HTTP, porém com
HiperText Transfer Protocol Secure integração de regras de segurança de acesso aos dados,
(HTTPS) como criptografia de dados, autenticação de servidor,
integridade de mensagem e autenticação de cliente.
Internet
Servidor web
www.esab.edu.br 12
Analisando todos os conceitos apresentados anteriormente, podemos
notar que a internet está produzindo um novo mundo, virtual e sem
território, pois os limites deixaram de existir. Esse mundo virtual não tem
local definido, e por isso é cheio de possibilidades. Esse novo contexto
é identificado como um web espaço, e está cada vez mais difícil não
fazermos parte dele.
www.esab.edu.br 13
Processo de desenvolvimento de
2 website
Objetivo
Conhecer os processos de análise, concepção, estruturação,
desenvolvimento, publicação e manutenção de um site.
• organização da informação;
• definição da estrutura de navegação;
• montagem do site;
• testes.
www.esab.edu.br 14
Na organização da informação, alguns pontos são fundamentais e devem
ser discutidos por toda a equipe envolvida no processo de construção.
Esses pontos são:
Fica claro, portanto, que esses poucos segundos fazem da homepage uma
parte de grande importância no site, pois é a responsável por cativar
o visitante. Segundo Nielsen e Loranger (2007), os objetivos de uma
homepage são:
www.esab.edu.br 15
Como fonte para esses dados, você pode solicitar à empresa seus materiais
institucionais (catálogo de produtos, banners, impressos) para que
sejam analisados, dando assim subsídios à concepção do site. Lembre-
se também de que o pessoal responsável pelo marketing e a diretoria da
instituição devem aprovar o conteúdo que será disponibilizado.
O gráfico a seguir apresenta as áreas das páginas que são mais visitadas
pelos usuários, sendo que as áreas normalmente utilizadas para navegação
são: parte superior da página, colunas da esquerda ou da direita, centro
da página.
Rodapé
Coluna direita
Coluna esquerda
Topo da página
Área de conteúdo
www.esab.edu.br 16
Para fazer um site atrativo e funcional, procure dispor o conteúdo nessas
áreas seguindo esse padrão de visitas, garantindo que o usuário navegue
intuitivamente. Para isso, divida o conteúdo em tópicos, inicialmente
sem importar-se com a ordem. Essa é uma das formas mais fáceis de
começar a organizar as informações, mas tome o cuidado para não
criar uma lista muito extensa de tópicos, afinal, tantas opções podem
representar uma complicação para o usuário do site.
Por fim, temos também a arquitetura em rede, que é a mais aberta para a
navegação, uma vez que nesse tipo de estrutura o visitante pode navegar
conforme sua necessidade, pois ela não possui níveis hierárquicos nem
impõe qualquer obrigatoriedade na ordem de acesso às páginas.
www.esab.edu.br 17
Desse modo, a estrutura em rede é a que melhor promove a
hipertextualidade, conceito em que a web é baseada e que a caracteriza.
Segundo Lemay (2002), uma web é um conjunto de documentos com
pouca ou nenhuma estrutura real: a única coisa que vincula cada página
é um link. Os visitantes vão de documento para documento seguindo os
links que encontram.
Homepage Homepage
Homepage
arquitetura em malha
Homepage
arquitetura em rede
www.esab.edu.br 18
Note que a arquitetura da informação é uma base para estruturar e
organizar as informações, tornando-as mais acessíveis. Cada estrutura
que vimos pode ser mais adequada a determinado conteúdo, como vimos
no caso da arquitetura linear para desenvolvimento de tutoriais. Desse
modo, pensando no projeto web conforme uma estrutura, a organização
do conteúdo será mais fácil.
www.esab.edu.br 19
• aplicar testes de qualidade e usabilidade: verificação do código-
fonte para garantir a sua qualidade, portanto a funcionalidade;
e testes de usabilidade do site. Aqui, o processo é interativo e
as adaptações são feitas à medida que o usuário experimenta
e acompanha a evolução do site, resultando em manutenções
corretivas (que tratam de danos atuais, recém-encontrados, e não dos
iminentes) e preventivas (a manutenção planejada ou periódica que
previne erros durante o uso e, consequentemente, a recorrência de
manutenção corretiva);
• publicação: como temos visto, o site é uma coleção de arquivos
digitais, que inclui arquivos de texto com extensões do tipo “.html”,
“.css”, “.js”; de imagem, animações; de conexão a banco de dados
etc., e para que ele possa ser acessado, esses arquivos devem ser
publicados em um servidor web.
www.esab.edu.br 20
3 Definição da estrutura do site
Objetivo
Conhecer e analisar as boas práticas para definição da estrutura do
website.
Agora que já vimos o básico sobre o projeto web, por meio do qual
o desenvolvimento será conduzido e conhecemos como ocorre esse
desenvolvimento estudando desde a análise até a manutenção de um
site, nesta unidade você conhecerá, com base nos autores Lemay (2002)
e Nielsen e Loranger (2007), as boas práticas que devem nortear o
desenvolvimento do projeto web para que o site tenha a aceitação
desejada por parte da comunidade web e de seus usuários.
www.esab.edu.br 21
De acordo com Nielsen e Loranger (2007), usabilidade se refere à
capacidade de um produto qualquer ser utilizado por seus usuários de
maneira que eles atinjam seus objetivos com eficiência e satisfação. E,
como vimos, os usuários escolhem os sites com base nas suas experiências
anteriores, por isso um projeto de site deve primar por passar mensagens
de forma extremamente simples e diretas, começando pela apresentação
da homepage. Ainda segundo os autores, além dos objetivos da homepage
que vimos na unidade 2, ela tem como objetivo principal direcionar
os usuários a outros locais; e quanto maior o número de pessoas que
entendem a página, menos esta será examinada. Para Nielsen e Loranger
(2007), os usuários leem substancialmente mais conteúdo nas páginas
internas de um site do que na homepage.
Desta forma, como o interesse é fazer com que o visitante interaja com o
site por completo, visitando as páginas internas, alguns cuidados devem
ser tomados. Os autores classificam esses cuidados como diretrizes que
devem ser obedecidas. São elas:
a. Informar aos usuários onde eles estão e como podem prosseguir para
as outras partes do site incluindo estes três elementos de design em
cada página:
• o nome ou logotipo da empresa no canto superior esquerdo;
• um link com um único clique direto para a homepage;
• máquina de busca, localizada preferivelmente no canto superior
direito.
www.esab.edu.br 22
Assim como a homepage, as páginas internas são importantíssimas para
um site, pois o visitante, ao deparar com essas páginas, passa mais tempo
lendo o conteúdo do que interagindo por meio dos links de navegação,
por isso é fundamental disponibilizar poucos links, mas eficientes.
Pelo fato de nos últimos anos a web ter se aprimorado com o avanço
tecnológico, hoje em dia parece haver uma melhoria das interfaces de
interação com o usuário e cuidados cada vez maiores por parte daqueles
que criam websites. Apesar disso, há ainda muitas falhas e algumas delas
são básicas, mas continuam se repetindo nos portais web. Para evitar
problemas de usabilidade, alguns pontos de falha devem ser observados:
Vamos ver esses problemas de forma mais detalhada para que você saiba
melhor como lidar com eles.
www.esab.edu.br 23
3.2 Botão “Voltar” que não existe ou não funciona
Outro ponto importante é dar ao usuário a possibilidade de desfazer uma
ação, e é esse o papel do botão “Voltar” que vemos nos sites. Ele produz
a sensação de conforto ao usuário, pois caso ele cometa algum erro ou
acesse um conteúdo não desejado, poderá refazer o caminho. A função
disponibilizada por esse botão possibilita que o usuário retorne ao lugar
desejado.
www.esab.edu.br 24
Ainda seguindo Nielsen e Loranger (2007), os principais problemas que
as janelas pop-up têm trazido para os sites são:
www.esab.edu.br 25
conteúdo. Isso tem feito com que o usuário ignore não só os banners, mas
também tudo aquilo que possa lembrar esse tipo de publicidade. Assim,
qualquer coisa que seja muito colorida e muito grande, principalmente se
incluir animação, tende a ser ignorada pelo usuário do site.
Podemos notar que esse e os outros pontos problemáticos vistos até aqui
são referentes ao layout do site e aos mecanismos de interação com o
usuário. Mas não é somente disso que um site sobrevive, certo? Então, é
chegado o momento de acrescentarmos a todo esse contexto os cuidados
com a definição do conteúdo do site, tão importantes quanto as regras de
navegabilidade e apresentação da página.
www.esab.edu.br 26
Fórum
Caro estudante, dirija-se ao Ambiente Virtual de
Aprendizagem da Instituição e participe do nosso
Fórum de discussão. Lá você poderá interagir com
seus colegas e com seu tutor de forma a ampliar,
por meio da interação, a construção do seu
conhecimento. Vamos lá?
www.esab.edu.br 27
Padrão de desenvolvimento de
4 projetos web – parte 1
Objetivo
Apresentar a importância do padrão de desenvolvimento de
softwares e as vantagens e benefícios da sua adoção em projetos web.
www.esab.edu.br 28
Para sua reflexão
As empresas estão usando a web como um
diferencial de crescimento, exigindo cada vez mais
recursos para publicação de materiais.
Como essas mesmas empresas estão se
preocupando com o uso dos dispositivos móveis
para divulgação de seus produtos e serviços?
Será que esses projetos web foram projetados
para novas tecnologias de interação com os seus
clientes? Qual a sua opinião?
A resposta a essa reflexão forma parte de sua
aprendizagem e é individual, não precisando ser
comunicada ou enviada aos tutores.
www.esab.edu.br 29
• dificuldade de desenvolvimento e manutenção;
• código-fonte incompreensível;
• falta de padrão;
• rotinas de formatação visual e funcionamento do site implementadas
na mesma estrutura.
www.esab.edu.br 30
Na prática, o padrão resulta em um projeto web que deve ser
desenvolvido de forma estruturada e em camadas, separando em cada
uma dessas camadas as suas responsabilidades dentro de todo o contexto.
Cada camada deverá funcionar de forma independente, porém, uma
completará a outra.
• conteúdo;
• apresentação;
• comportamento.
www.esab.edu.br 31
Algumas linguagens possuem o que chamamos de semântica de
apresentação. Isso quer dizer que esse tipo de linguagem indica como
o dado estruturado será exibido, ou seja, ela possui uma especificação
que determina para que o dado deve ser usado. Uma dessas linguagens
é o HTML, que possui semântica e por isso permite a construção de
códigos mais bem estruturados, melhorando a sua qualidade. Já o XML
é uma linguagem de marcação mais simples cuja especificação não tem
semântica de apresentação.
www.esab.edu.br 32
Padrão de desenvolvimento de
5 projetos web – parte 2
Objetivo
Apresentar a importância do padrão de desenvolvimento de
softwares e as vantagens e benefícios da sua adoção em projetos web.
Essa parte é, portanto, a responsável pela estética, pois é por meio dela
que o programador de computador define o layout de uma aplicação
web. Procure construí-la em arquivos separados, independentes da
camada de conteúdo, para facilitar atualizações posteriores sem correr o
risco de acabar mexendo em outras partes do código, o que poderia gerar
problemas nas funcionalidades.
www.esab.edu.br 33
No desenvolvimento da camada de apresentação, é importante também
pensarmos que hoje em dia temos diversos dispositivos com acesso à
internet – tablet, netbook, smartphone, celular – e diferentes navegadores.
Por isso, devemos evitar o uso de propriedades de layout que causem
problemas de visualização das páginas em outras plataformas ou
dispositivos. Para tanto, as páginas devem ser testadas em diversos
navegadores, principalmente nos mais usados.
www.esab.edu.br 34
Agora que já conhecemos as camadas e sabemos os motivos para
desenvolvê-las separadamente, vamos retomar um pouco a elaboração
de um projeto web para termos uma visão geral de seu desenvolvimento
e também para entendermos as vantagens de se aplicar os padrões
estabelecidos.
Camada Tecnologia
Conteúdo HTML
Apresentação CSS
Comportamento JavaScript
www.esab.edu.br 35
alterar e consultar dados, facilita a manutenção do sistema, pois em caso
de erro no seu funcionamento, cada rotina possui uma regra de negócio
simples e específica, evitando que o programador tenha de analisar todas
as rotinas para encontrar o foco do problema.
www.esab.edu.br 36
Por fim, é importante que estejamos conscientes dos benefícios trazidos
pelas boas práticas e padrões web. Com a aplicação deles, você e a
empresa para a qual trabalha (ou trabalhará) terão resultados vantajosos,
pois pouparão tempo e recursos financeiros e deixarão o cliente e os
usuários satisfeitos. Além disso, dedicar-se aos estudos para compreender
o funcionamento e as particularidades dessa arquitetura certamente
ajudará você a ser um excelente profissional de desenvolvimento web.
Estudo complementar
O governo brasileiro lançou em 2010 uma
cartilha com padrões e boas práticas para o
desenvolvimento de conteúdo web. Para saber
mais sobre o assunto, acesse esse conteúdo
clicando aqui.
www.esab.edu.br 37
Ferramentas de desenvolvimento
6 web
Objetivo
Apresentar as principais ferramentas para o desenvolvimento web:
NetBeans, Eclipse e o Notepad++.
6.1 NetBeans
Segundo a Oracle (2013), responsável por este IDE, o NetBeans é um
ambiente de desenvolvimento integrado gratuito, de código aberto e por
isso está em constante evolução.
www.esab.edu.br 38
Primeiramente, acesse o endereço <http://netbeans.org/downloads> para
iniciar o download da ferramenta. Em seguida, faça o download da versão
completa e, para executar a instalação, realize os seguintes passos:
www.esab.edu.br 39
Clicando nesse ícone, você terá acesso ao ambiente do NetBeans,
representado na figura a seguir:
Dica
Para compreender melhor como instalar e
trabalhar com o NetBeans, acesse os seguintes
endereços:
• Página do NetBeans
• Tutorial em vídeo
• Blog Protocolo TI
• Portal iMasters
6.2 Eclipse
Conforme seu fabricante, o Eclipse é uma plataforma de
desenvolvimento de software livre e extensível baseada em Java.
Embora a maioria dos seus usuários utilize-o como um ambiente de
desenvolvimento integrado Java, seu uso não se limita a essa linguagem.
www.esab.edu.br 40
Estão disponíveis suportes para linguagens de programação como
Personal Home Page (PHP) – uma linguagem de script muito utilizada
para o desenvolvimento de aplicações web – C, C++ e HTML.
Para saber como instalar o eclipse, acesse o site (clicando aqui) e procure a
opção “Downloads”. Baixe a versão Eclipse IDE for Java EE Developers,
pois essa é a mais completa. Após finalizar o download, descompacte o
arquivo na pasta de sua preferência e a ferramenta já estará pronta para
ser usada.
www.esab.edu.br 41
Dica
Para saber mais sobre como utilizar o Ecplise,
acesse os endereços:
• Java Magazine
• Blog Programero
• Texto introdutório (UFPE)
• Tutorial em vídeo
6.3 NotePad++
Conforme descrito no site da ferramenta, o NotePad++ é um editor de
texto e códigos-fonte completo que suporta as mais diversas linguagens
de programação. Assim, é uma ótima alternativa ao bloco de notas do
Windows, que é a ferramenta mais simples para criação de sites.
www.esab.edu.br 42
Figura 8 – Link para download da ferramenta NotePad++.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 43
Figura 10 – Tela principal do NotePad++.
Fonte: <http://notepad-plus-plus.org>.
www.esab.edu.br 44
Resumo
Por fim, você teve um contato inicial com algumas ferramentas que
auxiliam no desenvolvimento de sites, tornando o processo mais
produtivo e rápido. Além disso, aprendeu que desenvolver um site exige
técnicas com as quais as telas, as regras de negócio e as conexões com
banco de dados possam ser ajustadas sem muito custo ao sistema.
www.esab.edu.br 45
Ferramentas de depuração de
7 aplicações web
Objetivo
Apresentar a ferramenta Firebug para identificação e eliminação de
erros de programação e monitoramento de CSS e HTML.
Saiba que essa ferramenta tem grande importância para lidar com as
grandes dificuldades de validação do site durante sua produção, pois ela
possibilita que a equipe envolvida visualize e teste o site em diferentes
tipos de navegadores a fim de encontrar bugs, validando e homologando
o que foi produzido antes da entrega ao usuário final.
Mas talvez você esteja se perguntando: “para que isso?”. Bem, quando
visualizamos uma página em um navegador, na verdade estamos vendo o
resultado da montagem que o navegador faz dos códigos em HTML, CSS
ou JavaScript, escritos pelo desenvolvedor. Com a utilização do Firebug,
podemos visualizar no navegador não só a página (resultado do código
implementado), mas também a estrutura do código e, caso existam, os
erros – os quais são comandos que o navegador não conseguiu interpretar.
www.esab.edu.br 46
Para sua reflexão
Mesmo com novas técnicas de programação,
ferramentas de desenvolvimento cada vez
mais eficientes e profissionais cada vez mais
qualificados, os projetos de Tecnologia da
Informação ainda apresentam uma alta taxa de
incompatibilidade com as necessidades levantadas
pelos clientes.
Será que o problema está na definição do
projeto? Ou será que está no levantamento dos
requisitos e funcionalidades, e não no processo de
desenvolvimento? O que você pensa sobre isso?
A resposta a essa reflexão forma parte de sua
aprendizagem e é individual, não precisando ser
comunicada ou enviada aos tutores.
Saiba mais
O Firebug é uma ferramenta para o Firefox, porém
existem outras ferramentas que podem ajudar o
programador durante a criação de um site. Para
saber mais, clique aqui e aqui.
www.esab.edu.br 47
É importante que você conheça as principais funcionalidades do Firebug,
que são:
Como vimos, essa é uma ferramenta para o navegador Firefox, por isso,
caso você não o tenha, faça o download, acessando o site (clicando aqui),
para a pasta de sua preferência. Depois de concluído o download, execute
o arquivo FireFoxSetup.exe.
www.esab.edu.br 48
Figura 11 – Opção Complementos do Firefox.
Fonte: Mozilla Foundation.
www.esab.edu.br 49
Aguarde a instalação do complemento. Você pode acompanhá-la por
meio do botão Recebendo, que será apresentado na tela, como mostra a
figura a seguir.
www.esab.edu.br 50
Figura 17 – Opção “Ativar todos os painéis” do Firebug.
Fonte: Mozilla Foundation.
Agora, para ver como o Firebug funciona, acesse uma página de internet
e depois clique no botão do Firebug. Uma nova janela será apresentada
mostrando o código que constrói a página carregada pelo endereço que
você selecionou. A figura a seguir apresenta essa janela, acompanhe.
www.esab.edu.br 51
8 Introdução à linguagem HTML
Objetivo
Apresentar a linguagem HTML, a utilização das tags, a edição de
documentos em HTML e o seu comportamento quando carregados
pelo navegador de internet.
www.esab.edu.br 52
O termo browser ou navegador são costumamente utilizados para referenciar os
programas de computador que permitem visualizar o conteúdo dos sites.
www.esab.edu.br 53
Quando uma página HTML é carregada por um navegador, todas as
formatações do texto – como mudanças de linhas, tabulações e muitas
outras – são ignoradas, pois os únicos comandos que um navegador
interpreta são as tags e os caracteres. Portanto, se você utilizar um arquivo
de texto já formatado, com parágrafos, pulos de linha e espaçamentos,
e tentar carregá-lo no navegador sem o uso de tags, o arquivo será
apresentado como um único parágrafo, sem formatação alguma.
www.esab.edu.br 54
Para entender melhor como foi a evolução do HTML até chegar a
sua versão mais recente e versátil, acompanhe o quadro a seguir, que
apresenta um histórico da linguagem.
Ano Acontecimento
O W3C define o HTML como linguagem-padrão para o desenvolvimento para web,
1996
acabando com as versões proprietárias.
O W3C recomenda o HTML 3.2 oficialmente, incorporando à linguagem o uso de
tabelas e applets (aplicativos executados pelo navegador). Atualmente, os applets estão
1997 em desuso e devem ser evitados.
Ainda neste ano, o HTML 4.0 passa a ser oficialmente recomendado pelo W3C.
1998 Os estudos começam a caminhar no sentido da integração do HTML com o XML.
1999 São oficialmente lançadas as versões 1.0 e 1.1 do XHTML.
2000 A versão 1.0 do XHTML é recomendada pelo W3C.
2001 A versão 1.1 do XHTML é recomendada pelo W3C.
É divulgada a primeira versão pública do HTML5. Trata-se de uma versão básica, mas
2008 que teve partes implementadas em alguns browsers, embora sua especificação não
tenha alcançado o status final de recomendação.
2012 O HTML5 é candidato a recomendação pelo W3C.
www.esab.edu.br 55
Visando a uma maior integração do HTML com os novos recursos
tecnológicos, a linguagem evoluiu para se integrar com as linguagens
extensíveis (XML e XHTML), o que já ocorre na versão 4.0 do HTML.
As estruturas de comandos da linguagem XHTML são as mesmas do
HTML 4.0, por isso adotar essa versão é uma boa prática para quem está
começando a criar páginas para web.
Mas talvez você esteja pensando: por que se fez a integração entre ambas?
E qual é a diferença entre elas?
www.esab.edu.br 56
Nesta disciplina, utilizaremos, para o desenvolvimento, uma ferramenta
simples e leve, que não exige muitos recursos do computador: o
NotePad++. E também usaremos a sintaxe do HTML 4.0 como
linguagem de programação.
www.esab.edu.br 57
Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.
www.esab.edu.br 58
9 Estrutura de um documento HTML
Objetivo
Apresentar a estrutura de um documento HTML, os conceitos de tipo
de documento, cabeçalho e corpo do documento.
www.esab.edu.br 59
Para compreender melhor, veja a figura a seguir.
Tag de
Tag de início
fechamento
Veja que entre os sinais < e >, temos o nome da tag, e entre as tags de
início e fechamento, temos o conteúdo. No entanto, dentro das tags
podemos ter também o que chamamos de atributos, elementos que
ficam logo após o nome da tag e definem como o objeto se comportará
ao ser interpretado pelo navegador. Assim, dizemos que os atributos
são elementos que definem a estrutura de uma classe – um conjunto
de objetos com características e propriedades parecidas. E essa definição
acontece por meio do valor do atributo.
www.esab.edu.br 60
Vamos ver um exemplo? Suponha que precisemos criar um formulário
de contato, aquele do tipo “Fale conosco” que encontramos em sites de
empresas e nos quais precisamos colocar nossos dados para obtermos
uma resposta. Nesse caso, temos o campo Sobrenome. No código,
teremos o seguinte:
01 <form name=“formulario1”>
02 <input type=“text” name=“sobrenome” nome_
do_atributo=“valor do atributo”>
03 </form>
Note que para a tag <form> temos o atributo name, que tem valor
foramulario1, indicando a classe do objeto (formulário). Na linha
de código seguinte, temos a tag input, indicando que ali haverá uma
entrada de dados, e o atributo type com valor text, pois o tipo de dado
a ser colocado no campo será do tipo texto; o atributo name com valor
sobrenome, indicando que o nome do campo é sobrenome; e temos
também um novo atributo, representando a sintaxe para inserção de
atributos nas tags.
www.esab.edu.br 61
As tags, sejam duplas ou simples, podem ser escritas com letras
maiúsculas ou minúsculas, ou seja, elas não são case sensitive, termo do
inglês que significa sensível ao tamanho, ou sensível à caixa – caixa-alta
é a letra maiúscula e caixa-baixa, minúscula. Porém, como boa prática
deve-se adotar a escrita de comandos em minúsculas, exceto nos casos em
que a linguagem de programação exija os comandos em maiúsculas.
www.esab.edu.br 62
Algoritmo 1 – Estrutura do documento em HTML
01 <html>
02 <head>
03 <title> Aqui é o título da página </title> int
main(void)
04 <meta http-equiv=Content-Type content=”text/html;
charset=utf-8”>
05 </head>
06 <body>
07 Aqui é o corpo da página
08 </body>
09 </html>
Começamos pela tag <html> porque ela é a essencial, uma vez que define
o tipo de linguagem utilizada no documento que estamos criando e
em todas as outras páginas do site, e por isso também é a última a ser
fechada. Em seguida, temos já um pouco mais à direita a tag <head>, que
forma o cabeçalho, também a ser usado nas outras páginas. E, por fim,
temos, endentada mais à direita da <head>, a tag <body>, que delimita
o início e o fim do corpo da página e conterá informações específicas
desta. Trata-se de um modo de organização que envolve uma espécie de
hierarquia e a lógica, pois uma tag poderá ter tags-filhas, indicando qual
parte do site fica dentro de outra – como no caso de uma tabela ficar
dentro de outra, por exemplo.
www.esab.edu.br 63
Se você está se perguntando por que escrever um código com indentação,
vamos imaginar a seguinte situação: você está desenvolvendo um portal
e seu código já possui muitas linhas, mas agora será necessário fazer
uma correção de um atributo em uma tag que está dentro de outra tag
no corpo da página. Você pode utilizar a funcionalidade de pesquisa
da ferramenta de desenvolvimento, no entanto, só terá certeza de qual
é a tag cujo atributo necessita de correção se souber qual é a relação
entre ela e as outras tags. E aí a indentação facilita muito, pois você verá
facilmente qual parte está dentro de outra.
www.esab.edu.br 64
Figura 24 – Página com a estrutura básica carregada no navegador Google Chrome.
Fonte: Elaborada pelo autor (2013).
Como você pôde ver na linha 4 do Algoritmo 1, uma meta tag é muito
importante para que a codificação de caracteres do documento HTML
seja claramente indicada. Desse modo, os dispositivos do cliente podem
facilmente mapear e apresentar os caracteres corretamente em qualquer
idioma. A meta tag pode ser utilizada para definição do protocolo HTTP,
atributo http-equiv, ou tipos de controles para a página, atributo name.
www.esab.edu.br 65
O quadro a seguir apresenta a sintaxe e a estrutura dessas meta tags, com
os valores que podem ser utilizados:
www.esab.edu.br 66
Estudo complementar
Para saber mais sobre os conjuntos de caracteres e
seu uso no desenvolvimento, acesse dois textos da
W3C:
• Introdução a conjuntos de caracteres e
codificações
• Escolha e uso de codificação de caracteres
Você pode verificar que a sintaxe da meta tag é bem variada, possuindo
diversos atributos, mas não se preocupe em decorá-los, eles se tornarão
comuns e intuitivos à medida que você começar a utilizá-los. Muitos dos
atributos que podem ser usados na sintaxe da meta tag são opcionais e
não representam uma restrição para a criação das páginas HTML.
Quanto mais você praticar, mais intuitivo será escrever os códigos, achar
soluções para o desenvolvimento e fazer sites mais criativos e otimizados.
Portanto, vamos começar, na próxima unidade, a pôr em prática tudo o
que você aprendeu até agora!
Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidades 1 a 9. Para isso, dirija-se
ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!
www.esab.edu.br 67
Construindo uma página HTML na
10 prática
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
utilizando os comandos básicos de marcação – tags.
Algoritmo 2 – olamundo.html
01 <html>
02 <head>
03 <meta http-equiv =”Content - Type” content =”text/
html” charset =”UTF-8”>
04 <title>Básica HTML</title>
05 </head>
06 <body>
07 <p> Olá mundo </p>
08 </body>
09 </html>
www.esab.edu.br 68
da janela, e no campo Tipo, logo a seguir, escolha a opção HyperText
Markup Language file. Em seguida, clique em Salvar.
Note que as tags mudaram de cor para azul e seus atributos, para a cor
vermelha, enquanto os valores permanecem na cor preta. Essa é mais
uma técnica para manter a visualização do código limpa e organizada e
facilitar a localização.
www.esab.edu.br 69
Caso a acentuação não seja apresentada corretamente na sua página,
retire as instruções da linha 3, do código, dependendo das configurações
do seu sistema operacional, estas instruções são desnecessárias. Mas, se
mesmo com isso, os caracteres especiais não foram mostrados, a solução
é utilizar o padrão de “escape” de caracteres especiais, as chamadas
“entidades” do HTML. Por exemplo, o símbolo “É” é representado por
“É”.
Saiba mais
A lista dos caracteres de escape e suas
representações podem ser conhecidas clicando aqui.
www.esab.edu.br 70
Para sua reflexão
As páginas desenvolvidas em HTML podem ser
apresentadas de forma diferente nos navegadores
de internet. A maioria dos dispositivos móveis do
tipo smartphone possui navegador de internet.
Como será que essas páginas serão apresentadas
nesses novos equipamentos? Mesmo aquelas
páginas que eram apresentadas perfeitamente
no computador, como serão visualizadas nesses
dispositivos. Não é hora dos projetos web se
preocuparem com essas novas plataformas?
A resposta a essa reflexão forma parte de sua
aprendizagem e é individual, não precisando ser
comunicada ou enviada aos tutores.
www.esab.edu.br 71
01 <html> Tag de início do documento HTML.
02 <head> Tag de início do cabeçalho.
03 <meta http-equiv=”Content- Definição da Meta Tag, formatando o
Type” content=”text/html” documento em HTML e acentuação
charset=”UTF-8”>
usando UTF-8.
04 <title>Básica HTML</title> Tag que cria o título da página. O valor
do título deve ficar entre as tags “title”
de início e fechamento, que devem ser
escritas dentro das tags de marcação do
cabeçalho (head).
05 </head> Tag de fechamento do cabeçalho.
06 <body> Tag que marca o início do corpo da
página.
07 <p> Olá mundo </p> A tag “p” cria um parágrafo para o
conteúdo “Olá mundo”. Isso permite que
os conteúdos sejam apresentados em
várias linhas.
08 </body> Tag que define o final do corpo da página.
09 <html> Tag de fechamento do documento HTML.
Você deve ter reparado que utilizamos a tag <p>, a qual ainda não
tínhamos visto. Essa é uma tag dupla responsável pela criação de
parágrafos, que são essenciais para a apresentação dos textos nas
páginas HTML. No algoritmo a seguir, são definidos dois parágrafos
com conteúdos para o corpo da página. Vamos aproveitar para treinar
a codificação novamente e aprender essa nova tag. Do mesmo modo
que você fez anteriormente, crie um novo documento no NotePad++
e escreva o Algoritmo 3, que chamaremos de exemploparagrafo.html.
Portanto, salve o arquivo com o nome exemploparagrafo.html e, em
seguida, execute-o no navegador de sua preferência.
www.esab.edu.br 72
Algoritmo 3 – exemploparagrafo.html
01 <html>
02 <head >
03 <meta http - equiv =”Content - Type” content =”text/
html” charset=”UTF-8”>
04 <title >Quebra Linha Parágrafo </title >
05 </head>
06 <body>
07 <p> Texto longo para demonstrar como é a quebra
08 de linha automática de um parágrafo nas páginas HTML.
09 Isto é garantido pelo uso da tag “p”
10 </p>
11 <p>
12 Aqui é forçada uma quebra <br> de linha usando a tag
“br”
13 </p>
14 </body>
15 </html >
Veja que nesse algoritmo temos dois parágrafos de texto marcados com a
dupla de tags <p></p>. Além disso, foi acrescentada a tag <br> em meio
ao segundo parágrafo, forçando uma quebra de linha, ou seja, sempre
que o navegador encontrar essa tag, ele colocará a sequência do texto
na próxima linha. Como se trata de uma tag órfã, a sua sintaxe é apenas
<br>.
No caso da tag <p>, mesmo que o texto seja escrito em várias linhas
ou em uma linha muito longa, ele será apresentado de acordo com o
tamanho da janela do navegador, que define quantos caracteres cabem
em cada linha, pois seu conteúdo é gerenciado pelas marcas <p> e </
p>. Isso não acontece quando forçamos a quebra de linha utilizando a
tag <br>, por isso é necessário ter cuidado ao usá-la para que o texto não
fique mal formatado.
www.esab.edu.br 73
Dimensão A
Dimensão B
www.esab.edu.br 74
Algoritmo 4 – exemplotitulos.html
01 <html>
02 <head>
03 <meta http - equiv =”Content - Type” content =”text /
html” charset =”UTF-8”>
04 <title >Exemplo de cabeçalhos </title>
05 </head>
06 <body >
07 <h1>Titulo 1</h1>
08 <h2>Titulo 2</h2>
09 <h3>Titulo 3</h3>
10 <h4>Titulo 4</h4>
11 <h5>Titulo 5</h5>
12 <h6>Titulo 6</h6>
13 </body>
14 </html>
Veja que cada título é marcado por uma tag <h número> e </h número>,
sendo que esse número varia de 1 a 6, e quanto maior o número, menor
será o tamanho do texto apresentado.
Portanto, vamos dar sequência aos estudos vendo como fazer links entre
páginas. Crie um novo documento no NotePad++ e escreva o seguinte
algoritmo:
Algoritmo 5 – Navegando.html
01 <html>
02 <head>
03 <meta http - equiv =”Content - Type” content =” text
/ html”charset =”UTF-8”>
04 <title>Visitando Outras Páginas</title>
05 </head >
06 <body >
07 <p><a href =”alomundo.html”>Primeiro exemplo </a></p>
www.esab.edu.br 75
08 <p><a href =”exemploparagrafo.html”>Segundo exemplo</
a></p>
09 <p><a href =”exemplotitulos.html”>Terceiro exemplo </
a></p>
10 <p><a href =”http://www.esab.edu.br”>Página da ESAB
</a></p>
11 </body>
12 </html>
Na linha 7 do código, foi utilizada essa sintaxe para definir que o texto
“Primeiro exemplo”, ao ser clicado, realizará o direcionamento para a
página “olamundo.html”. Acompanhe na figura a seguir como foi o uso
dessa sintaxe:
Página que Texto apresentado
será visitada ao usuário
www.esab.edu.br 76
É importante notarmos que as tags que aprendemos a usar até agora
são bastante amigáveis, pois são baseadas nas palavras (em inglês) que
definem a sua função. Por exemplo, a tag <head>, que define o cabeçalho,
é relativa à palavra header, que é cabeçalho em inglês. A tag <p>, que tem
como função definir parágrafos, corresponde à primeira letra da palavra
paragraph, que em inglês significa parágrafo. Do mesmo modo, a tag <br>
refere-se à expressão break line, que em inglês significa quebra de linha,
exatamente a função da tag. Fazendo essas associações, ficará muito mais
fácil para você escrever códigos, pois o uso das tags será bastante intuitivo.
Dica
Todas as linguagens recomendadas pela W3C
possuem a sua especificação, que é a sua descrição
detalhada, e podem ser acessadas pelo site dessa
organização. Para tirar dúvidas sobre a HTML, seja
nos seus estudos ou durante a vida profissional,
acesse a especificação da linguagem no site da
W3C clicando aqui.
www.esab.edu.br 77
11 Introdução à Cascading Style Sheets
Objetivo
Apresentar o conceito de estilização de páginas, as regras de uso e a
sintaxe dos comandos em CSS.
[...] folha de estilo em cascata é um mecanismo simples para adicionar estilos (por
exemplo: fontes, cores, espaçamentos) aos documentos web. [...] A HTML foi criada
para ser uma linguagem exclusivamente de marcação e estruturação de conteúdo.
[...] não cabe à HTML fornecer informação ao agente do usuário (navegador) sobre a
apresentação dos elementos.
www.esab.edu.br 78
Portanto, a camada de apresentação da página web deve ser desenvolvida
em CSS, e não em HTML, como ocorria há alguns anos. Conforme
vimos na unidade 5, sobre a padronização de projetos web, cabem ao
CSS todas as funções de apresentação de um documento.
www.esab.edu.br 79
A figura a seguir apresenta a sintaxe para escrever uma regra em CSS.
Acompanhe.
Seletor
Propriedade Valor
p {
font-size : 40px ;
}
Corpo Bloco de declaração
No bloco de declarações, que deve ser aberto e fechado com chaves ({ }),
temos dois elementos: a propriedade e o valor da propriedade. A
propriedade define qual será a característica do elemento que é alvo do
seletor. Voltando ao exemplo, temos a propriedade font-size, indicando
que o estilo aplicado se refere ao tamando da fonte dos parágrafos, que é
o elemento-alvo do seletor p.
www.esab.edu.br 80
Por fim, temos o valor da propriedade, que define a quantidade ou
qualidade do estilo. Em nosso exemplo, o valor é 40px, indicando que
esse será o tamanho da fonte dos parágrafos.
Veja que a sintaxe da regra exige que a propriedade seja seguida de dois-
pontos (:) para só então termos o valor, que é fechado com ponto e
vírgula (;). Uma regra CSS pode conter mais de uma declaração de estilo,
separadas pelo símbolo ponto e vírgula (;). No exemplo a seguir, a regra
CSS tem por finalidade definir, respectivamente, a cor preta para o texto,
a cor de fundo verde, o negrito para a fonte e o alinhamento à direita
para um parágrafo (p) em um documento HTML. Veja como fica a
sintaxe do seguinte comando:
A regra CSS pode ser escrita com cada propriedade e seu valor uma ao
lado da outra, porém o mais recomendado é escrevê-la colocando cada
propriedade e seu valor em linhas separadas. O resultado será o mesmo, a
vantagem é a legibilidade do código.
www.esab.edu.br 81
pela propriedade background-color (cor de fundo, em inglês); na linha
3, com a propriedade font-style (estilo da fonte); e na linha 4, com a
propriedade text-align (alinhamento do texto).
Para facilitar a compreensão do que a regra CSS deve fazer, você pode
adotar a boa prática de fazer comentários. Essa é uma atitute muito
interessante principalmente quando estão envolvidas regras mais
complexas, assim, quando outro desenvolvedor precisar ver ou trabalhar
com seu código, ou se você necessitar rever um código mais antigo, será
mais simples entendê-lo.
www.esab.edu.br 82
Algoritmo 7 – Aplicando a folha de estilo
01 <html>
02 <head>
03 <meta http - equiv =”Content - Type” content =”text/
html” charset =”UTF-8”>
04 <link rel=”stylesheet” type=”text/css” href=”folha_
estilo_paragrafo.css”>
05 <title>Básica HTML</title>
06 </head>
07 <body>
08 <p> Ola mundo </p>
09 </body>
10 </html>
www.esab.edu.br 83
Figura 32 – Exemplo de aplicação de CSS.
Fonte: Elaborada pelo autor (2013).
Saiba mais
Em CSS há mais três funções para definir uma
cor: rgba(), hsl() e hsla(). A função hsl() define
as cores por intermédio da matiz, saturação e
luminosidade (hue, saturation e lightness). Essa
função possui três parâmetros: hsl(H, S, L), em que
H pode variar de 0 a 360; e S e L variam de 0% a
100%. As funções rgba(R, G, B, A) e hsla(H, S, L, A)
possuem um último parâmetro, chamado alpha,
que está relacionado à opacidade da cor e cujo
valor varia de 0 a 1 com passo de 0.1.
www.esab.edu.br 84
Estrutura de um documento com
12 base em CSS
Objetivo
Apresentar a estrutura de um documento com base em CSS, os
conceitos de atributo e valor e as boas práticas que facilitam a
legibilidade e compreensão dos comandos em CSS.
www.esab.edu.br 85
4. Utilize a forma estendida de declarar as propriedades em linhas
distintas, como vimos nas unidades anteriores. Assim, temos:
01 seletor β {β
02 propriedade: valor;
03 propriedade2: valor;
04 β}
01 seletor1, seletor2 {
02 propriedade1: valor2
03 }
www.esab.edu.br 86
Mas vimos também que as folhas de estilo podem ser escritas no próprio
documento HTML onde serão aplicadas. Assim, a vinculação do CSS ao
HTML pode se dar por três métodos: inline, interno (por incorporação
no código) ou externo (link entre os arquivos externos que contém as
regras CSS e o arquivo HTML).
Veja que, na linha 7, o CSS está sendo aplicado por meio do método
inline para definir a cor em vermelho (red) ao texto do parágrafo. O
resultado deve ser algo semelhante ao mostrado na figura a seguir.
www.esab.edu.br 87
Figura 33 – Site com estilo utilizando CSS inline.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 88
Na linha 5, dentro da tag <head> é criado um estilo para definir a
apresentação do documento HTML, que poder ser visualizado em
monitores de computadores de mesa, notebooks e netbooks, por isso a
propriedade media (mídia) recebe o valor screen (tela). Como o navegador
precisa ser avisado que há regras CSS a serem carregadas, o tipo de
documento foi definido por meio da propriedade content como text/css.
Para ver o resultado desse código quando carregado pelo navegador, salve
o arquivo com nome estiloincorporado.html e execute-o no navegador
de sua preferência. Você verá uma página semelhante à da figura a seguir:
Agora, vamos acrescentar mais uma regra nesse código, definindo a cor
azul (blue), junto com o tamanho de 30 pixels (px) e o tipo de fonte
Times New Roman para os elementos parágrafos. Acesse o arquivo
estiloincorporado.html que você acabou de criar e tente escrever essa
regra sozinho, somente depois veja o código a seguir. Isso ajudará você a
internalizar a sintaxe e as propriedades do CSS.
www.esab.edu.br 89
Lembre-se de que, depois de escrever a nova regra, você deverá acrescentar
no código HTML uma linha de parágrafo para ver a aplicação da regra.
Para isso, vamos utilizar, aqui, a frase “Documento em estilo incorporado
para o parágrafo”. Depois de acrescentar a nova regra e a linha HTML,
seu código deve estar semelhante ao código a seguir. Acompanhe.
www.esab.edu.br 90
No código HTML, temos, na linha 19, um texto que faz parte do corpo
da página, mas sem formatação de parágrafo. Esse é o texto que tínhamos
da versão anterior do código. E na linha 20, acrescentamos um texto com
formatação de parágrafo. Assim, quando a página for apresentada no
navegador, os textos dos parágrafos serão diferentes dos textos do corpo
da página por causa das regras definidas nos códigos.
Vamos ver como ficará nossa página? Salve o arquivo com os novos
códigos, deixando a extensão como .html, e execute-o em um navegador.
O resultado será algo semelhante ao mostrado na figura a seguir:
Ambos os métodos que vimos aqui podem ser úteis na sua vida
profissional, no entanto, o método externo é o mais eficiente. Isso
porque as regras são editadas em um único documento, separado do
arquivo HTML, e carregadas nas páginas por meio da tag <link>.
Assim, o desenvolvedor poderá aplicar os mesmos estilos em diversas
páginas apenas inserindo o link para o documento CSS, e havendo
necessidades de ajustes no estilo, apenas esse documento será modificado,
o que facilita a manutenção e a inserção de melhorias no projeto web,
reduzindo o tempo investido para isso.
www.esab.edu.br 91
Essa técnica foi utilizada na unidade anterior e a sua sintaxe é bem simples.
Na tag <head> do código HTML, deve ser acrescentada a seguinte tag:
www.esab.edu.br 92
Perceba que na linha 5 do código está sendo criado o vínculo entre
o documento HTML e o arquivo com as regras CSS por meio da
tag <link>. O atributo “rel” indica que o arquivo a ser chamado (ou
utilizado) é uma folha de estilos, enquanto o atributo “type” informa que
essa folha de estilos é do tipo CSS. O atributo “href ” mostra o caminho
para encontrar este arquivo e, por fim, o atributo media indica que os
estilos serão apresentados em todos os tipos de tela.
Agora que já vimos o básico sobre o uso de CSS e suas boas práticas,
bem como os métodos de inserção dos estilos no arquivo HTML, na
próxima unidade seguiremos aprendendo os comandos de formatação
de texto em CSS.
www.esab.edu.br 93
Resumo
www.esab.edu.br 94
Como formatar o texto da página
13 HTML com CSS
Objetivo
Apresentar a sintaxe dos comandos de text e font do CSS e como
podem ser utilizados na formatação de textos nas páginas HTML.
Você pode achar que a tarefa de especificação da fonte que será utilizada
pelo site é simples e básica, porém não é. Isso porque cada dispositivo
de usuário, ou seja, o monitor do computador, o celular, ou o tablet,
que carrega uma página HTML, trata de forma completamente
diferente a fonte especificada pelo programador. As aplicações web
possuem comportamentos diferentes para dispositivos diferentes. Uma
página será apresentada de uma forma quando carregada no monitor
do computador, mas não terá a mesma forma de apresentação quando
carregada em um celular com acesso à internet, ou em tablets, que
possuem dimensões de tela reduzidas, por isso a escolha do estilo da
fonte é essencial para que a usabilidade seja garantida.
www.esab.edu.br 95
Neste sentido, iniciaremos os estudos desta unidade com foco nos
conceitos de tipografia e em como utilizá-los na definição da fonte
utilizada no site.
Silva (2008, p. 98) destaca: “Na prática, a escolha de tais fontes assegura
que a maioria dos usuários visualize a tipografia do nosso site, tal como
ela foi projetada”. As fontes seguras, totalizando nove, são:
Arial;
Arial Black;
Comic Sans MS;
Courier New;
Georgia;
Impact;
Times New Roman;
Trebuchet MS; e
Verdana.
Uma vez que a quantidade de fontes que por padrão são previamente
instaladas nos computadores é mínima, você pode utilizar uma
técnica importante para solução deste problema de incompatibilidade:
defina e organize as fontes em famílias, pois caso uma delas não seja
encontrada no computador que acessa a página, outras serão buscadas
automaticamente, garantindo a apresentação do texto.
www.esab.edu.br 96
Você precisa adotar uma regra CSS que informará ao navegador um
conjunto de fontes que devem ser carregadas em ordem de prioridade.
Ou seja, se a primeira (fonte A) não for encontrada no sistema
operacional, a segunda (fonte B) será carregada, e assim, sucessivamente
até chegar à última (fonte N).
www.esab.edu.br 97
2
{font-family:”Times New Roman”,Verdana,Arial,sans-serif;}
1 3
Prioridade
Figura 37 – Regra CSS para definição da família de fonte.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 98
ou minúsculo, mas deve terminar a lista das fontes com uma fonte
genérica. A seguir, apresentamos alguns exemplos de definição da regra
CSS de font-family:
Texto em xx-small
Texto em x-small
Texto em small
Texto em medium
Texto em large
Texto em x-large
Texto em xx-large
Figura 38 – Tamanhos de fonte com valor absoluto.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 99
Você pode definir o tamanho da fonte por meio de um valor relativo:
smaller ou larger. Outra forma muito utilizada para definição do
tamanho da fonte é o uso do valor em percentual. A seguir, você verá
alguns exemplos dessa definição, acompanhe:
www.esab.edu.br 100
A última propriedade de definição do estilo da fonte é font-weight. Essa
propriedade define a espessura da linha que desenha a fonte. Para essa
propriedade, os valores aceitos são: normal, bold, bolder, lighter e valores
inteiros de 100 a 900, em intervalos de 100 em 100, resultando em
nove valores aceitos chamados de pesos, sendo eles: 100, 200, 300, 400,
500, 600, 700, 800 e 900. A sintaxe para definição dessa propriedade
é: {font-weight: valor;}. A seguir, veja alguns exemplos de definição da
propriedade font-weight, acompanhe:
www.esab.edu.br 101
• text-align - define o alinhamento horizontal do texto;
• text-decoration - define uma decoração ou efeito para um texto;
• text-indent - define a indentação da primeira linha de um bloco de
texto;
• text-transform- define e transforma os caracteres do texto. Pode
transformar todos os caracteres de maiúsculo ou minúsculo (e vice-
versa) ou apenas o primeiro caractere do texto. Esta transformação é
chamada de capitalização do texto;
• vertical-align - define o alinhamento vertical do texto;
• white-space - define como os espaços do texto serão tratados.
Estudo complementar
Para complementar os estudos de estilização de
fontes em CSS, clique aqui e acesse um tutorial
que apresenta a sintaxe dos comandos e exemplos
de como utilizá-los.
www.esab.edu.br 102
Construindo uma página HTML com
14 formatações de texto
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com formatos diferentes de textos com a aplicação de comandos text
e font.
www.esab.edu.br 103
Algoritmo 13 – Prática CSS 1
01 body{
02 font-family: Arial,Verdana,Tahoma,Sans-Serif;
03 color: blue;
04 font-size: 12px;
05 }
06 p{
07 line-height: 20px;
08 text-align: justify;
09 }
10 h1{
11 font-size: 24px;
12 color:green;
13 text-transform: uppercase;
14 }
15 h2{
16 font-size: 14px;
17 padding: 5px;
18 background-color: black;
19 color: red;
20 }
www.esab.edu.br 104
Hexadecimal. A cor vermelha, por exemplo, pode ser definida pelo
nome red, ou RGB (255,0,0) ou em hexadecimal FF0000;
• line-height: Define a altura da linha. É uma propriedade importante
porque deixa o texto mais espaçado entre as linhas, tornando a
leitura mais agradável;
• text-transform: Define o estilo do texto. Os valores possíveis são:
uppercase (caixa alta), lowercase (caixa baixa), capitalize (primeira
letra maiúscula e o restante minúscula) e none (o texto é mostrado
como foi digitado); e
• text-align: Define o alinhamento do texto dentro do parágrafo.
Os valores aceitos são: left - texto alinhado à esquerda, center -
texto centralizado, right - texto alinhado à direita e justify - texto
justificado.
www.esab.edu.br 105
Salve o arquivo com nome “pratica1.html” e execute-o para ver o
resultado no navegador.
Por fim, o texto do elemento h2 (Este texto será formatado pela regra
CSS do elemento h2), do documento HTML será apresentado com
fundo preto, com as fontes em vermelho e texto em tamanho de 14 pixels,
resultado da regra identificada como “h2”, no Algoritmo 13, na linha 15.
www.esab.edu.br 106
Nessa regra utilizamos as propriedades já conhecidas, com a inclusão
de outras duas: a margin, que específica o espaço da margem esquerda,
direita, topo e base do documento, todas com mesmo valor, e a text-
indent, que específica o espaço entre a margem e o início do parágrafo.
A unidade de medida “3em” informa ao documento HTML que a
medida do texto será três vezes a medida do corpo da página. É uma
medida variável, por exemplo, se o corpo da página tiver tamanho de
10 pixels, o tamanho do texto endentado como “em” será de 30 pixels.
Se o tamanho do texto do corpo da página mudar, a endentação muda
automaticamente.
Para usar essa regra, salve o documento com nome “pratica2.css” e edite um
novo documento, em HTML. O código da página é apresentado a seguir:
www.esab.edu.br 107
parágrafo será endentado em um espaçamento de “3 em”, conforme a
definição da regra CSS criada na linha 8 do Algoritmo 15.
www.esab.edu.br 108
com alinhamento à direita e ao centro, respectivamente, resultados das
instruções style=”text-align: right;” e style=”text-align: center;”.
Analisando o código, você verá que foi utilizado o método inline para
definição de regras CSS diferentes para cada um dos parágrafos, a partir
da propriedade text-align, que poderá ter como valores: center, left e right
e justify.
www.esab.edu.br 109
28 }
29 h5{
30 color: yellow;
31 font-family: Verdana, Geneva, Arial, sans-serif;
32 font-size: large;
33 line-height: 180%;
34 text-decoration:none; /* normal*/
35 }
www.esab.edu.br 110
Nesta unidade, você teve a oportunidade de criar algumas páginas
HTML com formatação de textos e fontes. Nas práticas anteriores,
usamos algumas regras CSS de definição de cor do documento HTML
como: color e background-color. Na próxima unidade, serão apresentadas
outras regras CS para definição de cor.
www.esab.edu.br 111
Como formatar as cores da página
15 HTML com CSS
Objetivo
Apresentar a sintaxe da propriedade color e a sua utilização na
formatação da cor dos textos das páginas em HTML.
Dica
RGB é a sigla do sistema de cores aditivas formado
pelas iniciais das cores em inglês Red, Green e Blue,
que significam em português respectivamente,
vermelho, verde e azul. As cores são obtidas por
meio da mistura dessas três cores, em quantidades
determinadas. Cada uma das cores obtidas está
enquadrada em uma escala que varia de 0 a 255.
Quando a mistura das três cores está no valor
mínimo (0, 0, 0), o resultado é a cor preta. Quanto
está no máximo (255, 255, 255), resulta na cor
branca.
www.esab.edu.br 112
A notação mais comum para definição de cores é o valor em
hexadecimal, representado por um sinal de sustenido (#) a frente do
valor, que é composto por uma combinação de letras (A, B, C, D, E,
F) e números (de 0 a 9), em tamanho máximo de seis hexadecimais.
Por exemplo, a cor branca em hexadecimal é representada pelos valores
#FFFFFF. A combinação destas letras e números é livre, sendo que os
dois primeiros hexadecimais representam a quantidade de vermelho
(RED), os dois valores seguintes, a quantidade de cor verde (GREEN) e
os dois últimos, a quantidade de cor azul (BLUE).
# Letras e/ou
números
Você também pode definir a cor do texto usando a notação em RGB, que
cria a cor a partir da combinação de três valores entre 0 e 255, colocados
www.esab.edu.br 113
entre parênteses e separados por vírgula. Nesse caso, o primeiro valor
representa a quantidade da cor vermelha, o valor do meio a quantidade
de cor verde, e o último valor a quantidade de cor azul.
RGB ( , , )
Números
0...255
Aqua azul-claro
Black Preto
Blue Azul
fuchsia Magenta
Gray Cinza
Green Verde
Lime verde-claro
maroon Marrom
Navy azul-marinho
Olive verde-oliva
purple Roxo
www.esab.edu.br 114
red Vermelho
Silver Prata
Teal Petróleo
White Branco
yellow Amarelo
Além dessas 16 cores padrão, você pode utilizar mais 124 cores,
totalizando 140 cores diferentes. A apresentação das cores, entretanto,
pode mudar de acordo com o navegador utilizado, isto porque nem
todos os navegadores suportam as 140 cores.
Saiba mais
Existem algumas ferramentas computacionais que
auxiliam o programador na definição das cores,
clique aqui e conheça uma. Você pode criar suas
cores que a ferramenta mostra o valor da mesma
em RGB ou hexadecimal.
www.esab.edu.br 115
elementos de cor sobre um fundo predominantemente claro para separar
conteúdos, delimitando suas áreas.
Portanto, não basta que você escolha a cor ideal, você precisa estudar as
possíveis combinações entre elas e decidir qual será, definitivamente, a
mais adequada ao site. E o problema não é a escolha de uma cor, mas
a escolha de uma combinação de cores de tal modo que se encaixem
confortavelmente umas nas outras.
Dica
Uma boa prática que você deve adotar é evitar
utilizar elementos que restrinjam o conteúdo,
como o tamanho de fonte, fonte especificada e
cores nas fontes, por exemplo. Esses elementos
podem ser conflitantes com relação ao padrão
visual do usuário. Algumas opções de formatação
são universalmente aceitas, como: negrito, itálico,
sublinhado, e os títulos (h1, h2, h3, h4, h5 e h6).
Essas opções são mais do que suficientes para
destacar e formatar o texto, além disso, elas
asseguram que seu texto terá uma formatação
eficiente em diferentes dispositivos (computador,
celular, tablets), pois a maioria dos sistemas tem
uma configuração padrão para essas opções.
www.esab.edu.br 116
Como definir as cores de fundo da
16 página HTML com CSS
Objetivo
Apresentar a sintaxe do comando background e sua utilização na
formatação da cor de fundo da página.
www.esab.edu.br 117
A sintaxe do exemplo de número 1 especifica a cor de fundo em verde
usando valor por palavra-chave (green) no elemento body (corpo da
página). O exemplo de número 2 define a cor de fundo para o elemento
h1 (título), na cor verde, em hexadecimal (#00ff00). O exemplo de
número 3 determina a cor transparente (transparent) para o fundo do
elemento h2 (título). O último exemplo, número 4, especifica a cor de
fundo vermelha para o elemento parágrafo (p), usando a notação em
RGB para gerar esta cor (quantidade de vermelho em 250, quantidade de
verde em 0 e quantidade de azul e 0).
01 {background-image:
02 url(“http://us.cdn4.123rf.com/168nwm/nirots/nirots1206/
nirots120600063/14126166-eye-of-brazil-concept-brazil-
world-cup-2014.jpg”);
03 }
www.esab.edu.br 118
Note que o endereço da imagem a ser carregada deve ser precedido da
cláusula URL, e o endereço deve estar entre parênteses e aspas.
01 body {background-image:
02 url(“http://www.sxc.hu/pic/s/n/na/nandoserpa/1399198_
sunrise_in_joo_pessoa.jpg”);
03 }
www.esab.edu.br 119
x x
y y
www.esab.edu.br 120
O primeiro exemplo define a imagem no centro e à esquerda (left center)
para o elemento body. No segundo exemplo, a imagem ficará no centro
e em cima (right top), para a imagem do elemento parágrafo. No terceiro
exemplo, a imagem ficará ao centro (center top) para o elemento h1.
Palavra-Chave Posição
left top Esquerda em cima
top left Esquerda em cima
right top Direita em cima
top right Direita em cima
left bottom Esquerda embaixo
bottom left Esquerda embaixo
right bottom Direita embaixo
bottom right Direita embaixo
center top Centro em cima
top center Centro em cima
Top Centro em cima
center right Centro à direita
right center Centro à direita
Right Centro à direita
center bottom Centro embaixo
bottom center Centro embaixo
bottom Centro embaixo
center left Centro à esquerda
left center Centro à esquerda
Left Centro à esquerda
center center No centro
center No centro
www.esab.edu.br 121
A propriedade background-attachment determina se a imagem ficará fixa
ou não em relação à área de apresentação da imagem. Ou seja, caso o
usuário faça uma rolagem da tela do navegador, a imagem acompanhará
a rolagem da tela ou se manterá no mesmo espaço. Para essa propriedade,
os valores podem ser: scroll ou fixed.
01 { background:
02 background-color
03 background-image
04 background-repeat
05 background-attchment
06 background-position
07 }
01 body{
02 background-color: green;
03 background-image:
04 url(“http://www.sxc.hu/pic/s/n/na/nandoserpa/1399198_
sunrise_in_joo_pessoa.jpg”);
05 background-repeat: no-repeat;
06 background-attachment:fixed;
07 background-position:top center;
08 }
www.esab.edu.br 122
Construindo uma página HTML
17 colorida
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com cores de fundo personalizadas com uso do comando background.
www.esab.edu.br 123
A regra especifica o padrão de cor de fundo (background-color) e cor do
texto (color) para os elementos BODY, P e H1. Para testar a regra, vamos
criar uma página HTML com os elementos BODY, P e H1. No editor,
escreva o seguinte código:
www.esab.edu.br 124
Figura 44 – Resultado do carregamento do arquivo corfundo01.html.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 125
se o navegador não mostrar a página com os efeitos dessas alterações,
pressione a tecla F5 para atualização do documento, caso contrário será
necessário executar o arquivo. O resultado será semelhante à Figura 45:
Note que esta é uma grande vantagem do uso do CSS: uma vez mudada
a regra de referência no arquivo HTML, todos os elementos afetados
pela regra são automaticamente estilizados, sem a necessidade de alterar
o documento linha por linha. Além de mudar as cores de fundo, as cores
dos textos também foram alteradas no arquivo “corfundo02.css”.
www.esab.edu.br 126
Na definição da regra anterior, caso a imagem não seja carregada pelo
navegador, a página terá o fundo em preto, definido por backgroud-color:
black. Por se tratar de uma imagem da internet, o endereço deve ser
informado entre aspas, dentro de parênteses e seguido da cláusula URL,
conforme demonstrado na linha 3.
www.esab.edu.br 127
O resultado da apresentação da página será semelhante à figura a seguir:
www.esab.edu.br 128
Figura 47 – Arquivo HTML com imagem de fundo sem repetição.
Fonte: Elaborada pelo autor (2013).
Vamos criar uma regra CSS que defina ao mesmo tempo a imagem a ser
carregada, a forma de repetição, a cor do fundo e a imagem como fixa,
mesmo que a página seja rolada para cima ou para baixo. Abra o editor e
crie um novo arquivo com a regra do Algoritmo 26.
www.esab.edu.br 129
Para testar a regra, crie um novo arquivo HTML com o seguinte código:
Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.
www.esab.edu.br 130
Componente visual para lista de
18 valores em HTML
Objetivo
Apresentar a sintaxe do comando list e sua utilização na criação de
lista de valores nas páginas em HTML.
As listas não ordenadas são marcadas pelas tags <ul> e </ul>. Os itens
que compõem a lista são marcados pelas tags <li> e </li>. A figura a
seguir ilustra a estrutura de um elemento UL, no qual os itens não
possuem indicadores de ordem, como números ou letras:
Lista
<ul>
<li> </li>
<li> </li>
<li> </li>
</ul>
www.esab.edu.br 131
Os elementos da lista não ordenada, quando carregados pelo navegador,
são apresentados com uma marca antes de cada item, como você pode
ver na figura a seguir:
Item 1
Item 2
Item 3
<ul>
<li> </li>
</ul>
Para cada item da lista, você deve inserir um valor entre as tags <li>
e </li>. No exemplo a seguir, criaremos uma lista não ordenada para
apresentação dos valores Uva, Maçã e Banana.
www.esab.edu.br 132
Os valores informados como itens de uma lista podem ser números ou
letras, maiúsculas ou minúsculas, veja o exemplo a seguir:
Para criação de listas ordenadas, você deve usar a tag <ol> e </ol>
para definir o início e final da lista. Os itens da lista continuam sendo
marcados por meio das tags <li> e </li>. Os itens que fazem parte da lista
ordenada são apresentados com uma marca sequencial e crescente, para
identificação da ordem dos elementos.
<ol>
<li> </li>
</ol>
No exemplo a seguir, você verá uma lista ordenada para os itens Uva,
Maçã e Banana.
www.esab.edu.br 133
Quando carregado pelo navegador, o resultado será tal qual apresentado
na Figura 50.
1. Uva
2. Maçã
3. Banana
Figura 50 – Lista ordenada.
Fonte: Elaborada pelo autor (2013).
Note que os valores da lista não são ordenados nem classificados, o que
temos é um identificador (número) crescente para cada item da lista.
<dl> Lista
<dt>termo</dt>
<dd>definição</dd>
</dl>
Figura 51 – Estrutura da lista de definições.
Fonte: Elaborada pelo autor (2013).
<dl>
<dt> </dt>
<dd> </dd>
<dt> </dt>
<dd> </dd>
</dl>
Figura 52 – Estrutura da lista de definição.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 134
O exemplo a seguir criará uma lista de definições para montar a seguinte
estrutura:
www.esab.edu.br 135
Você pode combinar cada um dos tipos de listas vistos anteriormente
e formar o que chamamos de listas mistas. O exemplo a seguir
implementa uma página HTML com listas ordenadas e não ordenadas,
ou seja, uma lista mista. Acompanhe:
www.esab.edu.br 136
Livro
Capítulo 1
1. Unidade 1
2. Unidade 2
Capítulo 2
1. Unidade A
2. Unidade B
3. Unidade C
Figura 54 – Apresentação da lista mista.
Fonte: Elaborada pelo autor (2013).
Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidades 10 a 18. Para isso, dirija-
se ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!
www.esab.edu.br 137
Resumo
www.esab.edu.br 138
Como formatar e estilizar as listas
19 em HTML com o uso de CSS
Objetivo
Apresentar a sintaxe do comando list-style e a sua utilização na
criação de lista de valores estilizada nas páginas em HTML.
www.esab.edu.br 139
A Figura 55 ilustra os três tipos de glifos:
A seguir, você verá a aplicação da regra CSS para criação de uma lista
estilizada:
www.esab.edu.br 140
Algoritmo 34 – Página HTML com lista estilizada
01 <html>
02 <head>
03 <meta http - equiv =”Content - Type” content =”text/
html” charset =”UTF-8”>
04 <title>Exemplo</title>
05 <link rel= “stylesheet” type= “text/css” href=
“lista01.css” media= “all”>
06 </head>
07 <body>
08 <ul>
09 <li> Florianópolis -SC </li>
10 <li> Palhoça - SC</li>
11 <li> São José - SC </li>
12 </ul>
13 </body>
14 </html>
Florianópolis - SC
Palhoça - SC
São José - SC
www.esab.edu.br 141
Tipo Aparência
Decimal Numeração decimal iniciando em 1.
decimal-leading-zero Numeração decimal iniciando em 1 com zero para as unidades.
lower-roman Algarismos romanos em minúsculo.
upper-roman Algarismos romanos em maiúsculo.
Georgian Algarismos georgianos.
Armenian Algarismos armênios.
Você deve ficar atento, pois nem todos os navegadores suportam todos
esses tipos de marcadores, entre eles, o Internet Explorer é o que mais
apresenta problemas com essas marcações.
www.esab.edu.br 142
Observe como o Algoritmo 35 demonstra como criar uma lista ordenada
utilizando números romanos maiúsculos como marcador, acompanhe:
Note que, na linha 1, o elemento HTML utilizado foi <OL>, que indica
listas ordenadas.
Tipo Aparência
lower-alpha Letras minúsculas.
lower-latin Letras minúsculas.
upper-alpha Letras maiúsculas.
upper-latin Letras maiúsculas.
Lower-greek Letras gregas.
www.esab.edu.br 143
a. Item A A. Item A α. Item A
b. Item B B. Item B β. Item B
c. Item C C. Item C γ. Item C
d. Item D D. Item D δ. Item D
e. Item E E. Item E ε. Item E
lower-alpha upper-alpha
lower-greek
lower-latin upper-latin
Figura 58 – Tipos de marcadores alfanuméricos.
Fonte: Elaborada pelo autor (2013).
A seguir, você verá no exemplo a regra CSS que retira o marcador para as
listas ordenadas <OL> e não ordenadas <UL>:
www.esab.edu.br 144
“../minhas_imagens/imagem.bmp”
No Algoritmo 37, você tem o código com a regra CSS que define a
imagem do arquivo “ícone.png” como marcador a ser utilizado na lista
não ordenada:
www.esab.edu.br 145
O código que cria a página HTML possui a seguinte estrutura:
Florianópolis - SC
Palhoça - SC
São José - SC
www.esab.edu.br 146
A Figura 61 ilustra as posições outside e inside em relação à página
HTML, acompanhe:
Página
Lista
Posição
inside
Posição
outside
Recuo
Figura 61 – Posição da lista.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 147
Nesta unidade, você conheceu as regras CSS para estilização das listas.
Continuaremos o estudo das listas na próxima unidade, acrescentando
novas propriedades para identificá-las e posteriormente transformá-las
em menus. Vamos lá?!
Fórum
Caro estudante, dirija-se ao Ambiente Virtual de
Aprendizagem da Instituição e participe do nosso
Fórum de discussão. Lá você poderá interagir com
seus colegas e com seu tutor de forma a ampliar,
por meio da interação, a construção do seu
conhecimento. Vamos lá?
www.esab.edu.br 148
Como criar uma seleção de valores
20 nas páginas HTML
Objetivo
Apresentar a sintaxe dos comandos seletor id e seletor class e como
aplicá-los na construção de caixas de seleção para páginas HTML.
Na linha 1, a regra css especifica o seletor <p> como elemento que será
afetado pela estilização que está sendo criada.
www.esab.edu.br 149
Nem sempre o uso da tag como elemento da regra CSS permite que você
compreenda o que está sendo codificado. Para compreender o que cada
tag faz, é necessário saber o seu significado. Portanto, além de conhecer
as propriedades e sintaxes de uma regra, é necessário conhecer o que
significa exatamente cada tag em HTML.
Note que o seletor começa pelo ponto (.), como demonstrado na linha 1.
No exemplo a seguir, será inserida mais uma regra css com nome de
“parágrafo_verde”, com a propriedade “color: green”. Utilizaremos o
arquivo anterior; veja como ficará o código das regras:
www.esab.edu.br 150
Vimos, na unidade 12, que por se tratar de um arquivo com regras
css e para que tenha efeito na página HTML, essa regra precisa ser
incorporada e referenciada. O código a seguir apresenta a criação da
página HTML com dois parágrafos que serão apresentados em cores
diferentes:
Um elemento pode ser estilizado por mais de uma classe; e quando isso
acontecer, os nomes das classes devem ser separados por um espaço em
branco, dessa forma: <elemento html class=”nome1 nome2”>.
No exemplo a seguir são criadas duas regras: a primeira regra define a cor
da fonte, em branco; já a segunda, a cor de fundo, em verde:
www.esab.edu.br 151
Algoritmo 43 – Regras usando seletor de classe
01 .cor_branca{
02 color:white;
03 }
04 .fundo_verde {
05 background-color:green;
06 }
www.esab.edu.br 152
Algoritmo 45 – Classes definidas com elemento e nome
01 p.modelo_um {background-color: yellow;}
02 p.modelo_dois {background-color:blue;}
03 ul.lista_quadrado{list-style-type:square;}
04 ul.lista_circulo{list-style-type:cricle;}
www.esab.edu.br 153
Salve arquivo como nome algoritmo46.html e execute-o no navegador
de sua preferência. Note que, nas instruções em que se define a classe de
estilização do elemento HTML, nas linhas 8, 9, 10 e 14, usamos somente o
nome da classe.
www.esab.edu.br 154
Algoritmo 47 – Exemplo de seletor id
01 #topo{
02 background-color:#ccc;
03 padding:1em
04 }
05
06 p#base{
07 background-color:red;
08 font-weight:bold;
09 }
www.esab.edu.br 155
Note que, nas linhas 8 e 9, acrescentamos o termo id seguido do nome
do seletor com a regra css aplicada. O seletor id pode ser aplicado à
maioria dos elementos HTML.
www.esab.edu.br 156
Construindo uma página HTML com
21 listas e seleção
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com caixas de seleção.
Vamos começar criando uma regra css que implementa quatro tipos de
listas não ordenadas, com os formatos: sem marcador, com marcador em
forma de disco (disc), círculo (circle) e quadrado (square). Assim, abra o
editor de texto e escreva o código do Algoritmo 49.
www.esab.edu.br 157
Para melhor compreensão do código foram inseridos alguns comentários,
que são os textos entre /* e */. Os comentários não são interpretados e
apresentados pelo navegador, seu objetivo é facilitar a compreensão em
relação à finalidade daquela instrução.
www.esab.edu.br 158
24 <li> Produto D</li>
25 </ul>
26 Prazos de entrega:
27 <ul>
28 <li> 30 dias</li>
29 <li> 60 dias</li>
30 <li> 90 dias</li>
31 </ul>
32 </body>
33 </html>
Fornecedores: Clientes:
Empresa A Cliente A
Empresa B Cliente B
Empresa C Cliente C
Produtos: Prazos de entrega:
Produto A 30 dias
Produto B 60 dias
Produto C 90 dias
Produto D
Note que todas as listas apresentam o mesmo marcador, disco, já que por
padrão este é o marcador da lista não ordenada.
www.esab.edu.br 159
• para que a primeira lista fique sem marcador, na linha 8, altere o
conteúdo <ul> para <ul class=”none”>, dessa forma a lista usará a
regra chamada ul.none;
• na linha 14, altere o conteúdo <ul> para <ul class=”disc”>, para que
a lista use o marcador em forma de disco;
• altere, na linha 20, o conteúdo <ul> para <ul class=”circle”>;
• por fim, altere, na linha 27, o conteúdo <ul> para <ul
class=”square”>.
www.esab.edu.br 160
Criamos essas regras com o nome do elemento HTML, seguido do
símbolo “#“ mais o nome do identificador.
www.esab.edu.br 161
Salve o arquivo com o nome pagina2-unid21.html e execute-o no
navegador.
www.esab.edu.br 162
Algoritmo 54 – Página HTML com listas não ordenadas com imagem
01 <html>
02 <head >
03 <meta http - equiv =”Content - Type” content =”text/html”
charset=”UTF-8”>
04 <link rel= “stylesheet” type= “text/css” href= “exemplo3-
unid21.css” media= “all”>
05 <title>Exemplo Listas Não Ordenadas - Unidade 21</title >
06 </head>
07 <body>
08 <ul>
09 <li>Primeiro Elemento</li>
10 <li>Segundo Elemento</li>
11 <li>Terceiro Elemento</li>
12 </ul>
13 </body>
14 </html >
Primeiro Elemento
Segundo Elemento
Terceiro Elemento
www.esab.edu.br 163
Como navegar entre as páginas
22 HTML
Objetivo
Apresentar a sintaxe dos comandos de estilização de links seletores:
link, hover, visited e active.
www.esab.edu.br 164
As ações representam uma interação do usuário com o link da página, o
momento em que um evento será realizado. Essas ações podem ser: over,
quando o usuário passa o ponteiro do mouse sobre o link; e ativo, quando
o usuário clica sobre o link.
www.esab.edu.br 165
Para estilizar os links, é utilizada a regra text-decoration, com a seguinte
sintaxe: {text-decoration: valor;}.
Dica
O valor blink não é reconhecido pela maioria dos
navegadores, por isso evite utilizá-lo.
www.esab.edu.br 166
O código a seguir exemplifica o uso da regra text-decoration:none
associado ao link:
Nesse algoritmo foi utilizada uma sintaxe nova. Essa sintaxe associa
o elemento que será tratado e o estado desse elemento. Nesse caso, o
elemento é a âncora e o estado é o link, ou seja, a regra será aplicada
ao elemento âncora, porém, somente quando ele estiver no seu estado
inicial, ou seja, não foi visitado ainda. A sintaxe para definição do
elemento HTML e seu estado é: < elemento html: estado>.
www.esab.edu.br 167
Algoritmo 57 – Regra CSS para sublinhar o link
01 a:hover {
02 text-decoration:underline;
03 }
Note que a regra valerá para todo elemento âncora <a>, porém, somente
no estado de hover, ou seja, quando o usuário posicionar o ponteiro
do mouse sobre o link, uma vez que a sintaxe utilizada foi a:hover
(elemento:estado). Sendo assim, quando o usuário posicionar o ponteiro
do mouse sobre o link, um sublinhado será apresentado.
Observe:
Tipo Sintaxe
Underline { text-decoration:underline;}
Overline { text-decoration:overline;}
Line-through { text-decoration: line-through;}
Blink { text-decoration: blink;}
www.esab.edu.br 168
Um efeito muito interessante que você poderá aplicar é mudar a cor
de fundo do link no momento em que o usuário colocar o ponteiro do
mouse sobre ele. Esse efeito é chamado de rollover (reflexo). E, para criá-
lo, definiremos uma cor de fundo e cor da fonte no estado inicial do
link; tão logo o usuário coloque o ponteiro do mouse sobre o link, vamos
trocar as cores, isto é, o que era cor de fundo será cor de texto, e o que
era cor de texto, será cor de fundo. Vamos ver?
O código que cria a página HTML que utiliza essa regra é apresentado
no exemplo a seguir:
www.esab.edu.br 169
O resultado no carregamento do arquivo pelo navegador é apresentado
na Figura 67, observe:
Site Exemplo 1
Site Exemplo 2
Para diferenciar o link entre uma página interna do site ou para outro site,
você deve usar no endereço do link, propriedade href, o http ou HTTPS.
Isso indica o uso de outro endereço na web. A sintaxe do elemento âncora,
a seguir, aponta para um site externo, veja: <a href=“http://www.esab.
edu.br”> ESAB</a>. Se o link fosse para uma página interna, não seria
necessário colocar o http:// ou https:// antes do endereço, pois ele será
acessado na mesma pasta do computador em que está a página com o link.
Você também pode criar um link para um e-mail. Para isso, deve
usar o elemento HTML âncora que possibilite a criação de um link
acrescentado o termo mailto: no início do valor da propriedade href.
No exemplo a seguir, apresentamos a sintaxe do link para o e-mail
marcelo.marmed@gmail.com: <a href=”mailto:marcelo.marmed@gmail.
com”> E-mail do Autor </a>.
www.esab.edu.br 170
Figura 68 – Link para e-mail.
Fonte: Elaborada pelo autor (2013).
Por fim, vimos as regras CSS que possibilitam a estilização dos links.
Lembramos que é preciso ter o maior cuidado na sua formatação,
uma vez que esse elemento possui regras padronizadas (cores dos links
visitados e não visitados) a fim de garantir a acessibilidade e usabilidade
do site. Na próxima unidade, estudaremos mais um elemento importante
na construção dos sites: a construção de menus estilizados. Até a próxima!
www.esab.edu.br 171
Melhorando as páginas HTML com
23 uso de menus utilizando CSS
Objetivo
Apresentar a sintaxe do comando tableless para criação de menus
drop-down vertical e horizontal.
A base para construção dos menus são os elementos HTML que definem
as listas ordenadas <ol>, não ordenadas <ul> ou de definição <dl>. Na
verdade, qualquer elemento pode ser utilizado para construção dos
menus, porém as listas apresentam uma estrutura mais flexível e fácil de
ser utilizada.
www.esab.edu.br 172
• Possuem quatro elementos para estilização: div, ul, li e a. Isso
possibilita uma variação na formatação dos elementos do menu. A
tag <div> é um recurso utilizado para organizar os dados na página
em blocos ou divisões no documento. Uma div cria um bloco no
documento HTML que pode conter e agrupar outros elementos.
Quando renderizado pelo navegador, essa tag não apresenta nenhum
efeito gráfico diferenciado, apenas agrupa os elementos em áreas
dentro da página, na forma de divisões.
• Possibilitam a construção de menus na horizontal e vertical.
• São facilmente ajustadas para inclusão ou remoção de itens.
www.esab.edu.br 173
Esse código é simples e a regra cria um menu com links para as páginas
que fazem parte do site. O identificador de classe “semmarcador” (linha
9) aplica o estilo list-style-type: none para toda a lista.
Home
Institucional
Produtos
Serviços
Contato
Este é o primeiro passo para criação do menu estilizado, pois agora temos
um menu de opções estruturado. O próximo passo é aplicar técnicas que
darão forma e visual a esse menu. Assim, o menu apresentará, na tela,
cores, efeitos e layout mais atrativos. O documento HTML que cria o
menu de opções não será mais modificado. Criaremos um conjunto de
regras CSS. Cada uma dessas regras serão incorporadas a uma regra de
estilização específica.
www.esab.edu.br 174
div
ul
Home
Institucional
Produtos li
Serviços
Contato
www.esab.edu.br 175
Na sequência, apresentamos o código de formatação do elemento <div>,
que corresponde ao primeiro e segundo passos de estilização do menu:
Home
Institucional
Produtos
Serviços
Contato
www.esab.edu.br 176
Vamos agora estilizar a lista não ordenada <ul>, que é o terceiro passo para
estilização do menu. O código para formatação possui a seguinte estrutura:
A lista será criada com espaço 0 (zero) entre a sua margem e a margem
do elemento <div>. A lista está inserida no elemento DIV, para que as
regras da DIV sejam diferentes das regras da lista <ul>.
Home
Institucional
Produtos
Serviços
Contato
www.esab.edu.br 177
Na próxima regra, formataremos os elementos que compõem a lista,
marcados pela tag <li>. Este é o quarto passo para estilização do menu. O
código a seguir formata os elementos da lista:
Home
Institucional
Produtos
Serviços
Contato
www.esab.edu.br 178
Neste último passo, veremos a regra para estilizar o elemento âncora.
www.esab.edu.br 179
15 list-style: none;
16 padding:3px;
17 background:gray;
18 margin-bottom:2px;
19 font: 12px verdana, arial, sans-serif;
20 }
21 a {
22 display:block;
23 color: white;
24 text-decoration: none;
25 }
26 a:hover {
27 color: black;
28 background-color:white;
29 }
30 .semmarcador{list-style:none;}
www.esab.edu.br 180
09 <ul class=”semmarcador lista”>
10 <li class=”opcoes”><a class=”hover” href=”home.
html”>Home</a></li>
11 <li class=”opcoes”><a class=”hover” href=”empresa.
html”>Institucional</a></li>
12 <li class=”opcoes”><a class=”hover” href=”produtos.
html”>Produtos</a></li>
13 <li class=”opcoes”><a class=”hover” href=”servicos.
html”>Serviços</a></li>
14 <li class=”opcoes”><a class=”hover” href=”contato.
html”>Contato</a></li>
15 </ul>
16 </div>
17 </body>
18 </html >
www.esab.edu.br 181
Como desenvolver menus com
24 imagens utilizando CSS
Objetivo
Apresentar as técnicas para inclusão de imagens nos menus criados
por meio do comando tableless.
www.esab.edu.br 182
06 }
07 ul.lista {/* cria as regras de definição do bloco de itens
do menu*/
08 widht:130px;
09 background: black;
10 padding:6px;
11 border:3px outset white;
12 margin:0;
13 }
14 li.opcoes {/* cria as regras de definição de cada item do
menu*/
15 list-style: none;
16 padding:3px;
17 background:gray;
18 margin-bottom:2px;
19 font: 12px verdana, arial, sans-serif;
20 }
21 a {/* cria as regras de definição do link de cada item do
menu*/
22 display:block;
23 color: white;
24 text-decoration: none;
25 }
26 a:hover {/* cria as regras de efeito para quando o usuário
posicionar o mouse na opção do menu*/
27 color: black;
28 background-color:white;
29 }
30 .semmarcador{list-style:none;}/* remove o marcador da
lista*/
Lembre-se que de, além do arquivo das regras css, precisamos manipular
o arquivo do documento HTML, que deverá incorporar estas regras. No
final da unidade 23, apresentamos o código completo do algoritmo60.
html. Este algoritmo, por sua vez, apresenta o menu para o usuário.
www.esab.edu.br 183
Algoritmo 68 – Página HTML com menu
01 <html>
02 <head >
03 <meta http - equiv =”Content - Type” content =”text/html”
charset=”UTF-8”>
04 <link rel= “stylesheet” type= “text/css” href= “exemplo1-
unid23.css” media= “all”>
05 <title>MENU</title >
06 </head>
07 <body>
08 <div class=”menu”>
09 <ul class=”lista”>
10 <li class=”opcoes”><a href=”home.html”>Home</a></li>
11 <li class=”opcoes”><a href=”empresa.
html”>Institucional</a></li>
12 <li class=”opcoes”><a href=”produtos.html”>Produtos</
a></li>
13 <li class=”opcoes”><a href=”servicos.html”>Serviços</
a></li>
14 <li class=”opcoes”><a href=”contato.html”>Contato</
a></li>
15 </ul>
16 </div>
17 </body>
18 </html >
Até aqui, não criamos nada de novo, apenas revisamos os arquivos que
criam as regras de estilização do menu e o documento HTML que
apresenta esse menu.
www.esab.edu.br 184
Contatos Desabilitado Empresa Home Produtos
Figura 74 – Menu de opções.
Fonte: Elaborada pelo autor (2013).
Home
Institucional
Produtos
Serviços
Contato
www.esab.edu.br 185
Figura 76 – Regra do elemento <li>.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 186
Remova do arquivo “exemplo1-unid23.css” todo o código que cria a
regra “li.opcoes”, pois não precisaremos mais dela. A partir de agora, para
cada item da lista, vamos copiar o código que cria a regra “li.home” e
colá-lo no final do arquivo. Feito isso, mudamos o nome da regra para
“li.opção do menu”. Também mudaremos a instrução background: gray
url(home.jpg) no-repeat, para a imagem associada à opção. O importante
é criarmos uma regra para cada item do menu e modificarmos o arquivo
da imagem desses itens. A regra de cada item será identificada por um
seletor de classe chamado home, institucional, produtos, serviços ou
contatos, A propriedade background será associada à imagem específica
para cada item, e não deverá se repetir no elemento (no-repeat).
Nome do Seletor
Item Imagem Código
de Classe
background: gray url(empresa.jpg) no-
Institucional empresa.jpg Institucional
repeat
background: gray url(produtos.jpg) no-
Produtos produtos.jpg Produtos
repeat
background: gray url(servicos.jpg) no-
Serviços serviços.jpg Serviços
repeat
background: gray url(contatos.jpg) no-
Contatos contatos.jpg Contatos
repeat
www.esab.edu.br 187
Algoritmo 70 – Regra css para formatação de menu
01 div.menu {
02 width:154px;
03 background:gray;
04 padding:5px;
05 border:3px inset blue;
06 }
07 ul.lista {
08 width:130px;
09 background: black;
10 padding:6px;
11 border:3px outset white;
12 margin:0;
13 }
14 a {
15 display:block;
16 color: white;
17 text-decoration: none;
18 }
19 a:hover {
20 color: black;
21 background-color:white;
22 }
23 .semmarcador{list-style:none;}
24 li.home {
25 list-style: none;
26 padding:3px;
27 margin-bottom:2px;
28 font: 12px verdana, arial, sans-serif;
29 background: gray url(home.jpg) no-repeat
30 }
31 li.institucional {
32 list-style: none;
33 padding:3px;
34 margin-bottom:2px;
35 font: 12px verdana, arial, sans-serif;
36 background: gray url(empresa.jpg) no-repeat
37 }
38 li.produtos {
39 list-style: none;
40 padding:3px;
41 margin-bottom:2px;
42 font: 12px verdana, arial, sans-serif;
43 background: gray url(produtos.jpg) no-repeat
44 }
45 li.servicos {
www.esab.edu.br 188
46 list-style: none;
47 padding:3px;
48 margin-bottom:2px;
49 font: 12px verdana, arial, sans-serif;
50 background: gray url(servicos.jpg) no-repeat
51 }
52 li.contatos{
53 list-style: none;
54 padding:3px;
55 margin-bottom:2px;
56 font: 12px verdana, arial, sans-serif;
57 background: gray url(contatos.jpg) no-repeat
58 }
www.esab.edu.br 189
A seguir, apresentaremos o código completo da regra css para construção
do menu com as alterações produzidas. Acompanhe:
www.esab.edu.br 190
43 margin-bottom:2px;
44 font: 12px verdana, arial, sans-serif;
45 background: gray url(produtos.jpg) no-repeat
46 }
47 li.servicos {
48 list-style: none;
49 padding:3px;
50 margin-bottom:2px;
51 font: 12px verdana, arial, sans-serif;
52 background: gray url(servicos.jpg) no-repeat
53 }
54 li.contatos{
55 list-style: none;
56 padding:3px;
57 margin-bottom:2px;
58 font: 12px verdana, arial, sans-serif;
59 background: gray url(contatos.jpg) no-repeat
60 }
Algoritmo 73 – Regra CSS completa do menu com referência aos novos seletores
01 <html>
02 <head >
03 <meta http - equiv =”Content - Type” content =”text/html”
charset=”UTF-8”>
04 <link rel= “stylesheet” type= “text/css” href= “exemplo1-
unid23.css” media= “all”>
05 <title>MENU</title >
06 </head>
07 <body>
08 <div class=”menu”>
www.esab.edu.br 191
09 <ul class=”lista”>
10 <li class=”home”><a href=”home.html”>Home</a></li>
11 <li class=”institucional”><a href=”empresa.
html”>Institucional</a></li>
12 <li class=”produtos”><a href=”produtos.
html”>Produtos</a></li>
13 <li class=”servicos”><a href=”servicos.
html”>Serviços</a></li>
14 <li class=”contatos”><a href=”contato.html”>Contato</
a></li>
15 </ul>
16 </div>
17 </body>
18 </html >
www.esab.edu.br 192
Resumo
Por fim, nas unidades 23 e 24, você pôde construir um menu utilizando
as regras CSS e determinados comandos HTML que envolvem a
estrutura das listas, elementos <ul>,<li>, e <a>, sem a utilização de tabelas
para formatação e apresentação dos dados, técnica chamada de tableless.
www.esab.edu.br 193
Navegando entre páginas HTML
25 com uso de menus e links
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com menus drop-down que, ao serem selecionados, possibilitem a
navegação para outras páginas HTML.
Passos para criação de um menu com estilos em CSS com navegação entre
páginas HTML
www.esab.edu.br 194
Algoritmo 74 – Código de criação da estrutura do menu
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset=UTF-8”>
04 <title>Exemplo MENU</title>
05 </head>
06 <body>
07 <ul>
08 <li><a href=”#” title=”Home”>Home</a></li>
09 <li><a href=”#” title=”Sobre”>Sobre</a></li>
10 <li><a href=”#” title=”Serviços”>Serviços</a>
11 <ul>
12 <li><a href=”#” title=”Suporte”>Suporte</a></li>
13 <li><a href=”#”
title=”Desenvolvimento”>Desenvolvimento</a></li>
14 <li><a href=”#” title=”Manutenção”>Manutenção</a></
li>
15 </ul>
16 </li>
17 <li><a href=”#” title=”Porftolio”>Clientes</a></li>
18 <li><a href=”#” title=”Contato”>Contato</a></li>
19 </ul>
20 </body>
21 </html>
Para organizar os itens do menu, iremos utilizar uma lista não ordenada
para tal tarefa. O objetivo é transformar cada item da lista em um item
do menu. Para tanto, os elementos do menu foram criados a partir de
uma lista não ordenada, como você pode ver no Algoritmo 74, nas
instruções das linhas 7 à linha 18. Cada elemento da lista foi definido
pelo elemento HTML <li> único, com exceção aos itens da opção de
Serviços, que foram criados pelo elemento <ul> dentro de um elemento
<li>. Você perceberá que essa estrutura apresentará o menu com cinco
opções: Home, Sobre, Serviços, Cliente e Contatos. A opção Serviços
terá um menu de subopções, sejam elas: Suporte, Manutenção e
Desenvolvimento.
www.esab.edu.br 195
A Figura 79 apresenta esse layout. Observe:
Home
Sobre
Serviços
Suporte
Desenvolvimento
Manutenção
Clientes
Contato
www.esab.edu.br 196
Algoritmo 76– Regra CSS dos Itens do menu
01 .menu li{position:relative; float:left; border-right:1px
solid #c0c0c0;}
www.esab.edu.br 197
selecionada, apresentará as subopções Suporte, Desenvolvimento e
Manutenção. O código que você deverá utilizar para criar essas regras é
apresentado no algoritmo 78. Acompanhe:
Passo 7 – Neste último passo, você deve fazer a integração da regra css
com o arquivo HTML e aplicar as regras nos elementos do menu. Para
tanto, inclua a referência do arquivo HTML no cabeçalho da página,
fazendo com que o itens do menu tenham o layout conforme mostrado
na Figura 79. Depois de concluir essa tarefa, você pode dar o comando e
executar e testar a página com o menu. No algoritmo 80, apresentamos
o código completo da regra css e, logo em seguida, no algoritmo 81, o
código completo da página HTML. Acompanhe:
www.esab.edu.br 198
Algoritmo 80 – Regra CSS completa
01 body{line-height:1; font-size:62.5%; background:#fff; font-
family:Arial, Helvetica, sans-serif;}
02 .menu{list-style:none; margin:20px 0 0 350px; border:1px
solid #c0c0c0; float:left; }
03 .menu li{position:relative; float:left; border-right:1px
solid #c0c0c0;}
04 .menu li a{font-size:1.3em; color:#333; text-
decoration:none; padding:5px 10px;display:block;}
www.esab.edu.br 199
15 <li><a href=”#” title=”Manutenção”>Manutenção</a></
li>
16 </ul>
17 </li>
18 <li><a href=”#” title=”Porftolio”>Clientes</a></li>
19 <li><a href=”#” title=”Contato”>Contato</a></li>
20 </ul>
21 </body>
22 </html>
www.esab.edu.br 200
Capturando dados do usuário com
26 uso de formulários
Objetivo
Apresentar a sintaxe do comando form para criação de formulários
para páginas em HTML.
www.esab.edu.br 201
Controle Propriedades Representação
Caixa de seleção que permite múltipla seleção
CheckBox
de valores.
Caixa de seleção que permite uma única
RadioButton
seleção de valores.
Apresenta uma lista de valores com a
Menu
possibilidade de seleção de um único valor.
Entrada de Permite o cadastro de textos em uma única
textos linha ou múltiplas linhas.
Apresenta um botão que, quando clicado,
abre uma janela para seleção de arquivos nos
Seleção de
diretórios do computador. O nome do arquivo
arquivos
selecionado é apresentado em uma entrada
de texto.
www.esab.edu.br 202
Algoritmo 82 – Página HTML com formulário
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset=UTF-8”>
04 <title>Exemplo</title>
05 </head>
06 <body>
07 <h1>Exemplo</h1>
08 <form>
09 <p>Formulário de Cadastro</p>
10 </form>
11 </body>
12 </html>
www.esab.edu.br 203
Type Função do Elemento
Text Criar uma caixa de entrada de texto com uma única linha.
Criar uma caixa de entrada de texto com uma única linha. Quando é
Password digitada qualquer tecla, o valor será apresentado como asterisco (*). Apesar
disso, o valor informado na caixa continua sendo o valor digitado.
Checkbox Criar uma seleção de múltiplos valores.
Radio Criar uma seleção de um único valor.
File Criar uma seleção de arquivo, com botão e caixa de entrada de texto.
Criar um elemento que existe no formulário, mas não pode ser visualizado
Hidden
pelo usuário.
Criar o botão de ENVIAR para o formulário. Envia os dados do formulário
Submit
para o programa que irá processá-lo.
Reset Criar um botão de LIMPAR o formulário, limpando todos os campos.
Button Criar um botão que será associado a algum evento.
Image Criar um botão com uma imagem.
www.esab.edu.br 204
No formulário, utilizamos:
www.esab.edu.br 205
Em algumas instruções, foram acrescentadas a tag </br>, que significa
“pular linha”. Essa tag faz com que o item do formulário seja apresentado
na próxima linha, fazendo com que os dados do formulário sejam
apresentados um acima do outro. Analisando os intervalos entre as linhas
8 a 10 e 13 a 21, podemos notar que no final de cada elemento HTML foi
inserida a tag <br>. A propriedade name servirá para que, no momento do
processamento, seja possível identificar o valor de cada campo.
Como, na maioria das vezes, o botão deve ter um título mais específico
e, claro, você deve adotar como uma boa prática o uso do controle
Button para criação de botões. A sintaxe HTML para criação de botões
é:<Button type=”tipo”></Button>. Os tipos de botões podem ser:
submit (enviar), reset (limpar) e Button (associar-se), mantendo, então,
as mesmas funcionalidades do botão do input. O Quadro 19 apresenta
as instruções para a criação de botões, usando o controle input e button.
Acompanhe e perceba as diferenças do código utilizado no Algoritmo 83,
nas linhas 20 e 21, e como estes ficariam usando a tag Button.
www.esab.edu.br 206
Usando o controle Input
<input type=”reset” name=”btlimpar”></input></br>
<input type=”submit” name=”btenviar”></input></br>
Usando o controle Button
<button type=”reset” name=”btlimpar”>LIMPAR</button></br>
<button type=”submit” name=”btenviar”>ENVIAR</button></br>
www.esab.edu.br 207
Algoritmo 84 – Página HTML com menu select
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset=UTF-8”>
04 <title>Exemplo</title>
05 </head>
06 <body>
07 <form>
08 <select>
09 <option> Brasil </option>
10 <option> Argentina </option>
11 <option SELECTED > Alemanha </option>
12 <option> Austrália </option>
13 <option> Itália</option>
14 </select>
15 </form>
16 </body>
17 </html>
www.esab.edu.br 208
O código do Algoritmo 85 representa a criação do menu do tipo
optgroup. Observe:
www.esab.edu.br 209
Existem dois controles que são muito utilizados nos formulários: o
componente label, que apresenta rótulos, textos, na página HTML. Os
controles que já possuem a propriedade label, como o optgroup, não
necessitam desse elemento. O outro controle é o textarea, que cria um
campo de entrada de dados com múltiplas linhas.
Label Label
TextArea
www.esab.edu.br 210
Note que, na linha 8, é criado o label com rótulo com o valor
“Sugestão”. O elemento TextArea, quando criado, necessita que sejam
especificados os números de linhas (rows) e colunas (cols) suportados
pelo componente. Por exemplo, na linha 9 do Algoritmo 86 podemos
observar que foram definidas 10 linhas (rows=”10”) e 50 colunas
(cols=”50”) para o elemento. Ou seja, essa caixa comporta até 500
caracteres (10 X 50).
Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.
www.esab.edu.br 211
Como controlar o acesso aos dados
27 dos formulários
Objetivo
Apresentar como as propriedades disabled e readonly podem ser
aplicadas em formulários HTML.
Propriedade Disabled
Você pode utilizar a propriedade disabled para desabilitar algumas ações
que podem ser realizadas pelo usuário na interação com um formulário.
Essa propriedade pode ser inserida no comando de criação de um
elemento HTML do formulário, permitindo que este seja, ou não,
selecionado pelo usuário. A seguir, destacamos algumas dessas ações.
Acompanhe.
www.esab.edu.br 212
3. Controle com atributo disabled é ignorado pelo formulário, seu
dado não é transmitido para o programa que fará o processamento.
Ou seja, o componente aparece na tela, mas seu valor não é
transmitido pelo formulário para o programa que deverá processar os
dados recebidos. Assim, é como se o componente não existisse para
o formulário.
www.esab.edu.br 213
A Figura 83 apresenta o resultado do formulário carregado nos
navegadores Firefox e Google Chrome:
Propriedade Readonly
O atributo readonly faz com que o controle permita a leitura dos dados,
mas não permita a edição, e é muito semelhante ao atributo disabled, as
diferenças estão na ação do atributo readonly, que:
www.esab.edu.br 214
Figura 84 – Formulário de cadastro de veículo.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 215
Note que o valor do campo é visualizado, mas não pode ser editado, pois
o campo está desabilitado. Podemos pensar como outra regra do sistema
que o nome do proprietário também não possa ser alterado. Então, esse
campo também poderia ser desabilitado, garantindo que os dados da
placa e do proprietário não seriam alterados.
Para que esses componentes não possam ser editados, basta acrescentar ao
comando HTML de criação a cláusula readonly = “readonly”. O código a
seguir cria um controle input desabilitado por meio do atributo readonly.
www.esab.edu.br 216
Dica
Você pode adotar como prática indicar qual a
ordem de vista dos campos, quando o usuário
pressionar a tecla tab.
Observe que o campo placa não pode ser editado, por isso está na cor
cinza. Isto porque este campo é o identificador do veículo e não pode
ser modificado.
www.esab.edu.br 217
controle com menor valor para o controle de valor subsequente mais
próximo. O código do Algoritmo 89 define o tabindex do controle que
cria a placa do automóvel (do nosso exemplo) com valor 1, o controle
de cadastro da marca do carro, com tabindex 3 e, por fim, o controle de
cadastro do modelo do carro, com tabindex valendo 2. Veja o código:
www.esab.edu.br 218
Nesta unidade, conhecemos dois importantes atributos: disabled e
readonly. Ambos fundamentais para a formatação do formulário, que,
em conjunto com o atributo tabindex, possibilitam a construção de
interfaces gráficas que facilitam o uso do sistema e a integração com
o usuário. Temos uma preocupação constante com a construção de
projetos, visando à valorização da usabilidade do site.
Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidades 19 a 27. Para isso, dirija-
se ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!
www.esab.edu.br 219
Criando um formulário de contato
28 usando CSS e HTML
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com um formulário para cadastro de dados.
www.esab.edu.br 220
Na linha 2, o elemento <meta> é fundamental para que os valores e
mensagens com acento sejam apresentados corretamente na página, por
isso a presença do atributo charset=”UTF-8”. O título da página será
“FALE CONOSCO” (linha 4), pois a intenção é criar um formulário de
contato com o cliente. O formulário está sendo marcado nas linhas 8 e 9,
com as tags <form> e </form> respectivamente.
www.esab.edu.br 221
Figura 87 – Uso de legend e fieldset.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 222
19 <option>Joinville</option>
20 <option>Blumenau</option>
21 </select>
22 </fieldset>
23 </form>
24 </body>
25 </html>
Passo 4 – Agora, criaremos uma caixa de texto com uma linha para o
usuário informar o motivo do assunto, e uma caixa de texto para cadastro
da descrição do motivo do contato. Veja o código a seguir:
www.esab.edu.br 223
Para que o código não ficasse tão extenso, as instruções que já foram
codificadas nos exemplos anteriores foram trocadas por três pontos (...),
isso significa que você não precisa mudá-las nessas linhas. Você apenas
tem que acrescentar as novas instruções, da linha 11 à 17 desse novo
código, antes da tag que fecha o formulário </form>. Essas instruções
estão criando o elemento de apresentação de texto (label) e as caixas
de entrada de dados. Os labels ou rótulos têm por objetivo informar
ao usuário qual a finalidade de um campo. Um formulário sem labels
dificilmente será utilizado pelo usuário, pois a sua usabilidade estará
afetada. Na linha 12, definimos o título do agrupamento por meio
do elemento Legend, neste caso, “Motivo do Contato”. Cada campo
de edição, elementos “input” e “textarea” são associados a um label
com um título que possa indicar ao usuário os dados que devem ser
informados, por exemplo, “Assunto” e “Motivo”. Para maior organização
dos elementos (label, input, textarea), eles foram agrupados no Fieldset
definido nas linhas 11 até 16.
www.esab.edu.br 224
O código que cria esses campos é apresentado no Algoritmo 94:
www.esab.edu.br 225
10 <button name=”btlimpar” type=”reset”>Limpar
Formulário</button>
11 </form>
12 </body>
13 </html>>
Com esses seis passos, criamos o formulário. Quando ele for executado
no editor, a apresentação no navegador terá o seguinte layout:
www.esab.edu.br 226
29 Como estilizar os formulários
Objetivo
Apresentar técnicas que permitam criar formulários mais atrativos
com o uso de CSS.
www.esab.edu.br 227
Apresentamos, no algoritmo 96, o código que cria esse formulário.
www.esab.edu.br 228
40 <input type=”text” name=”eddddcelular” size=”03”></
input>
41 <label>Celular:</Label>
42 <input type=”text” name=”edcelular” size=”10”></
input></br>
43 <label>DDD:</Label>
44 <input type=”text” name=”eddddresidencial”
size=”03”></input>
45 <label>Residencial:</Label>
46 <input type=”text” name=”edresidecial” size=”10”></
input></br>
47 </fieldset>
48 <fieldset>
49 <button name=”btenviar” type=”submit”>Enviar</button>
50 <button name=”btlimpar” type=”reset”>Limpar</button>
51 </fieldset>
52 </form>
53 </body>
54 </html>
www.esab.edu.br 229
No algoritmo 97, a fonte está sendo estilizada em um tamanho 1.3 em.
Esse tamanho representa uma variável de 30% do tamanho do corpo do
documento em que o formulário será inserido. Se o tamanho da fonte
do corpo da página for 10 pixels, por exemplo, o formulário terá um
tamanho de 13 pixels (10 x 1.3 = 13).
www.esab.edu.br 230
O resultado do carregamento dessa regra pelo navegador você pode ver
na figura a seguir.
www.esab.edu.br 231
Figura 93 – Formulário de cadastro de cliente: formatação da legenda.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 232
Algoritmo 101 – Página HTML estilizada pelas regras CSS
01 <html>
02 <head>
03 <link rel=”stylesheet” type=”text/css” href=”regrasForm.
css” media=”all”>
04 </head>
05 <body>
06 <form class=”regra_formulario”>
07 <fieldset class=”regra_fieldset”>
08 <legend class=”regra_legend”>Cadastro de Alunos</
legend>
09 ...
10 </fieldset>
11 <fieldset class=”regra_fieldset”>
12 <legend class=”regra_legend”>Endereço</legend>
13 ...
14 </fieldset>
15 <fieldset class=”regra_fieldset”>
16 <legend class=”regra_legend”>Telefones</legend>
17 ...
18 </fieldset>
19 <fieldset class=”regra_fieldset”>
20 ...
21 </fieldset>
22 </form>
23 </body>
24 </html>
www.esab.edu.br 233
Criando um formulário de cadastro
30 de cliente usando HTML e CSS
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com um formulário para cadastro dos dados.
www.esab.edu.br 234
Passo 1 – Em primeiro lugar, construiremos a estrutura da página que
conterá o formulário. Abra o editor de texto e edite o seguinte código:
www.esab.edu.br 235
42 </div>
43 </body>
44 </html>
Na linha 35, foi criado um label com o título “Seu Time” e está faltando
o controle composto pela lista de times que o usuário poderá selecionar.
No próximo passo, será construído um controle <select> composto pelos
itens com nomes de times.
www.esab.edu.br 236
14 <label>Seu Time:</label>
15 <select name=”selecttime”>
16 <option>Atlético Mineiro</option>
17 <option>Atlético Paranaense</option>
18 <option>Bahia</option>
19 <option>Botafogo</option>
20 <option>Corinthians</option>
21 <option>Coritiba</option>
22 <option>Criciúma</option>
23 <option>Cruzeiro</option>
24 <option>Flamengo</option>
25 <option>Fluminense</option>
26 <option>Goiás</option>
27 <option>Grêmio</option>
28 <option>Internacional</option>
29 <option>Náutico</option>
30 <option>Ponte Preta</option>
31 <option>Portuguesa</option>
32 <option>Santos</option>
33 <option>São Paulo</option>
34 <option>Vasco da Gama</option>
35 <option>Vitória</option>
36 <option>Outro</option>
37 </select>
38 </li>
39 ....
40 </ol>
41 ...
42 </fieldset>
43 </form>
44 </div>
45 </body>
46 </html>.
www.esab.edu.br 237
Algoritmo 104 – Regras CSS para elementos da página HTML
01 .form {width: 20em; font-size: 1.6em;}
02 .form_fieldset {background:#LightYellow; border: 1px solid
PaleGoldenrod; padding: 0 0.5em;}
03 .form_legend {background: LightYellow; padding: 0 0.5em;
border: 1px solid blue;}
04 .form_fieldset_ol {list-style: none; margin: 0; padding: 0;}
07 .form_input { color:green;}
www.esab.edu.br 238
Passo 5 – Neste último passo, a finalidade é fazermos a associação de
todas as regras criadas com os respectivos elementos da página HTML.
O elemento formulário <form> será associado à regra “form”, e assim
por diante. Para os demais elementos da página, (como demonstrado no
Quadro 20) será feita essa relação do elemento e de como ficará o código
que associa a regra. Para cada elemento, após o nome do elemento, inclua a
cláusula “class” seguida do nome da classe. Por exemplo, tínhamos na linha
11 (do algoritmo 100) a instrução <fieldset>. Porém, com a inclusão da
regra CSS de classe associada, esta ficará <fieldset class =”form_fieldset”>.
Essa alteração deve ser feita para todos os elementos <fieldset>.
www.esab.edu.br 239
Algoritmo 105 – Código da página HTML
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset=UTF-8”>
04 <link rel=”stylesheet” type=”text/css”
href=”regrasExemplo.css” media=”all”>
05 <title>Cadastro</title>
06 </head>
07 <body>
08 <div>
09 <h1>Formulário Exemplo</h1>
10 <hr/>
11 <form class=”form” action=””>
12 <fieldset class =”form_fieldset”>
13 <legend class=”form_legend”>Pesquisa Times de
Futebol</legend>
14 <ol class=”form_fieldset_ol” >
15 <li class=”form_ol_li”>
16 <label class=”form_label”>Nome:</label>
17 <input class=”form_input” type=”text” name=”ednome”
size=”25”/>
18 </li>
19 <li class=”form_ol_li”>
20 <label class=”form_label”>Sobrenome:</label>
21 <input class=”form_input” type=”text”
name=”edsobrenome” size=”30”/>
22 </li>
23 <li class=”form_ol_li”>
24 <label class=”form_label”>E-mail:</label>
25 <input class=”form_input” type=”text” name=”edemail”
size=”40”/>
26 </li>
27 <li class=”form_ol_li”>
28 <label class=”form_label”>Cidade:</label>
29 <input class=”form_input” type=”text” name=”edcidade”
size=”30”/>
30 </li>
31 <li class=”form_ol_li”>
32 <label class=”form_label”>UF:</label>
33 <input class=”form_input” type=”text” name=”eduf”
size=”02”/>
34 </li>
35 <li class=”form_ol_li”>
36 <label class=”form_label”>Seu Time:</label>
37 <select name=”selecttime”>
38 <option>Atlético Mineiro</option>
39 <option>Atlético Paranaense</option>
www.esab.edu.br 240
40 <option>Bahia</option>
41 <option>Botafogo</option>
42 <option>Corinthians</option>
43 <option>Coritiba</option>
44 <option>Criciúma</option>
45 <option>Cruzeiro</option>
46 <option>Flamengo</option>
47 <option>Fluminense</option>
48 <option>Goiás</option>
49 <option>Grêmio</option>
50 <option>Internacional</option>
51 <option>Náutico</option>
52 <option>Ponte Preta</option>
53 <option>Portuguesa</option>
54 <option>Santos</option>
55 <option>São Paulo</option>
56 <option>Vasco da Gama</option>
57 <option>Vitória</option>
58 </select>
59 </li>
60 </ol>
61 <button type=”submit” name=”enviar”>Gravar</button>
62 <button type=”reset” name=”limpar”>Cancelar</button>
63 </fieldset>
64 </form>
65 </div>
66 </body>
67 </html>
www.esab.edu.br 241
Resumo
Nas últimas unidades, você pôde desenvolver um menu com estilo, o que
garante um layout mais interessante para o usuário que visita o site.
www.esab.edu.br 242
Como tabelar os dados
31 apresentados nas páginas HTML
Objetivo
Apresentar a sintaxe do comando table para criação de tabelas nas
páginas em HTML.
Vejamos agora a Figura 95, que apresenta o layout de uma tabela criada
em HTML, com duas linhas e duas colunas, sendo a primeira linha
formada pelos títulos das colunas.
www.esab.edu.br 243
As tabelas foram criadas para dados tabulares, mas, por serem elementos
de fácil utilização para organizar a estrutura de uma página, foram, e
ainda são, muito utilizadas para a construção do layout do site. Silva
(2008, p. 235) destaca que “[...] o elemento table foi introduzido como
o HTML 2.0 em 1994 com a finalidade de apresentar dados tabulares
[...]”. O elemento table é a tag HTML para marcação de tabelas.
Entretanto, essa técnica não é recomendada pela W3C como uma boa
prática, tanto que resultou no conceito de Tableless, sem tabela em
inglês. Diferentemente do que você possa pensar, isso não significa que as
tabelas devem ser banidas de documentos HTML, mas sim que devem
ser usadas dentro de uma proposta de criação de dados tabulares.
Para Silva (2008, p. 235), “[...] o conceito tableless ganhou força na
comunidade brasileira de desenvolvedores e foi interpretado literal e
distorcidamente como se tabelas fossem proibidas. Para o autor, elas “[...]
são legais e devem ser usadas para os fins a que se destinam”. E destaca
www.esab.edu.br 244
ainda que: destaca ainda: “[...] tabelas são por excelência o identificador
e o grande diferencial entre a marcação HTML ultrapassada e a moderna
marcação de websites” (SILVA, 2008, p. 235).
[...] devem apenas ser usadas para apresentar dados dispostos e organizados em
forma tabular. Esse recurso não deve ter outra utilidade. Muitas pessoas, ao longo dos
últimos anos, usaram tabelas inclusive para organizar layout de um documento. [...]
segundo a recomendação do consórcio W3C, devem ser usadas apenas para dispor e
apresentar dados e nada mais.
Por tudo isso, as tabelas são consideradas as vilãs dos sites, fato disseminado
principalmente pela interpretação errônea do termo tableless.
Como o termo transmite uma ideia de que as tabelas devem ser banidas,
melhor é usá-lo no sentido de que as tabelas devem ser utilizadas para
apresentação de conteúdo, assim como todo elemento HTML, e a
organização e estilização são incumbências do CSS.
Estudo complementar
Aprofunde seus conhecimentos com mais
informações contidas no artigo “Web Stantards vs.
Tableless”, de Diego Elis, disponível aqui.
www.esab.edu.br 245
No código HTML a seguir, está sendo delimitada a área de uma tabela:
Note que nas linhas 6 e 8 as tags que demarcam a área da tabela estão
sendo definidas no documento HTML, porém, as linhas e colunas da
tabela não foram definidas. Portanto, podemos entender que há uma
definição da área da tabela no documento HTML, mas sua estrutura
não possui especificação de quantas linhas e colunas existirão na tabela.
Todavia, a estrutura de uma tabela vai além de linhas e colunas, podendo
conter um título (atributo caption), responsável por fornecer uma breve
descrição da finalidade da tabela, que é renderizada pelo navegador
(visível na página), por exemplo.
A descrição da tabela pode ser mais detalhada. Para isso, você pode usar
o atributo summary (sumário), que não resulta em texto apresentado na
página, mas que pode ser acessado pelo usuário por tecnologias assistivas.
www.esab.edu.br 246
Saiba mais
De acordo com o Comitê de Ajudas Técnicas
(CAT), instituído no âmbito da Secretaria dos
Direitos Humanos (SDH), da Presidência da
República, adota-se como conceito de Tecnologia
Assistiva (ajudas técnicas ou produtos de apoio):
produtos, recursos, metodologias, estratégias,
práticas e serviços que objetivam promover
a funcionalidade, relacionada à atividade e
à participação, de pessoas com deficiência,
incapacidades ou mobilidade reduzida, visando à
sua autonomia, independência, qualidade de vida
e inclusão social. Conheça mais sobre esse comitê
acessando o site clicando aqui.
www.esab.edu.br 247
Fórum
Caro estudante, dirija-se ao Ambiente Virtual de
Aprendizagem da Instituição e participe do nosso
Fórum de discussão. Lá você poderá interagir com
seus colegas e com seu tutor de forma a ampliar,
por meio da interação, a construção do seu
conhecimento. Vamos lá?
www.esab.edu.br 248
32 Propriedades de uma tabela
Objetivo
Apresentar a sintaxe dos comandos TR e TD para criação de linhas e
colunas nas tabelas das páginas em HTML.
www.esab.edu.br 249
08 <td> Linha 1 Coluna 1 (célula)</td>
09 <td> Linha 1 Coluna 2 (célula)</td>
10 <td> Linha 1 Coluna 3 (célula)</td>
11 </tr>
12 <tr>><!--Linha 2 !-->
13 <td> Linha 2 Coluna 1 (célula)</td>
14 <td> Linha 2 Coluna 2 (célula)</td>
15 <td> Linha 2 Coluna 3 (célula)</td>
16 </tr>
17 </table>
18 </body>
19 </html>
www.esab.edu.br 250
Note que a tabela possui colunas e linhas, porém, não há uma
identificação do que são os dados apresentados nas células. Para resolver
esse problema, podemos utilizar as tags <th> e </th>, que determinam os
títulos das colunas, apresentando-os em negrito e centralizados. As tags
<TH> e </TH>, abreviação de Table Header, têm a mesma função das
tags TD, mas nas tags <TH> e </TH> o texto é exibido em centralizado
e em negrito.
www.esab.edu.br 251
A figura a seguir apresenta o resultado do novo layout da tabela.
www.esab.edu.br 252
Ao ser carregada pelo navegador, a tabela terá o seguinte layout (mostrado
na Figura 99):
Podemos melhorar a estrutura das tabelas, agrupando suas linhas. Essa ação
é muito útil quando as tabelas são muitas extensas, com muitos dados ou
ocupam mais de uma página do site. Quando as tabelas apresentam essas
características – ou seja, são grandes, com muita informação ou ocupam
mais de uma página –, o agrupamento das linhas faz com que os títulos
das colunas se repitam em todas as páginas, garantindo uma visualização
dos dados com qualidade. A estrutura da tabela pode ser dividida em
cabeçalho, corpo e rodapé. Essa técnica é muito utilizada para apresentação
da tabela em dispositivos móveis, como smartphones e tablets, já que o
título e o rodapé da página se mantêm fixos, e apenas o corpo da página se
movimenta durante a interação com o usuário.
www.esab.edu.br 253
Para tanto, você deve utilizar as tags: <thead> (cabeçalho da tabela),
<tfoot> (rodapé da tabela) e <tbody> (todo o conteúdo da tabela). Essas
tags criam grupos de linhas que servem para agrupar partes da tabela que
tenham a mesma finalidade. Essas tags são opcionais, mas possibilitam o
desenvolvimento de documentos HTML mais atrativos.
www.esab.edu.br 254
13 </tr>
14 </thead>
15 <tfoot>
16 <tr><!-- Agrupamento dos Elementos do Rodapé !-->
17 <td>Itens - A</td>
18 <td>Itens - B</td>
19 <td>Itens - C</td>
20 </tr>
21 </tfoot>
22 <tbody> <!-- Agrupamento dos Elementos do Corpo da
tabela !-->
23 <tr> <!--Linha 1 !-->
24 <td> Linha 1 Coluna 1 (célula)</td>
25 <td> Linha 1 Coluna 2 (célula)</td>
26 <td> Linha 1 Coluna 3 (célula)</td>
27 </tr>
28 <tr> <!--Linha 2 !-->
29 <td> Linha 2 Coluna 1 (célula)</td>
30 <td> Linha 2 Coluna 2 (célula)</td>
31 <td> Linha 2 Coluna 3 (célula)</td>
32 </tr>
33 <tbody>
34 </table>
35 </body>
36 </html>
www.esab.edu.br 255
• Tabelas simples e pequenas (com um nível de cabeçalhos) podem ser
marcadas somente com o elemento th.
• Tabelas muito extensas devem ser marcadas com elementos thead,
tfoot e tbody.
www.esab.edu.br 256
33 Estilizando uma tabela
Objetivo
Apresentar técnicas que permitam criar tabelas mais atrativas com o
uso de CSS.
Na unidade anterior, você viu que o comando Table define apenas a área
da tabela no documento HTML. Viu ainda que para a definição da sua
estrutura há um conjunto de comandos que visam a formatar a tabela
e garantir uma melhor usabilidade do sistema. As tags que permitem
a formatação da tabela são: <tr>, <td>, <th>, <caption>, <summary>,
<thead>, <tbody>, <tfoot>. A propriedade border facilita a visualização
da tabela. Por fim, estudou que esses comandos formatam o conteúdo,
sem nenhuma estilização.
www.esab.edu.br 257
O código-fonte em HTML que cria a tabela é apresentado a seguir:
www.esab.edu.br 258
Vamos criar algumas regras CSS que depois serão carregadas pela tabela.
A regra a seguir servirá para estilizar as bordas da tabela.
www.esab.edu.br 259
da fonte desse elemento. A cor da fonte será blue (azul), com tipo de
fonte Arial ou Times ou Sans Serif.
A próxima regra tem como finalidade criar uma tabela com cores
alternadas, conforme ilustra a Figura 101.
Para isso, criaremos duas regras CSS de classe, com cores diferentes, que
serão utilizadas alternadamente para cada linha da tabela.
www.esab.edu.br 260
Algoritmo 114 – Regra de estilização da cor de fundo das linhas
01 .cor1{
02 background:green;
03 }
04 .cor2{
05 background:blue;
06 }
www.esab.edu.br 261
O código completo de estilização da tabela de veículos é apresentado a
seguir.
www.esab.edu.br 262
Figura 102 – Tabela de veículos.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 263
29 <td>R$ 12.000,00 </td>
30 </tr>
31 <tr class=”cor1”>
32 <td>BBA-1122</td>
33 <td>CLIO</td>
34 <td>Renault</td>
35 <td>R$ 28.000,00 </td>
36 </tr>
37 </tbody>
38 </table>
39 </body>
40 </html>
www.esab.edu.br 264
Criando uma tabela com horário
34 das aulas
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com uma tabela contendo os dias da semana e as aulas que são
ministradas nestes horários.
www.esab.edu.br 265
11 <th> Segunda-Feira</th>
12 <th> Terça-Feira </th>
13 <th> Quarta-Feira </th>
14 <th> Quinta-Feira </th>
15 <th> Sexta-Feira </th>
16 <th> Sábado </th>
17 </tr>
18 </thead>
19 </tfoot>
20 <tbody> <!-- Agrupamento dos Elementos do Corpo da tabela
!-->
21 <tr>
22 <td>Matutino</td>
23 <td>Java</td>
24 <td>Java</td>
25 <td>Banco de Dados</td>
26 <td>Estrutura de Dados</td>
27 <td>UML</td>
28 <td>Livre</td>
29 </tr>
30 <tr>
31 <td>Vespertino</td>
32 <td>Java</td>
33 <td>Java</td>
34 <td>TCC</td>
35 <td>TCC</td>
36 <td>Compiladores</td>
37 <td>Livre</td>
38 </tr>
39 <tr>
40 <td>Noturno</td>
41 <td>Cálculo A</td>
42 <td>Sistemas Operacionais</td>
43 <td>Livre</td>
44 <td>Livre</td>
45 <td>POO</td>
46 <td>Livre</td>
47 </tr>
48 <tbody>
49 </table>
50 </body>
51 </html>
www.esab.edu.br 266
Começaremos a criar as regras CSS. Salve as regras no arquivo com o
nome algoritmo115.css. A cada atualização da regra, regrave o arquivo.
www.esab.edu.br 267
Algoritmo 121 – Formatação do título e do corpo da tabela
1 thead th {
2 background:gray;
3 font-weight:700;
4 padding-top:3px;
5 }
6 tbody th, tbody td {
7 text-align:left;
8 vertical-align:top;
9 }
Passo 5 – Criaremos, agora, a regra CSS para a formatação das cores dos
textos da tabela. Na regra, quando o usuário posicionar o ponteiro do
mouse sobre o elemento da tabela, a linha toda mudará de cor. O código
tem a seguinte estrutura:
Após a finalização dos seis passos, a regra CSS completa ficou assim:
www.esab.edu.br 268
Algoritmo 124 – Regra CSS completa
01 table {
02 background: gray;
03 border:1px solid;
04 }
05 caption {
06 color: blue;
07 font:700 18px Georgia, “Times New Roman”, Times, serif;
08 padding:6px 4px 8px 0px;
09 text-transform:uppercase;
10 }
11 thead th {
12 background: gray;
13 font-weight:700;
14 padding-top:3px;
15 }
16 tbody th, tbody td {
17 text-align:left;
18 vertical-align:top;
19 }
20 table, thead th, tfoot th, tbody tr:hover, td, th {
21 border-color:blue;
22 }
23
24 thead th, tfoot th, tbody tr:hover {
25 color: red;
26 }
27 td, th {
28 border:1px dotted;
29 padding:5px;
30 }
www.esab.edu.br 269
Figura 103 – Tabela estilizada.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 270
Introdução ao layout de páginas
35 HTML com CSS
Objetivo
Apresentar a estrutura do layout de um documento HTML com uso
de CSS: bordas, margens, espaçamento interno, dimensionamento
de objetos, posicionamento, elementos flutuantes e exibição de
elementos.
www.esab.edu.br 271
Título
Conteúdo Menu
Rodapé
www.esab.edu.br 272
Tela 800x600 Tela 1024x768
Figura 105 – Layout da página web – fixo.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 273
No layout elástico, com medidas na unidade “em”, a largura da
página é ajustada com base no tamanho da fonte (tamanho de letra)
do navegador, ao invés do tamanho da janela do browser. Utilizamos
esse layout normalmente para a criação de páginas com a finalidade de
garantir a acessibilidade a usuários com necessidades especiais, já que os
comprimentos das linhas de textos não serão alterados se a resolução da
tela mudar, como ocorreria no layout líquido. A Figura 107 exemplifica
dois layouts elásticos, que são redimensionados de acordo com as
dimensões dos textos.
FONTE FONTE
www.esab.edu.br 274
35% 70% 35%
Título
Conteúdo Menu
Rodapé
Margem
de recuo
Figura 109 – Layout da página web – centralizado por margens negativas.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 275
A regra CSS que centraliza com margens negativas é apresentada a seguir:
Estudo complementar
Nesta página, você pode, por meio do artigo que
é apresentado, construir um layout CSS de duas
colunas, passo a passo. É outra técnica muito
utilizada para definição de layout de páginas
HTML.
Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.
www.esab.edu.br 276
Definição de bordas do documento
36 HTML
Objetivo
Apresentar a sintaxe em CSS para definição da propriedade border em
documentos HTML.
www.esab.edu.br 277
Algoritmo 126 – Definição da borda da página
01 body {
02 border:1px solid Lavender;
03 border-bottom:1px solid DimGray;
04 border-right:1px solid DimGray;
05 padding-bottom:5px;
06 padding-right:5px;
07 }
www.esab.edu.br 278
Algoritmo 128 – Definição da borda tracejada
01 h1{
02 border:2px dashed blue;
03 padding:5px;
04 }
Outro estilo de borda que você pode utilizar é o duplo, que cria duas
linhas de borda. A regra a seguir apresenta o exemplo de criação de uma
borda dupla para o elemento parágrafo <p>.
www.esab.edu.br 279
A regra que cria essas quatro formas de moldura é apresentada a seguir.
Se for atribuído o valor hidden (escondido) para uma borda, ela será
removida.
www.esab.edu.br 280
A Figura 111 apresenta o resultado da regra quando renderizada pelo
navegador.
Com o uso de CSS, você pode criar também bordas arredondadas para os
documentos HTML, como demonstra a Figura 112, a seguir:
www.esab.edu.br 281
Nesta unidade, estudamos as técnicas de utilização da borda, que
possibilitam criar um layout mais elegante para os documentos HTML. Na
próxima unidade, daremos sequência ao estudo das técnicas de definição
do layout do documento HTML com o uso da propriedade margin.
Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidades 28 a 36. Para isso, dirija-
se ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!
www.esab.edu.br 282
Resumo
www.esab.edu.br 283
Definição de margens do
37 documento HTML
Objetivo
Apresentar a sintaxe em CSS para definição da propriedade margin
em documentos HTML.
www.esab.edu.br 284
A figura a seguir apresenta o Box Model criado em CSS.
Top
Margin
Border
Padding
Conteúdos...
height
Left Right
width
Bottom
Figura 113 – Box Model CSS.
Fonte: Silva (2008).
www.esab.edu.br 285
Algoritmo 133 – Página com título e parágrafo
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset=ISO-8859-1”>
04 <title>Box Model</title>
05 </head>
06 <body>
07 <h1>Título</h1>
08 <p> Texto de apresentação no parágrafo.<br>
09 Exemplo prático de representação do Box Model no
Documento.<br>
10 Página com dois elementos, título e parágrafo.<br>
11 </p>
12 </body>
13 </html>
Título
Espaço entre elementos
Texto de apresentação no parágrafo
Exemplo prático de representação do
Box Model no documento.
Página com dois elementos, títulos e parágrafos.
Esquerda
Figura 114 − Espaçamento padrão.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 286
Saiba que os valores expressos em percentagem são relativos a outro valor
anteriormente declarado. Esse valor anterior é obtido pela definição do
elemento pai do componente. Por exemplo, se você criar um elemento
parágrafo <p> dentro de um elemento <div>, o elemento pai é a div, e o
tamanho da borda em percentual corresponderá a um valor proporcional
em relação a esse elemento pai. Ou seja, se o tamanho da margem do
elemento pai, a div, é 10 pixels, a margem com tamanho 80% para o
elemento filho, parágrafo <p>, será 8 pixels (80% de 10 pixels).
www.esab.edu.br 287
Título Boxmodel
www.esab.edu.br 288
Há uma forma abreviada para uso da propriedade margin, na qual o
programador informa os valores para cada uma delas, na ordem superior,
direita, inferior e esquerda. O código a seguir exemplifica o uso da forma
abreviada. Acompanhe.
www.esab.edu.br 289
Definição do espaço interno da
38 página HTML e do tamanho dos
elementos
Objetivo
Apresentar a sintaxe em CSS para definição das propriedades
padding, width e height.
www.esab.edu.br 290
Extremidade Representação em CSS Função
Topo padding-top Define o espaçamento superior.
Direita padding-right Define o espaçamento da direita.
Inferior padding-bottom Define o espaçamento inferior.
Esquerda padding-left Define o espaçamento da esquerda.
Extremidade Valor
Topo 20px
Direita 10px
Inferior 8px
Esquerda 12px
www.esab.edu.br 291
Essa é a forma padrão de definição das extremidades da propriedade
padding, com um grau de legibilidade muito alto, já que a associação do
valor a cada extremidade é explícita.
www.esab.edu.br 292
Se não forem informados os quatro valores na definição abreviada
dos valores das extremidades do padding, a regra funcionará como a
apresentada no Quadro 23.
www.esab.edu.br 293
propriedades. Essa regra tem a definição de três valores e determina a
ordem deles, sejam eles: superior (primeiro valor), esquerdo e direito
(segundo valor) e inferior (terceiro valor). Essa é uma sintaxe mais
complexa e não tão clara. Você precisa conhecê-la, mas, na medida do
possível, deve evitar usá-la.
www.esab.edu.br 294
Algoritmo 144 – Formatação da largura width
01 h1{
02 width: 200px;
03 }
www.esab.edu.br 295
Algoritmo 147 – Algoritmo 140 com aplicação da regra do Algoritmo 146
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset=ISSO-8859-1”>
04 <link rel=”stylesheet” type=”text/css” href=”algoritmo146.
css”>
05 </head>
06 <body>
07 <p>Texto formatado pela Regra de Padding - Espaçamentos</p>
08 Novo texto,sem formatação.
09 </body>
10 </html>
Margem
height
Padding
width
www.esab.edu.br 296
Definição da posição dos objetos na
39 página HTML
Objetivo
Apresentar a sintaxe em CSS para definição das propriedades position
e float.
www.esab.edu.br 297
Dessa forma, usando as regras CSS, você pode posicionar qualquer
elemento da tela informando as suas coordenadas, combinando as
informações dos deslocamentos (superior, inferior, esquerda e direita),
integrados a três esquemas possíveis de posicionamento: normal, float
(flutuante) e absoluto.
www.esab.edu.br 298
Quando você quiser posicionar um elemento de forma absoluta, deve
definir a propriedade position com o valor absolute. Em seguida, deve
definir, deve definir também o uso dos atributos: left (esquerda), right
(direita), top (superior), e bottom (inferior). Esses atributos definirão as
coordenadas e posicionarão o elemento. Segundo Silva (2008), a declaração
position: absolute;, quando usada, em conjunto com as propriedades left,
top, right e bottom, movimentam o bloco da sua posição inicial a uma
distância definida pelos valores declarados em tais propriedades.
www.esab.edu.br 299
A Figura 119 demonstra o carregamento das regras CSS por uma página
HTML com três parágrafos, cada um deles formatados por uma regra.
Item A - forma P1
Item B - forma P2
Item C - forma P3
www.esab.edu.br 300
O código a seguir apresenta a regra CSS que define três tipos de
posicionamentos relativos para o elemento parágrafo <p>.
Item A - forma P1
left Item B - forma P2
left Item C - forma P3
www.esab.edu.br 301
A posição estática, definida por meio da propriedade position: static, insere
o elemento no espaço disponível mais próximo sem nenhuma característica
especial aplicada a ele, fazendo com que ocupe o canto superior esquerdo,
independentemente dos valores das propriedades top e/ou left.
www.esab.edu.br 302
A Figura 121 apresenta o resultado do carregamento da página pelo
navegador.
Item A - forma P1
Item B - forma P2
Item C - forma P3
Figura 121 – Posicionamento do elemento na página HTML – estático.
Fonte: Elaborada pelo autor (2013).
Valores Função
None Define que o elemento não deve flutuar para lado algum.
Faz o elemento flutuar à esquerda, deixando qualquer outro elemento à direita
Left
desse elemento.
Faz o elemento flutuar à direita, deixando qualquer outro elemento à esquerda
Right
desse elemento.
Silva (2008, p. 286) destaca que “[...] segundo as regras deste esquema, o
box é retirado de sua posição normal do fluxo do documento e flutuado
para direita ou para esquerda”. Isso significa que o elemento inserido
continua a fazer parte do fluxo da página, e se os elementos ao seu redor
www.esab.edu.br 303
mudarem, a página será reorganizada. Isso difere da página onde os
elementos são posicionados de forma absoluta, na qual estes possuem
posições fixas e, portanto, não são reajustados. Ou seja, o elemento
HTML pode ser movimentado à esquerda ou à direita com uso da
propriedade float, fazendo com que o box model e seu conteúdo sejam
deslocados para a direita ou para a esquerda do documento. A área que
era ocupada por este elemento, será utilizada por outro elemento do
documento, reajustando os elementos na página.
01 .estilo1{
02 width:60px;
03 height:50px;
04 background:green;
05 float: none;
06 }
07 .estilo2{
08 width:60px;
09 height:50px;
10 background:blue;
11 float: none;
12 }
www.esab.edu.br 304
Observe que os dois elementos DIV, representados pelos blocos em
duas cores, serão posicionados à esquerda na mesma posição e serão
apresentados um acima do outro, devido à ordem em que o primeiro
DIV foi criado (verde) e depois o DIV em azul, seguindo o fluxo normal
de definição dos elementos, já que a propriedade float é none, nas linhas
5 e 11 do algoritmo.
www.esab.edu.br 305
08 width:60px;
09 height:50px;
10 background:blue;
11 float:left;
12 }
www.esab.edu.br 306
Quando carregada pelo navegador, a regra CSS do Algoritmo 154,
aplicada nos dois elementos <div> do Algoritmo 152 produzirá o
seguinte layout:
www.esab.edu.br 307
Exibindo e ocultando objetos da
40 página HTML
Objetivo
Apresentar a sintaxe em CSS para definição da propriedade display.
www.esab.edu.br 308
A seguir, o código HTML exemplifica a propriedade display inline que
define um texto para ser apresentado em negrito. Veja:
Os principais elementos inline são: span, a, img, td, label, input, select
e textarea.
www.esab.edu.br 309
Valores Descrição
None O elemento não será mostrado.
O elemento será mostrado como um objeto em bloco, com quebras de linha
Block
antes ou depois, como, por exemplo, a tag div, form, h1, h2, h3 etc..
O elemento será mostrado como um objeto em linha, sem quebra de linha antes
Inline
ou depois, como, por exemplo, a tag b, i etc..
O código a seguir cria uma regra CSS que, ao ser aplicada a um elemento
HTML, fará com que ele seja apresentado na tela na forma de um bloco.
www.esab.edu.br 310
A Figura 127 apresenta o elemento na forma inline e depois como block.
A regra CSS fez com que o elemento <b> (negrito) fosse apresentado na
forma de um bloco, o qual ocupa toda linha do navegador e possibilita
que novos elementos sejam inseridos nesse bloco.
www.esab.edu.br 311
A Figura 128 apresenta o layout de uma lista formatada pela seguinte regra:
www.esab.edu.br 312
A figura a seguir apresenta o layout de um link formatado pela seguinte
regra:
Note que o link passou a ter uma área maior, e se o usuário clicar em
qualquer parte do quadrado que delimita o link, a página da ESAB será
redirecionada. Por padrão, um link possui a estrutura inline, sendo que a
ação do link só é executada quando o usuário clica exatamente no texto
que representa o link.
www.esab.edu.br 313
Criando uma página HTML com
41 layout personalizado
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com layout que utilize as propriedades: bordas (border), margem
(margin), espaçamento interno (padding), dimensionamento de
objetos (width e height), posicionamento (position), elementos
flutuantes (float), exibir e ocultar objetos ou elementos (display).
www.esab.edu.br 314
A Figura 130 apresenta o layout que será criado.
Principal
Seção 1
Empresa Seção 1
Produtos
Seção 2
Serviços
Seção 2
Contato Seção 3
Seção 3
Endereço
www.esab.edu.br 315
12 </div>
13 <div>
14 <div>
15 <div>
16 <div>Principal</div>
17 <div>Empresa</div>
18 <div>Produtos</div>
19 <div>Serviços</div>
20 <div>Contato</div>
21 </div>
22 </div>
23 <div>
24 <div>Seção 1</div>
25 <div>Seção 2</div>
26 <div>Seção 3</div>
27 </div>
28 <div>
29 <div>Seção 1</div>
30 <div>Seção 2</div>
31 <div>Seção 3</div>
31 </div>
33 <div></div>
34 </div>
35 <div>
36 <div>
37 Endereço
38 </div>
39 </div>
40 </div>
41 </body>
42 </html>
www.esab.edu.br 316
Figura 131– Conteúdo da página após o carregamento.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 317
Passo 2 – No editor de texto, atualize a regra CSS do Algoritmo 162,
acrescentando a regra para formatação do conteúdo da página, que será
utilizado no elemento <div> principal. Para melhor compreensão, cada
linha foi comentada com um texto explicativo com o objetivo da instrução.
Lembre-se de salvar o arquivo depois da inclusão dessa nova regra CSS.
www.esab.edu.br 318
Passo 4 – Neste quarto passo, utilize o editor de texto e atualize o
código da regra CSS do Algoritmo 162 com a inclusão do código para
formatação do conteúdo da coluna da esquerda, meio e da direita, que
será utilizado no elemento <div> de apresentação do menu, seções do
meio das páginas e seções ao lado direito da página. Essa regra criará as
três colunas entre o topo e o rodapé.
www.esab.edu.br 319
Algoritmo 162 – Estilização do menu da página
01 #menu {
02 width: 150px; /* largura da área*/
03 height: 400px; /* altura da área */
04 }
05 .itemMenu {
06 width: 140px; /* largura da área*/
07 height: 21px; /* altura da área */
08 background: lightyellow; /* cor de fundo */
09 padding: 3px 0px 0px 10px; /* espaçamento */
10 border-bottom: 1px solid black; /* borda */
11 }
Passo 6 – No sexto passo, você ainda vai utilizar o editor de texto, agora
para incluir a seguinte regra CSS no Algoritmo 162 para formatação do
conteúdo do rodapé da página:
www.esab.edu.br 320
Algoritmo 162 – Estilização dos conteúdos das seções
01 .secao_miolo {
02 width: 428px; /* largura da área*/
03 height: 150px;/* altura da página*/
04 text-align: center; /* texto alinhado ao centro */
05 background: #cccccc; /* cor de fundo */
06 margin: 2px 5px 4px 5px; /* margens */
07 }
08 .secao_direita {
09 width: 140px; /* largura da área*/
10 height: 100px; /* altura da página*/
11 text-align: center; /* texto alinhado ao centro */
12 background: #cccccc; /* cor de fundo */
13 margin: 4px 5px 4px 5px; /* margens */
14 }
www.esab.edu.br 321
1
Aqui pode ser uma imagem
Logo 3
de background e um texto
Principal
4 Seção 1
Empresa
Seção 1
Produtos Seção 2
6 7
2 Serviços
Seção 2 Seção 3
Contato 8
9
5 10
11 Seção 3
12 13 Endereço
www.esab.edu.br 322
09 <div id=”topo”>
10 <div>Logo</div>
11 Aqui pode ser uma imagem de background e um texto.
12 </div>
13 <div id=”meio”>
14 <div id=”esquerda”>
15 <div id=”menu”>
16 <div class=”itemMenu”>Principal</div>
17 <div class=”itemMenu”>Empresa</div>
18 <div class=”itemMenu”>Produtos</div>
19 <div class=”itemMenu”>Serviços</div>
20 <div class=”itemMenu”>Contato</div>
21 </div>
22 </div>
23
24 <div id=”miolo”>
25 <div class=”secao_miolo”>Seção 1</div>
26 <div class=”secao_miolo”>Seção 2</div>
27 <div class=”secao_miolo”>Seção 3</div>
28 </div>
29
30 <div id=”direita”>
31 <div class=”secao_direita”>Seção 1</div>
32 <div class=”secao_direita”>Seção 2</div>
33 <div class=”secao_direita”>Seção 3</div>
34 </div>
35 <div style=”clear: both;”></div>
36 </div>
37 <div id=”rodape”>
38 <div id=”rodape_direita”>
39 Endereço
40 </div>
41 </div>
42 </div>
43 </body>
44 </html>
www.esab.edu.br 323
42 Introdução ao JavaScript
Objetivo
Apresentar um histórico da linguagem JavaScript, sua sintaxe, como
os códigos são inseridos nas páginas HTML e como os dados são
armazenados nas variáveis, e como elementos HTML podem ser
acessados por comandos em JavaScript.
www.esab.edu.br 324
Para sua reflexão
A linguagem JavaScript permite a implementação
de rotinas simples e complexas em projetos web ,
porém, exige muito tempo de análise, codificação
e testes por parte do programador. Uma forma de
diminuir o tempo de desenvolvimento dos projetos
web é a utilização de bibliotecas externas, que
possuem muitas rotinas prontas para envio de
e-mail, sms, validação de CPF, CNPJ etc.
Por um lado, essas ferramentas aceleram o
desenvolvimento de projetos, mas por outro será
que não os deixam presos a uma solução que
pode.ser descontinuada no futuro, inviabilizando o
projeto? O que você acha?
A resposta a essa reflexão forma parte de sua
aprendizagem e é individual, não precisando ser
comunicada ou enviada aos tutores.
www.esab.edu.br 325
O código a seguir exemplifica a estrutura de declaração e uso de
JavaScript nas páginas HTML.
Função Xpto
variável c;
www.esab.edu.br 326
As variáveis a e b são globais, declaradas dentro do programa JavaScript,
sendo visíveis e acessadas pela função chamada “Xpto”. Já a variável c
é local, declarada dentro da função, sendo acessada apenas pela função
“Xpto”. Caso o programa tente utilizar a variável “c”, esta não será
reconhecida, pois só existe para a função “Xpto”.
Para declarar uma variável, os nomes das variáveis devem começar por uma
letra ou pelo caractere sublinhado “_”, o restante da definição do nome
pode conter qualquer letra ou número. A linguagem JavaScript é case-
sensitive, portanto, letras maiúsculas são diferente de letras minúsculas,
ou seja, a variável de nome idade é diferente da variável de nome IDADE.
Portanto, muito cuidado quando for definir o nome das variáveis.
www.esab.edu.br 327
Algoritmo 164 – Comentário em JavaScript
01 <HTML>
02 <HEAD>
03 <TITLE>Código em JavaScript</TITLE>
04 <!-- Declaração de Funções JavaScript-->
05 </HEAD>
06 <BODY>
07 <SCRIPT type=”text/javascript”>
08 /* Comentário
09 com várias
10 linhas
11 */
12 //comentário de uma linha
13 </SCRIPT>
14 </BODY>
15 </HTML>
A primeira:
A outra sintaxe é:
nome_da_variável= valor;
www.esab.edu.br 328
Mesmo sendo opcional, o uso da cláusula deixará o código mais legível e
facilitará sua interpretação. Sendo assim, você pode adotar essa cláusula
como uma boa prática.
www.esab.edu.br 329
Figura 134 – Processamento sequencial.
Fonte: Elaborada pelo autor (2013).
www.esab.edu.br 330
19 <input type=”reset” value=”Limpar” /><p/>
20 Resultado: <input type=”text” name=”edresultado” />
21 </form>
22 </body>
23 </html>
Nas linhas 7 a 12, criamos uma função em JavaScript que calcula a área
do triângulo. Na linha 7, demonstramos o cabeçalho do formulário,
com o nome do método, calcular, que recebe como parâmetro um
objeto do tipo form (formulário). Essa técnica possibilita ao método
manipular os elementos do formulário, recuperando, assim, os valores
de cada componente, chamados idBase e idAltura (declarados nas linhas
16 e 17 do código). Possibilita ainda, atualizar o valor do componente
edResultado, declarado na linha 20.
www.esab.edu.br 331
Nesta unidade, você pôde conhecer a estrutura de um programa em
JavaScript, as formas de declaração das variáveis e como integrar
os algoritmos e suas regras ao documento HTML. Neste primeiro
momento, os programas executados seguiram um processamento
sequencial. Entretanto, a linguagem JavaScript permite a execução do
processamento com comandos de tomada de decisão e laços de repetição,
que serão apresentados na próxima unidade.
www.esab.edu.br 332
Resumo
www.esab.edu.br 333
Comandos de seleção e repetição
43 em JavaScript
Objetivo
Apresentar a sintaxe dos comandos de seleção (if e else) e repetição
(for e while) em JavaScript e como são inseridos nas páginas HTML.
www.esab.edu.br 334
Início
SE
condição Instrução 1
Instrução 2
Fim
Considera-se um número par aquele que dividido por 2 (dois) tem resto
zero (0). Por exemplo, 4 dividido por 2 tem resto 0.
www.esab.edu.br 335
07 <script language=”JavaScript”>
08 var numero = parseInt(prompt(“Entre com valor
qualquer:”));
09 var resto = numero % 2;
10 if(resto == 0){ /* se o resto for zero, entra no comando
IF */
11 document.write(“Número PAR”);
12 }
13 </script>
14 </body>
15 </html>
www.esab.edu.br 336
valor informado pelo usuário, a mensagem “ACERTOU” será escrita
na página. A mensagem “FIM DO PROGRAMA” será escrita sempre,
pois não depende de nenhuma condição para ser executada; a mensagem
avisará ao usuário que o programa foi encerrado. Caberá ao comando de
decisão if verificar se o valor gerado pela função Math.random() é igual
ao valor informado pelo usuário.
www.esab.edu.br 337
Na linha 9 do algoritmo, há um encadeamento de funções. A função
Math.round recebe como valor para arredondamento o resultado da
função Math.random(). Primeiro é executada a função Random(), só
depois é repassado o valor resultante para a função Round().
Por essa razão, o algoritmo utiliza a função random() para gerar o valor e
a função round() para convertê-lo para um inteiro, que será comparado
com o valor que o usuário informou.
Início
Falso SE Verdadeiro
Instrução 2 condição Instrução 1
Instrução 3
Fim
www.esab.edu.br 338
A “instrução 1” será executada se a condição do comando if for
verdadeira. Se não, a “instrução 2” será executada. A “instrução 3”
é executada sempre, pois não está associada a uma decisão, sendo
executada após a “instrução 1” ou “instrução 2”.
Sexo Fórmula
Masculino (72,7*altura)-58.
Feminino (62,1*altura)-44,7.
www.esab.edu.br 339
O código a seguir apresenta uma solução para esse problema.
www.esab.edu.br 340
Nas linhas 9 a 13, são declaradas e preenchidas as variáveis do programa,
para armazenamento do nome, altura e sexo. A entrada de dados da
altura, o string, precisa ser convertida para o tipo real, por isso o uso da
função de conversão parseFloat(). Como o usuário pode informar a letra
M (maiúscula) ou m (minúscula) para representar o sexo, foi usado o
operador lógico ou, símbolo “||”, já que basta que uma das condições
seja verdadeira para que o comando if seja executado (instruções da
linha 18). Caso o sexo não seja masculino (diferente de M e diferente
de m), o bloco else será executado (instrução da linha 21). As instruções
das linhas 23 a 26 apresentam o resultado na página, com a utilização
da tab <br> para que seja quebrada a linha ao final de cada mensagem.
Cada mensagem foi gerada com a concatenação (combinação de texto e
variáveis) na estrutura mostrada na figura a seguir.
Saiba mais
O JavaScript possui uma variedade de operadores,
incluindo operadores aritméticos, lógicos, bit a
bit, de atribuição e também alguns operadores
diversificados. Para conhecê-los, acesse a página
do Internet Explorer.
www.esab.edu.br 341
Algoritmo 171 – Dia da semana
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset= ISO-8589-1”>
04 <title>Unidade 43 – exemplo 4</title>
05 </head>
06 <body>
07 <script>
08 /* Data e Hora do Sistema Operacional */
09 var hoje = new Date();
10 /* Função que retorna o dia da Semana */
11 /* 0:Domingo 1:Segunda 2:Terça 3-Quarta 4-Quinta
5-Sexta 6-Sábado */
12 var mes = hoje.getDay();
13 switch(mes){
14 case 0:document.write(“Domingo”);break;
15 case 1:document.write(“Segunda-Feira”);break;
16 case 2:document.write(“Terça-Feira”);break;
17 case 3:document.write(“Quarta-Feira”);break;
18 case 4:document.write(“Quinta-Feira”);break;
19 case 5:document.write(“Sexta-Feira”);break;
20 case 6:document.write(“Sábado”);break;
21 }
22 </script>
23 </body>
24 </html>
www.esab.edu.br 342
Início
case: 0 break
case: 2 break
case: 6 break
www.esab.edu.br 343
Sintaxe do comando de laço condicional em JavaScript
Início
Instrução 3 Instrução 1
Falso Verdadeira
while
(condição)
Fim Instrução 2
www.esab.edu.br 344
Início
Instrução 3 Instrução 1
Falsa Verdadeira
para X
de 1 a 10
Instrução 2
Fim
Incrementa X
Estudo complementar
Para saber um pouco mais sobre os comandos de
laço da linguagem de programação JavaScript,
acesse o site Expert.Net.
www.esab.edu.br 345
Nesta unidade, você pôde conhecer a estrutura dos comandos de entrada,
saída, laços condicionais simples e complexos, bem como os comandos
de repetição condicional e iterativo. Esses comandos possibilitam criar
rotinas que tornam as páginas HTML mais dinâmicas e interativas.
www.esab.edu.br 346
Como criar caixas de diálogo em
44 JavaScript
Objetivo
Apresentar a sintaxe dos comandos alert, prompt e confirm em
JavaScript e como utilizá-los nas páginas HTML.
www.esab.edu.br 347
Algoritmo 174 – Caixa de diálogo prompt
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset= ISO-8589-1”>
04 <title>Unidade 44- exemplo 1</title>
05 </head>
06 <body>
07 <script>
08 var suacidade = prompt(“Qual sua cidade:,
“Florianópolis”);
09 document.write(“Sua cidade é:” + suacidade);
10 </script>
11 </body>
12 </html>
www.esab.edu.br 348
Algoritmo 175 – Caixa de diálogo alert
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset= ISO-8589-1”>
04 <title>Unidade 44 – exemplo 2</title>
05 </head>
06 <body>
07 <script>
08 alert(“ISTO É UM ALERT”);
09 </script>
10 </body>
11 </html>
www.esab.edu.br 349
Algoritmo 176 – Caixa de diálogo confirm
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset= ISO-8589-1”>
04 <title>Unidade 44 - exemplo 3</title>
05 </head>
06 <body>
07 <script>
08 var escolha = confirm(“Deseja sair do Programa?”);
09 </script>
10 </body>
11 </html>
www.esab.edu.br 350
Algoritmo 177 – Cadastro de pessoas
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset= ISO-8589-1”>
04 <title>Unidade 44 - exemplo 4</title>
05 </head>
06 <body>
07 <script>
08 var continua = true;
09 var masc = 0; /* total de homens */
10 var fem = 0; /* total de mulheres */
11 while(continua){ // enquanto continua vale TRUE o laço
se repete
12 var nome = prompt(“Informe seu Nome:”,””);
13 var sexo = prompt(“Informe o Sexo M ou F:”,”M”);
14 if(sexo == ‘M’ || sexo ==’m’){
15 masc = masc + 1; /* incrementa total de homens */
16 }
17 else{
18 fem = fem +1; /* incrementa total de mulheres */
19 }
20 continua = confirm(“Continuar o Cadastro?”);
21 }
22 alert(“Total de Homens:” + masc + “ Total de Mulheres:”
+ fem);
23 document.write(“Final do Programa”);
24 </script>
25 </body>
26 </html>
www.esab.edu.br 351
“fem” será incrementada em 1. Ao final do programa, a variável “masc”
contém a quantidade de homens cadastrados e a variável “fem”, a
quantidade de mulheres cadastradas.
www.esab.edu.br 352
No código a seguir, a finalidade é mostrar os números pares entre 0 e 10.
Note que o comando de laço for inicia com a variável “I”, começando
em 0 até chegar ao valor 10, incrementado de 2 em 2 (i = i + 2). Dessa
forma, “I” valerá: 0, 2, 4 , 6, 8, e 10, que são mostrados pela caixa de
diálogo alert.
www.esab.edu.br 353
09 var num = parseInt(prompt(“Informe um Valor Inteiro
Qualquer:”));
10 /* valor inicial do fatorial */
11 var fat = 1;
12 for (var i=num;i>=1;i=i-1){
13 fat = fat * i;
14 }
15 /* resultado do fatorial */
16 alert(“Fatorial de “ + num + “ é:” +fat);
17 document.write(“Final do Programa”);
18 </script>
19 </body>
20 </html>
Nesta unidade, você pôde estudar a sintaxe dos comandos que criam as
caixas de diálogo da linguagem JavaScript, e integrá-las aos comandos
de repetição while e for. Na próxima unidade, estudaremos com maior
propriedade a instrução document.write(), que já foi utilizada nos
programas para imprimir um texto em páginas HTML.
www.esab.edu.br 354
Como criar mensagens na página
45 HTML em JavaScript
Objetivo
Apresentar a sintaxe de utilização do objeto document do JavaScript e
como escrever e mudar a cor do texto que será apresentado na página
HTML.
www.esab.edu.br 355
Algoritmo 181 – Cálculo da média
01 <html>
02 <head>
03 <meta http-equiv=”Content-Type” content=”text/html;
charset= ISO-8589-1”>
04 <title>Unidade 45 - exemplo 1</title>
05 </head>
06 <body>
07 <script>
08 var disciplina = prompt(“Nome da
Disciplina:”,”Ambientes WEB”);
09 var nota1 = parseFloat(prompt(“Primeira Nota:”));
10 var nota2 = parseFloat(prompt(“Segunda Nota:”));
11 var nota3 = parseFloat(prompt(“Terceira Nota:”));
12 media = (nota1 + nota2 + nota3)/3;
13 document.write(media.toFixed(2));
14 </script>
15 </body>
16 </html>
www.esab.edu.br 356
13 if(media < 7){
14 document.write(“<font color = ‘red’>”);
15 document.write(media.toFixed(2));
16 document.write(“</font>”);
17 }
18 else{
19 document.write(“<font color = ‘blue’>”);
20 document.write(media.toFixed(2));
21 document.write(“</font”);
22 }
23 </script>
24 </body>
25 </html>
www.esab.edu.br 357
12 res = num * i;
13 document.write(“<TR><TD>”);
14 document.write(num+”*”+i+”=”+res);
15 document.write(“</TD></TR>”);
16 }
17 </script>
18 </table>
19 </body>
20 </html>
www.esab.edu.br 358
O código a seguir apresenta uma mensagem no documento HTML de
acordo com a hora atual. A função data = new Date(), linha 8, retorna à
data e hora do sistema operacional, no momento em que a instrução foi
executada, e o método getHours() retorna à hora em um valor entre 0 e
23. O comando document.write() escreve um texto no documento em
negrito <b> e formato de título <h1>, de acordo com essa hora.
A instrução verifica o valor da variável hora: se for menor que 12, será
escrita a mensagem “Bom dia”, em negrito e no formato título 1; caso
contrário, um novo teste será feito e se o valor for menor que 18, a
mensagem “boa tarde” será escrita; a última opção será “boa noite”, pois
o valor da hora é maior que 18.
www.esab.edu.br 359
Nesta unidade, você pôde conhecer a sintaxe do comando document.
write() e as suas formas de utilização, que lhe permitem desenvolver um
layout dinâmico para as páginas, com tags HTML que podem ser escritas
de acordo com condições que são testadas.
www.esab.edu.br 360
Criando uma página HTML que
46 utilize comandos em JavaScript
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com mensagens escritas em JavaScript e a abertura de janelas de
alert. confirm e prompt.
www.esab.edu.br 361
12 /* resultado da conversão */
13 var res = 0;
14 var mensagem=””;
15 if(opcao ==’C’ | opcao == ‘c’) { //converte de
Fahrenheit para Celsius
16 temp = parseFloat(prompt(“Informe a Temperatura em
graus Fahrenheit:”));
17 res= (temp - 32)/1.8;
18 mensagem = res.toFixed(2) + “ graus Celsius = “ +
temp.toFixed(2) + “ graus Fahrenheit.”;
19 }
20 else{//converte de Celsius para Fahrenheit
21 temp = parseFloat(prompt(“Informe a Temperatura em
graus Celsius:”));
22 res = temp * 1.8 + 32;
23 mensagem = res.toFixed(2) + “ graus Fahrenheit = “ +
temp.toFixed(2) + “ graus Celsius.”;
24 }
25 alert(mensagem); //Mostra o resultado final da
conversão
26 </script>
27 </body>
28 </html>
Índice Situação
Abaixo de 18,5 Abaixo do peso
Entre 18,5 e 25 Peso normal
Entre 25 e 30 Acima do peso
Acima de 30 Obeso
www.esab.edu.br 362
Como há quatro condições a serem testadas no programa para definir a
situação do índice IMC, o algoritmo utilizará os comando if e else para
definir qual mensagem será apresentada ao usuário, de acordo com o
quadro acima. A fórmula para cálculo do IMC é: peso dividido pela
altura ao quadrado (IMC = peso / altura2).
www.esab.edu.br 363
Salve o arquivo com a extensão “. html” e execute-o no navegador de sua
preferência.
www.esab.edu.br 364
27 continua = confirm(“Cadastrar mais um cliente?”);
28 }
29 mensagem = “Resultado:”+
30 “\nÓtimo:”+totala +
31 “\nBom:”+totalb +
32 “\nRegular:”+totalc +
33 “\nRuim:”+totald +
34 “\nPéssimo:”+totale;
35 alert(mensagem);
36 </script>
37 </body>
38 </html>
www.esab.edu.br 365
Salve o arquivo com a extensão “. html” e execute-o no navegador de sua
preferência.
www.esab.edu.br 366
47 Como criar janelas em JavaScript
Objetivo
Apresentar a sintaxe de utilização do objeto window do JavaScript e
como abrir novas janelas no projeto web.
www.esab.edu.br 367
As opções são informadas separadas por vírgulas e sem espaços em
branco entre elas.
www.esab.edu.br 368
O código do Algoritmo 189 cria uma função em JavaScript para abrir
uma janela que recebe como parâmetro a url, o título da janela, as
propriedades e o conteúdo da página, de forma que seja possível criar
tipos variados de janelas com a mesma função.
Por exemplo, para criar uma janela sem url, título ‘Exemplo 1’,
com largura de 800 pixels, altura de 600 pixels, sem conteúdo, a
função será chamada da seguinte forma: abrirJanela(‘ ’,’Exemplo
1’,’width=800,height=600’,’ ’). Note que os valores dos parâmetros
são passados entre aspas simples (‘), por serem do tipo literal. As
propriedades da janela são informadas separadas por vírgula, sem espaços
em branco (‘width=800,height=600’).
www.esab.edu.br 369
O conteúdo só será escrito na página caso ele seja diferente de vazio, por
isso a condição conteudo != null.
A figura a seguir apresenta o layout da nova janela que será aberta quando
o usuário clicar no botão Nova Janela da página.
www.esab.edu.br 370
O código do Algoritmo 190 apresenta a instrução para que a página seja
aberta com as propriedades location e scrollbars habilitadas, o conteúdo
da nova janela em azul com a mensagem “Texto da Nova Janela” e o
título da janela valendo “Unidade 47 – Exemplo 2”.
www.esab.edu.br 371
Como não foi alterada a propriedade width e height da nova janela, esta
será aberta ocupando toda a área do navegador, escondendo a página
que contém o botão com o título “Abrir Janela”. Entretanto, quando essa
janela for fechada, o navegador voltará para a página com esse botão.
Nos exemplos anteriores, para fechar a nova janela que foi aberta, o
usuário precisava clicar no botão de fechamento da janela, aquele no
topo, lado direito da janela, na forma de um “x”. Mas isso pode ser
melhorado, criando uma função que fecha a janela, chamando-a em um
botão. Dessa forma, a janela poderá ser fechada pela opção padrão da
janela e por meio do botão que será criado, como é mostrado no código
da figura a seguir.
www.esab.edu.br 372
Figura 149 – Janela com botão fechar.
Fonte: Elaborada pelo autor (2013).
Nesta unidade, você pôde estudar a sintaxe e uso dos comandos window.
open() e window.close(), os quais permitem abrir e fechar janelas,
respectivamente. Saiba que a janela é um elemento de interação com o
usuário muito importante em um projeto web e deve ser utilizado com
cuidado para não afetar a usabilidade e o acesso aos dados. Com isso,
você já pode criar janelas dinâmicas que escrevem o conteúdo em tempo
de execução, dependendo da ação que foi executada na página.
Tarefa dissertativa
Caro estudante, convidamos você a acessar o
Ambiente Virtual de Aprendizagem e realizar a
tarefa dissertativa.
www.esab.edu.br 373
Criando um formulário HTML com
48 validação de campos em JavaScript
Objetivo
Possibilitar o desenvolvimento e a visualização de uma página HTML
com um formulário de cadastro com rotinas em JavaScript para
validação dos campos informados.
www.esab.edu.br 374
Quando o usuário clicar no botão “cadastrar”, o formulário será
validado por meio da função validar, que criaremos logo em seguida.
Se não houver problemas na validação, ele será enviado com sucesso.
Caso contrário, uma mensagem de alerta será apresentada ao usuário,
indicando os erros. Para que isso seja possível, o formulário terá seu
evento onsubmit (quando o botão de submit é clicado) associado à
função validar.
www.esab.edu.br 375
verificará se todos os campos foram corretamente preenchidos, caso isto
seja verdadeiro, os dados do formulário serão enviados. Caso contrário,
serão informadas quais informações precisam ser editadas corretamente.
Elemento Regra
Nome Deve ser preenchido.
“Deve ser preenchido e conter um símbolo de @ e pelo menos um
E-mail
ponto “.”. Exemplo: teste@email.br.
Idade Deve ser preenchida e deve conter apenas números.
Senha Deve ser preenchida e conter 8 símbolos.
Confirmação de
Deve ser preenchida de maneira igual ao elemento senha.
Senha
www.esab.edu.br 376
A figura a seguir apresenta o código e o nome de cada elemento,
sublinhado:
www.esab.edu.br 377
Algoritmo 193 – Campos obrigatórios
01 <script>
02 function validar(form){
03 valor = form.nome.value; /* valor do nome informado */
04 mensagem = “ATENÇÃO\n”; /* mensagem que será
apresentada em caso de erro */
05 erro = false; /* armazena a situação do teste,s e
houve erro */
06 if(valor == “”){
07 mensagem = mensagem + “Preencha o campo NOME!\n”;
08 erro = true;
09 }
10 valor = form.email.value;
11 if(valor == “”){
12 mensagem = mensagem + “Preencha o campo E-MAIL!\n”;
13 erro = true;
14 }
15 valor = form.idade.value;
16 if(valor == “”){
17 mensagem = mensagem + “Preencha o campo IDADE!\n”;
18 erro = true;
19 }
20 valor = form.senha.value;
21 if(valor == “”){
22 mensagem = mensagem + “Preencha o campo SENHA!\n”;
23 erro = true;
24 }
25 valor = form.confsenha.value;
26 if(valor == “”){
27 mensagem = mensagem + “Preencha o campo CONFIRMAÇÃO
DE SENHA!\n”;
28 erro = true;
29 }
30 if(erro==true){ /* houve pelo menos um erro */
31 alert(mensagem);
32 }
33 }
www.esab.edu.br 378
Figura 152 – Alerta de erro.
Fonte: Elaborada pelo autor (2013).
posição 0 1 2 3 4 5 6
variável nome M a r c e l o
Caso não exista o item na string, a função retornará o valor -1, por
exemplo, a instrução nome.indexOf(“Z”) retornará ao -1, pois o nome
“Marcelo” não contém a letra “Z”.
www.esab.edu.br 379
portanto uma mensagem será apresentada ao usuário. O código que
valida o e-mail é apresentado a seguir.
www.esab.edu.br 380
Por fim, vamos validar a idade informada, verificando se apenas
números foram digitados. Para tanto, a lógica a ser aplicada percorrerá
cada caractere informado no campo idade, verificando se algum deles
não é um número: se a condição for verdadeira, a idade é inválida.
Para recuperar cada caractere do campo idade, será usada a função
charAt(posição), que retorna o caractere que está na posição informada.
No caso da variável nome, que contém o valor “Marcelo”, a instrução
nome.charAt(4) retornará “e”, que é a letra da posição 4.
Estudo complementar
Você pode conhecer esse e outros comandos de
manipulação de string utilizados pela linguagem
JavaScript acessando o site Imaster. Confira!
www.esab.edu.br 381
17 if(erro==true){ /* se erro vale true, a condição if foi
executada */
18 alert(“Informe apenas números na idade”);
19 }
01 <script>
02 function validar(form){
03 //instruções
04 }
05 </script>
www.esab.edu.br 382
O código a seguir apresenta todo o algoritmo de validação do formulário:
www.esab.edu.br 383
41 alert(“A senha deve ter oito caracteres!”);
42 }
43 if(form.senha.value != form.confsenha.value){
44 alert(“A senha e confirmação de senha devem ter os mesmos
valores!”);
45 }
46 erro = false; /* inicializa erro com falso */
47 valor = form.idade.value;
48 /* percorre cada caractere informado no campo idade */
49 /* valor.length retorna a quantidade de caracteres digitados
*/
50 for(var posicao=0;posicao < valor.length;posicao = posicao
+ 1){
51 /* verifica se o caractere não é um número entre 0 e 9 */
52 if(valor.charAt(posicao) != ‘0’ && valor.charAt(posicao)
!= ‘1’ &&
53 valor.charAt(posicao) != ‘2’ && valor.charAt(posicao)
!= ‘3’ &&
54 valor.charAt(posicao) != ‘4’ && valor.charAt(posicao)
!= ‘5’ &&
55 valor.charAt(posicao) != ‘6’ && valor.charAt(posicao)
!= ‘7’ &&
56 valor.charAt(posicao) != ‘7’ && valor.charAt(posicao)
!= ‘9’){
57 erro = true;
58
59 break; // comando para sair do laço, não precisa
continuar já houve erro
60 }
61 }
62 if(erro==true){ /* se erro vale true, a condição if foi
executada */
63 alert(“Informe apenas números na idade”);
64 }
www.esab.edu.br 384
Atividade
Chegou a hora de você testar seus conhecimentos
em relação às unidades 37 a 48. Para isso, dirija-
se ao Ambiente Virtual de Aprendizagem (AVA) e
responda às questões. Além de revisar o conteúdo,
você estará se preparando para a prova. Bom
trabalho!
www.esab.edu.br 385
Resumo
www.esab.edu.br 386
Glossário
Aleatório
Geração de valores que depende de fatores incertos, não pode ser previsto.
R
Algoritmo
Processo de resolução de um problema constituído por uma sequência
ordenada e bem definida de passos que, em tempo finito, conduzem à
solução do problema ou indicam que não existem soluções. R
Arquitetura de informação
É um campo de estudos que trata da arte e ciência de organizar e rotular
dados e conteúdos por meio de técnicas e modelos de estrutura da área.
R
Bug
Palavra em inglês que significa inseto. É um termo originário da época
dos primeiros computadores com válvulas, que queimavam ao contato
com os insetos. Atualmente, representa um erro no funcionamento de
um software, normalmente associado à falha na lógica. R
www.esab.edu.br 387
Codificação de caracteres
Os caracteres em um conjunto são armazenados como um ou mais
bytes em um computador. Cada byte ou sequência de bytes representa
um determinado caractere. Uma codificação de caracteres é a chave que
mapeia um byte em especial ou uma sequência de bytes de caracteres que
a fonte transforma em texto (ISHIDA, 2010). R
Concatenação
É a técnica de gerar uma nova cadeia de caracteres juntando várias
cadeias de caracteres, utilizando o operador de adição (+). Por exemplo: a
concatenação de ‘Marcelo’ + ‘ ‘ + ‘Medeiros’ resultará na nova cadeia de
caracteres ‘Marcelo Medeiros’. R
Container
No contexto da web, container é um elemento do site que contém outros
componentes internos, organizando-os e formatando-os. R
Coordenadas
Elementos que servem para determinar a posição de um ponto sobre
uma superfície, ou no espaço, em relação a um sistema de referência. R
Dados tabulares
São dados apresentados em formato de tabela, exibidos e organizados em
linhas e colunas. R
Depuração
Trata-se da eliminação de falhas de um software. R
Desvio condicional
As instruções de um programa de computador são executadas
sequencialmente. Entretanto, quando essas execuções são associadas
a uma condição que possibilita o desvio, sem considerar a sequência,
as instruções não são realizadas. Ou seja, o programa não executará
www.esab.edu.br 388
as instruções, pois foram desviadas do processo sequencial. A decisão
possibilita implementar esses desvios condicionais escolhendo qual
comando ou conjunto de comandos serão executados. R
Drop-down (menu)
É um componente da tela de interação com usuário semelhante a uma
lista de valores. R
Fatorial
O fatorial de um número que pertence ao conjunto dos números
naturais é o produto de todos os seus antecessores, incluindo o próprio
número e excluindo o zero. R
Foco do controle
É a ação quando o usuário seleciona um determinado componente
de tela, usando a tecla TAB ou o ponteiro do mouse. Quando um
componente está desabilitado, a seleção desse componente não é possível.
R
Glifo
Em tipografia, é uma figura que dá um tipo de característica particular a
um símbolo específico. R
Grau Celsius
Escala que adota para o ponto de fusão de gelo o valor 0 (zero) e para o
ponto de ebulição da água o valor 100 (cem). A escala divide o intervalo
obtido entre os pontos fixos em 100 partes iguais, em que cada parte
corresponde a uma unidade da escala e foi denominada de grau Celsius,
cujo símbolo é o °C. R
www.esab.edu.br 389
HTML semântico
É a marcação HTML usada de modo que reforce o significado da
informação, e não para apenas definir a sua apresentação na página.
Desse modo, otimiza-se o código para ser encontrado por buscadores,
bem como organiza e deixa clara a informação. R
Ícone
É uma representação gráfica de um objeto, conceito ou ação. É um
elemento de interface visual para criar interação com o usuário. Passou
a ser muito conhecido com o surgimento dos sistemas operacionais
com interface gráfica, como Windows e MacOs (Macintosh Operating
System). R
Indentação
Ato ou efeito de endentar. É o encaixe de tags feito para organizar o
código em que tags do interior de outras ficam mais à direita, isto é, têm
um espaçamento maior do início da linha. R
Iterativo
É o processamento que se repete várias vezes para se chegar a um
resultado final. R
JavaScript
É uma linguagem inventada pela Netscape que pouco tem a ver com
a linguagem de programação Java, da Oracle. Os scripts escritos em
JavaScript são incluídos no meio do código HTML das páginas web para
torná-las dinâmicas e são interpretados pelo browser. R
Label
É um rótulo ou identificador para um determinado valor apresentado
na tela da aplicação. Por exemplo, é de boa prática que ao lado de um
campo de cadastro de CPF exista um rótulo identificando o que ali deve
www.esab.edu.br 390
ser cadastrado, facilitando a identificação da finalidade daquele campo
pelo usuário. R
Layout
É uma apresentação ou esboço que mostra a distribuição e o tamanho de
elementos como texto, gráficos ou figuras, em um determinado espaço.
R
Menu
Lista de comandos ou opções que podem ser selecionados no programa
de computador. R
Palavras reservadas
São palavras de uso exclusivo da gramática, pois têm um significado
especial dentro da linguagem e são predefinidas na sua especificação. R
Pop-up
Trata-se de um tipo de janela que abre no navegador como nova janela
ao clicar em um link. Geralmente é utilizada para informações extras ou
para propagandas. R
Posição absoluta
É quando um elemento é deslocado de seu lugar original dentro do
documento e colocado exatamente na posição que foi determinada. R
Protocolo
Não é um computador nem um programa, trata-se de algo abstrato, um
conjunto de regras, padrões e especificações que permite a comunicação
perfeita entre os computadores. R
Renderizada
É o resultado do método pelo qual um processamento digital é
apresentado ao usuário. R
www.esab.edu.br 391
Rotinas
Conjunto de instruções, em um código, que é capaz de executar uma
tarefa. R
Script
São sequências de comandos que, quando executados por ferramentas
computacionais, trazem informações que são processadas e
transformadas. R
Sequencial
Representa o processamento em que a execução da instrução, rotina ou
tarefa acontece. R
Sistema Hexadecimal
É um sistema de numeração vinculado à informática. Os computadores
interpretam as linguagens de programação em bytes, que, por sua vez,
são compostos de oito dígitos. Na medida em que os computadores e os
programas aumentam a sua capacidade de processamento, funcionam
com múltiplos de 8, como 16 ou 32. Por este motivo, o sistema
hexadecimal, de 16 dígitos, é um padrão na informática. R
Small-Caps
É o termo utilizado na programação de computadores para representar a
forma de conversão de uma letra na tela do computador, small indica a
letra em minúsculo e caps em maiúsculo, portanto, o termo informa que
uma letra em minúsculo será convertida para maiúsculo. R
Tecla Tab
A tecla Tab, normalmente representada por duas setas para esquerda e
à direita ou pela palavra Tab, faz com que, ao ser pressionada dentro de
um controle, como uma caixa de texto, o foco seja mudado para outro
controle. Sua origem vem da palavra tabulação. R
www.esab.edu.br 392
Timothy John Berners-Lee
Também conhecido como Tim Berners-Lee, é um cientista da
computação e físico britânico, professor do Massachussetts Institute of
Technology (MIT) e diretor do W3C. Ele criou a World Wide Web em
1990, com a ajuda de Robert Cailliau, quando implementou a primeira
conexão bem-sucedida entre um protocolo HTTP e um servidor
utilizando a internet. R
Tipografia
É a impressão dos tipos, é o estudo da formação dos tipos de fontes.
A tipografia é o principal elemento da página impressa. Hoje em dia, a
tipografia alcança alta prioridade no mundo do design, pois há muitos
layouts nos quais as palavras ocupam um espaço importante na sua
definição. R
Tipos de dados
Os tipos de dados determinam quais valores serão aceitos por uma
variável. Por exemplo, variáveis do tipo numérica aceitam apenas
números, já variáveis do tipo booleano permitem dois valores, true
(verdadeiro) ou false (falso). Em algumas linguagens, não existe o tipo
booleano, sendo usado o tipo inteiro, no qual 1 representa verdadeiro e 0
representa falso, como no caso da linguagem C. R
Unidade de medida
Especificação da quantidade de determinada grandeza que serve de
padrão para eventuais comparações e para outras medidas. R
www.esab.edu.br 393
Usabilidade
É um termo para definir a facilidade com que podemos utilizar um
produto e a sua eficiência. Na TI, refere-se à simplicidade e facilidade
de navegação de uma interface. Uma das áreas de estudos da usabilidade
é a engenharia de usabilidade, em que se estudam boas práticas de
desenvolvimento e padrões que melhoram a navegação e a experiência do
usuário. R
Valor do atributo
Elemento que fica logo após o atributo (do qual é separado por dois-
pontos) e define o estado desse atributo. Por exemplo, o valor red pode
definir a cor vermelha para o atributo color. R
Variáveis
São elementos básicos manipulados por um programa de computador.
Variável é o espaço que foi reservado dentro da memória de um
computador com o objetivo de armazenar determinado tipo de dado.
Os nomes das variáveis existem para que você possa referenciá-las ou
modificá-las quando necessário. Muitas linguagens de programação
exigem que os programas contenham declarações que especifiquem de
que tipo são as variáveis que ele utilizará e, às vezes, se estas têm um valor
inicial. No caso do JavaScript, o valor atribuído à variável determina seu
tipo de dado. R
www.esab.edu.br 394
Referências
SILVA, M. S. Construindo sites com CSS e (X) HTML. São Paulo: Novatec,
2008.
www.esab.edu.br 395