Professional Documents
Culture Documents
SUMÁRIO
A HISTÓRIA DA INTERNET 4 Forma de Aplicação e Precedências do CSS 54
Introdução à Internet 5 Tags adicionais de HTML para iteração com o CSS 56
As fases da Internet 8 Seletores 56
Unidade de Medida em CSS 59
A LINGUAGEM HTML 12 Estilos para Formatação de Texto 60
Mais um pouco de história 13
Fluxo de Página 66
Tags Estruturais 15
Formatação de Texto e Imagens 17 JAVASCRIPT 81
Tags para inclusão de títulos 18 Um pouco de História 82
Tag para inclusão de parágrafos e quebra de linhas 19 Estrutura de um Programa JavaScript 83
Tags para destacar textos 21 Variáveis, Atribuições e Operações 87
Tag para alterar a fonte de um texto 23 Interagindo com o Usuário 89
CENTRO UNIVERSITÁRIO UNIFTEC
Tag para inclusão de imagens em uma página 23 Comandos Condicionais e Expressões 91 Rua Gustavo Ramos Sehbe n.º 107.
Tag para adicionar separação de textos em documento 25 Estruturas de Repetição 93 Caxias do Sul/ RS
Meta Tags e Caracteres Especiais 26 Funções 94
Hyperlinks e Âncoras 28 Orientação a Objetos em JavaScript 95
Listas 30 Eventos 97 REITOR
INTRODUÇÃO
Praticamente todos nós utilizamos a internet. Seja para verificar o status dos
amigos nas redes sociais, seja para o trabalho do nosso dia a dia ou ainda para pes-
quisarmos aquele assunto sobre o qual queremos conhecer um pouco mais. Também
para escutar música, assistir filmes, enfim, poderíamos ficar aqui muito tempo citando
os nossos usos da internet.
O que a maioria das pessoas não sabe é como tudo isso funciona. Talvez até
tenham uma ideia de como a internet trabalha, mas apenas uma ideia!
A HISTÓRIA DA
INTERNET
Entenda como uma necessidade de
segurança se tornou uma das maiores
inovações da humanidade no século XXI.
Você já se perguntou alguma vez quando a internet
surgiu? Para muitos de nós, quando nascemos, ou quando
passamos a perceber o mundo ao nosso redor, a internet já
estava presente. Tanto que, possivelmente, você não se imagina
vivendo sem internet no mundo de hoje.
Por conta disso, foi idealizado um de dados, informações do destinatário e Donald Davies, propôs uma rede nacional
modelo de comunicação que permitisse informações que permitiam a construção de dados também baseada em troca de
que as informações fossem armazenadas do conteúdo original na sua chegada. pacotes. Esta rede foi construída e passou
e descentralizadas. Com isso, se uma base a se chamar Mark I. No ano de 1976,
americana fosse atingida, as informações Apesar de o governo americano fa- haviam 12 computadores e 75 terminais
deste local não seriam perdidas. Este zer todo esse investimento, com medo interligados pela rede.
modelo de comunicação descentralizada de sofrer um ataque Russo, esse nunca
foi batizado de ARPANET, criado pela aconteceu. No entanto, a partir dessa ação, Por volta da década de 70, uma rede
ARPA. surgiu um dos maiores meios de comuni- de pesquisa francesa chamada CYCLA-
cação do século 20/21, onde, em apenas DES, dirigida por Luis Pouzin, apresentou
A ARPANET funcionava por meio Quatro anos, conseguiu atingir em torno um novo modelo de rede como alternati-
de um sistema de chaveamento de paco- de 50 milhões de pessoas. va a rede americana ARPANET. Sendo
tes. Esse sistema fazia a transmissão de essa, a primeira rede a fazer com que os
dados em rede de computadores onde as Saindo dos Estados Unidos e viajan- próprios equipamentos conectados à rede
informações eram divididas em peque- do até o Reino Unido, em 1965, o Natio- fossem responsáveis pelo transporte das
nos pacotes, os quais possuíam trechos nal Physical Laboratory, comandado por informações em vez da própria rede.
Desta maneira, com o surgimento Em 1978, surgiu o protocolo TCP/ na rede, a década de 90 foi responsável
de redes em diversas partes do mundo e IP, onde cada dispositivo conectado à rede pela popularização da internet, de forma
cada uma com diferentes métodos de co- passou a receber um endereço único, para que no ano de 2003 haviam cerca de 600
municação, passou a ser necessário algo que este dispositivo pudesse ser identifi- milhões de pessoas conectadas, enquanto
que pudesse unificar estas redes. Com isso, cado na rede e pudesse receber os paco- que em 2007 este número já estava em 1
membros da DARPA e da Universidade de tes de rede destinados a ele. Assim, em bilhão e 234 milhões de usuários, segundo
Stanford, iniciaram em 1973 um trabalho 1983, o protocolo TCP/IP passou a ser a Internet World Estatistics.
de reformulação, onde todas as diferenças o único protocolo empregado pela rede
entre os protocolos de rede pudessem ser ARPANET. Nas terras tupiniquins a internet
escondidas através do uso de um protocolo teve início em 1988, e servia apenas para
inter-redes comuns. Com esta definição, os Com a ligação de diversas redes por ligar universidades brasileiras com univer-
responsáveis pela comunicação passaram a meio deste novo protocolo, surgiu o ter- sidades americanas. Em 1989 o governo
ser os dispositivos conectados e não a rede.
mo backbone, o qual representa grandes brasileiro iniciou um projeto chamado
Na verdade, o mesmo conceito proposto computadores conectados entre si, os quais de Rede Nacional de Ensino e Pesquisa
pela francesa CYCLADES. distribuem a comunicação de grandes flu- (RNP), que existe ainda hoje, e tem por
xos de dados entre diferentes regiões, uti- objetivo organizar uma rede acadêmica de
A especificação deste modelo resul- lizando como canais de comunicação fibra alcance nacional.
tou no primeiro uso do termo “internet”, ótica, satélites ou ondas de rádio.
como abreviação de “internetworking” e O primeiro backbone brasileiro en-
a partir disso, diversos padrões de redes No ano de 1992, Tim Bernes Lee trou em funcionamento em 1991, ligan-
passaram a empregar o seu uso. criou a World Wide Web, surgindo, a do apenas universidades, mas em 1995, o
Com a função da rede reduzida ape- partir de então, o protocolo HTTP, que governou abriu o backbone para fornecer
nas para a transferência de dados, tor- permite a transferência de informações em conectividade a provedores de acesso co-
nou-se possível a junção de praticamente formato textual através de uma linguagem merciais.
todas as redes, independentemente de de hipertexto conhecida como HTML.
suas características. Esse novo padrão de Atualmente, a internet no Brasil é
transferência de dados entre redes ficou A partir da World Wide Web e, gerenciada pelo NIC.br, a qual pode ser
conhecido como TCP. juntamente, com o interesse comercial acessado em http://www.nic.br. Além de
PROGRAMAÇÃO WEB 8
gerenciar e regulamentar a internet no Além da evolução da tecnologia que ser realmente uma ferramenta de inte-
Brasil, a entidade possui muita informação levou ao surgimento da internet, o seu gração entre todos. Exemplo disso, são os
sobre a internet, seu funcionamento e dicas próprio uso passou por evoluções. Assim, sites de e-commerce, blogs e redes sociais.
de como fazer bom uso deste recurso. estas evoluções estão diretamente associa- Agora, tente imaginar uma rede social
das à melhoria dos meios de comunica- sem usuários cadastrados ou um blog sem
Se você tiver interesse, acesse os en- ção e acesso, além do aumento do poder uma pessoa que adicionasse conteúdo ao
dereços a seguir e assista aos vídeos. Tenho de processamento dos computadores e ao mesmo.
certeza que será uma ótima experiência massivo uso da rede.
para você! Já, no ano de 2004, estas diferen-
Nos primórdios da internet, haviamças de uso da Web foram classificadas.
• Como funciona a Internet ? Pro- poucas pessoas responsáveis por inserir Tim O’Reilly, em sua O’Reilly Media
tocolo IP; conteúdos na rede. Estas pessoas adiciona-
Web 2.0 Conference eram as versões da
vam os conteúdos manualmente, criando Web, dividindo a mesma em três versões:
• Como funciona a Internet ? Siste- páginas web que hoje são conhecidas como Web 1.0, as quais foram os primórdios da
mas Autonômos; páginas estáticas. Quem acessava a internet
internet, uma internet estática onde pou-
nesta época, apenas podia acessar e ver os
cos produziam conteúdo; Web 2.0, a qual
• Como funciona a Internet ? DNS. conteúdos adicionados por estas pessoas, estamos vivendo no momento presente,
ou seja, não havia muita interação. onde todos contribuem para a formação do
As fases da Internet conteúdo da internet e ainda a Web 3.0,
No final da década de 90 e nos que é conhecida como a web semântica
primeiros anos após a virada do século, ou internet das coisas.
Você deve estar lembrado da intro- iniciou-se uma mudança na forma de uso
dução deste capítulo, em que falamos que a da web. A partir daí, os próprios usuá- Para ser possível compreender o
internet nem sempre foi como é hoje. Real- rios da web deixaram de apenas acessar conceito da web semântica, precisamos
mente os primórdios da internet lembram e visualizar os conteúdos, mas também entender o conceito da web atual, o qual
muito pouco da internet atual. Veja com passaram a contribuir com os conteúdos pode ser chamado de web sintática. Na
os seus próprios olhos como era a primeira da internet. Ou seja, a internet passou a web sintática, os computadores fazem a
página da internet acessando aqui. ser muito mais participativa passando a apresentação da informação, mas não in-
PROGRAMAÇÃO WEB 9
A LINGUAGEM
HTML
Agora chegou o momento de sentirmos
o gostinho de como é criar uma página
na internet. Neste capítulo daremos os
primeiros passos para construir uma página
web.
Juntamente com o início da World Wide Web, surgiu
a linguagem HTML, que é uma sigla do inglês para Hyper
Text Markup Language, a qual significa Linguagem de mar-
cação de hipertexto.
Esta marcação é feita através de elementos empresa NeXT, a qual Steve Jobs navegador de texto chamado Lynx, e
conhecidos como Tags. Esse processo de foi o fundador. em 2004 surgiu o navegador Mosaic.
marcação da linguagem, em nada tem a Além do navegador, ele implemen- Entretanto, como esta nova lingua-
ver com uma linguagem de programação, tou um novo protocolo de comu- gem não despertou muito interesse
como PHP, Java ou JavaScript, as quais nicação que ficou conhecido como das grandes empresas, as pesquisas
têm por objetivos gerenciar comportamen- HTTP, que permitia transferir do- e evolução da plataforma acabaram
tos e ações através de instruções baseadas cumentos no formato HTML, o sendo lentas.
em lógica algorítmica. qual também foi uma especificação • HTML 2.0: Com a criação de novos
criada por TIM, mas baseada no navegadores, a internet tornou-se
Mais um pouco de história formato de marcação SGML. um caos, pois cada fabricante passou
• HTML+: A partir de uma lista a definir as suas próprias formas de
de discussão eletrônica, criada em marcação. Com isso, neste mesmo
Desde o surgimento do HTML até
1991, Dave Regett, da HP, passou ano foi criada a IETF (Força Tarefa
o momento presente, o HTML passou
a desenvolver pesquisas para a im- para a Engenharia da Internet), que
por uma série de versões, as quais vamos
plementação de novos recursos da tinha por objetivo analisar e definir
ver agora:
linguagem HTML, passando a ser um padrão único para o HTML.
• HTML: A web que conhecemos Nessa época, a predominância de
chamada de HTML+, sendo essa
hoje, foi inventada em 1992 por navegador web era da Mosaic, que
versão publicada no ano de 1993.
Tim Berners-Lee. Ela surgiu com logo após se tornou o Netscape.
Assim, a partir dessa definição, con-
a pesquisa de Tim para descobrir um Esse sucesso deveu-se ao Netscape
vencionou-se que as definições do
método que permitisse aos cientistas funcionar em dispositivos precários.
HTML não se destinam a determi-
do mundo inteiro compartilhar, ele- Apesar da Netscape ter contribuído
nar a aparência, assim como nomes,
tronicamente, seus textos e pesqui- de forma considerável para a difusão
formatações, entre outras, de uma
sas, ainda, que permitisse interligar da internet, na época ela se isolou,
página Web. Estas funções sempre
estes documentos. Antes, em 1990, criando a sua própria definição de
devem ficar a cargo do programa
foi criado o primeiro protótipo de HTML e não participando de dis-
responsável por renderizar as pági-
navegador, o qual se chamava Nexus cussões da comunidade.
nas web. No ano de 2003, surgiu o
e era executado em computadores da
PROGRAMAÇÃO WEB 14
Em outubro de 1994, foi criado mesmo ano surgiu a versão 2.0 no Opera. Com base nesses estudos
o World Wide Web Consortion navegador Internet Explorer da Mi- surgiram novos elementos e estru-
(W3C), formado por empresas, ins- crosoft. turas para tornar a interpretação das
tituições e pesquisadores com o ob- • HTML 3.2: A versão 3.2 foi endos- páginas mais semântica para o na-
jetivo de desenvolver a web, criando sada pelo W3C em janeiro de 1997 vegador, além de adicionar diversos
normas e especificações aplicáveis como uma recomendação oficial, recursos que antes eram somente
aos diversos setores e segmentos da apresentando os recursos de tabelas possíveis com o emprego de plugins
web, desde fabricantes de tecnolo- e applets. ao navegador, não sendo recursos
gias e softwares a fornecedores. nativos e padrões da web. Confi-
• HTML 4.0: Em dezembro de 1997 ra neste link as funcionalidades do
No ano de 1995, iniciou-se o desen- o W3C definiu a versão 4.0 como
volvimento de novas marcações para HTML 5.0, que já estão disponíveis
sendo a versão oficial do HTML. em cada um dos navegadores exis-
o HTML, priorizando-se a inclusão
de elementos de apresentação, indo • HTML 4.01: Em dezembro de tentes no mercado.
de encontro às definições iniciais do 1999 o W3C publicou as definições
HTML. Mais adiante, em setembro para o HTML 4.01, o qual passou
desse mesmo ano, foi publicada a a ser a versão oficial, inclusive até
versão 2.0 do HTML. os dias de hoje, trabalhando para-
lelamente com a versão 5.0, ainda
• HTML 3.0: Ainda, em 1995, Dave não concluída.
Ragget lançou a proposta da versão
3.0 do HTML. Nessa versão passou • HTML 5: Em maio de 2007 o W3C
a ser criada uma marcação específica passou a estudar a implementação de
para estilização, bem como o sur- uma nova versão do HTML, cha-
gimento de marcações para tabelas, mada de HTML 5. Esse estudo foi
formulários e notas de rodapé. Nessa inicialmente baseado no trabalho
mesma época a Netscape adicio- realizado pelo grupo WHATWG
nou a funcionalidade de Frames no (Web Hypertext Application Tech-
HTML do seu navegador. Nesse nology Working Group), formado
pelas empresas Apple, Mozilla e
PROGRAMAÇÃO WEB 15
Tags Estruturais de fechamento. Desse modo, essa tag de Cada uma das tags, antes citadas,
fechamento é igual a de abertura, porém, possuem um significado, o qual será de-
precedida do caractere barra “/”. Somente talhado:
Um documento html refere-se a um
as tags que não possuem conteúdo não
arquivo de texto que deve ser salvo no sis-
necessitam de fechamento, por exemplo: <!DOCTYPE html>: Essa tag não
tema de arquivos com a extensão “.html”
faz parte do documento html, mas tem
ou “.htm”. <title>Este é um título</title> por objetivo informar o navegador que o
documento descrito na página está cons-
<br> truído com o uso de html versão 5;
html que será exibido na guia do navega- tado deverá ser uma página em branco. cor sólida através do seu nome em inglês,
dor; ou então através de um valor hexadecimal;
A tag <body> permite a inclusão
<body> e </body>: Essas tags re- de propriedades. Essas propriedades são Text: Esta propriedade permite
presentam o corpo do documento html. características que podem ou não ser adi- definir a cor das letras da página html,
É dentro deste bloco de tags que serão cionadas à tag, as quais complementam sendo preenchida da mesma forma que a
adicionados todos os elementos e conteúdo a funcionalidade original da tag. Assim, propriedade bgcolor.
que compõem a página html. determinadas tags somente funcionam de
forma correta, quando tiverem as suas pro- Exemplo:
Observação: O documento HTML priedades adicionadas. Respectivamente,
deve ser estruturado conforme apresen- essas propriedades sempre são um conjunto <!DOCTYPE html>
tado, porém, se algumas destas tags não formado por chave e valor, onde o valor <html>
<head>
forem adicionadas ou colocadas em ordem deve ser adicionado sempre entre aspas
<title></title>
diferente da apresentada, o resultado vi- duplas. Exemplo: </head>
sualizado no navegador, possivelmente, <body background=”imagem.png”
será o mesmo, visto que o motor de ren- Background=”imagem.png” text=”red”>
derização do navegador interpreta as tags </body>
conforme elas aparecem no documento. </html>
Algumas das propriedades que po-
Entretanto, o posicionamento incorreto dem ser adicionadas a tag <body> são:
das tags tornará a renderização da página Observação: Estas propriedades da
mais lenta e também ocasionará erros de tag <body> funcionarão nos testes, entre-
Backbround: Esta propriedade per- tanto, as mesmas não são mais suportadas
execução de rotinas Java Script. mite vincular uma imagem de fundo para pelo html 5.
a página html;
Agora, implemente o exemplo an-
terior em um arquivo html e execute este Bgcolor: Esta propriedade permite
arquivo no navegador de sua preferência, definir uma cor de fundo para a página
analisando o resultado. Se tudo foi imple- html. Esta cor pode ser definida como uma
mentado de forma correta, então, o resul-
PROGRAMAÇÃO WEB 17
Tabela de cores básicas Formatação de Texto e Imagens digo que serão vistos a partir de agora não
apresentam acentuação propositalmente,
Cor Nome da Representação pois em momento oportuno serão apre-
Cor Hexadecimal Agora que já conseguimos definir
sentadas maneiras de adicionar acentos e
a estrutura básica de uma página html,
black #000000 caracteres especiais no hml.
podemos começar a inserir conteúdo na
silver #C0C0C0 mesma. Para isso, utilizamos um conjunto
de tags que tem por objetivo estruturar e
gray #808080 organizar os textos inseridos na página
white #FFFFFF web.
<html>
<head>
</head>
<body>
<h1>Titulo de primeiro nivel</h1>
<h2>Titulo de segundo nivel</h2>
<h3>Titulo de terceiro nivel</h3>
<h4>Titulo de quarto nivel</h4>
<h5>Titulo de quinto nivel</h5>
<h6>Titulo de sexto nivel</h6>
</body>
</html>
PROGRAMAÇÃO WEB 19
Durante a elaboração de documentos, existe a necessidade de adicionarmos parágrafos para o mesmo. Também, há a
necessidade de adicionar uma quebra de linha que não seja um parágrafo.
As tags para inclusão de parágrafos e quebra de linha forçada são, respectivamente, <p> e <br>. Exemplo de código html
com parágrafos:
<html>
<head>
</head>
<body>
<h1>Residuo eletronico</h1>
<p>
Residuo computacional tambem conhecido como Residuo eletronico ou lixo eletronico, conhecidos
pelo acronimo de REEE (Residuo de Equipamentos Eletronicos) 1 e o termo utilizado para qualificar
equipamentos eletroeletronicos descartados ou obsoletos2.
A definicao inclui computadores, televisores,telemoveis/celulares, entre outros dispositivos.
A classificacao dos produtos por categoria pode ser encontrada no site da Comunidade Europeia 3
</p>
<p>
Origem: Wikipedia, a enciclopedia livre.
</p>
</body>
</html>
PROGRAMAÇÃO WEB 20
A partir do exemplo, podemos perceber que o browser interpretou apenas as tags <p> no código html, a fim de fazer a
quebra de linha, ignorando as quebras de linhas adicionadas no código fonte. Esta situação é um padrão na linguagem, de forma
que qualquer que seja a formatação, espaçamento ou quebra de linha adicionado ao texto, sem o uso de uma tag html ou css, a
formatação será sempre ignorada.
Assim, caso haja a necessidade de forçar uma quebra de linha que não seja um parágrafo, deve-se utilizar a tag
<br>, conforme segue o exemplo:
<html>
<head>
</head>
<body>
<h1>Residuo eletronico</h1>
<p>
Residuo computacional tambem conhecido como Residuo eletronico ou lixo eletronico, conhecidos
pelo acronimo de REEE (Residuo de Equipamentos Eletronicos) 1 e otermo utilizadopara qualificar
equipamentos eletroeletronicos descartados ou obsoletos2.<br>
A definicao inclui computadores, televisores,telemoveis/celulares, entre outros dispositivos.<br>
A classificacao dos produtos por categoria pode ser encontrada no site da Comunidade Europeia 3
</p>
<p>
Origem: Wikipedia, a enciclopedia livre.
</p>
</body>
</html>
PROGRAMAÇÃO WEB 21
Pela imagem mostrada, podemos são as seguintes: • Texto em Itálico: Tag <i>. Exemplo:
observar que quando adicionada a tag <br> <html>
ocorre de forma forçada a quebra da linha • Texto em Negrito: Tag <b>. Exem- <head>
no texto. Assim, a maior diferença do uso plo: </head>
da tag <br> em relação a tag <p> é a sua <html>
<body>
função semântica para o navegador e não <h1>Residuo eletronico</h1>
<head>
apenas o espaçamento diferenciado entre <p>
</head>
<i>Residuo computacional</i>
as linhas conforme pode ser observado. <body>
tambem conhecido como
<h1>Residuo eletronico</
A identificação semântica permite Residuo eletronico ou
h1>
lixo eletronico....
ao navegador saber que aquele conteúdo <p>
</p>
que está envolvido em uma tag do tipo <b>Residuo computacional</b>
<p>
<p> é um parágrafo, enquanto que se o tambem conhecido
Origem: Wikipedia, a
como Residuo eletronico
texto apenas for inserido e adicionadas enciclopedia livre.
ou lixo eletronico....
tags do tipo <br> para fazer a sua quebra, </p>
</p>
apesar de visualmente entendermos que </body>
<p>
</html>
se tratam de parágrafos, o navegador não Origem: Wikipedia, a
terá este entendimento, provocando, assim, enciclopedia livre.
possíveis divergências de renderização e </p>
</body>
dificuldade da página ser reconhecida da
</html>
forma correta pelos mecanismos de busca.
Tags para destacar textos
Com o uso do html é possível des-
tacar um texto de quatro formas diferen-
tes: pode-se tornar um bloco de texto em
negrito, itálico, sublinhado, ou riscado. As
tags para aplicar este tipo de formatação
PROGRAMAÇÃO WEB 22
• Texto Sublinhado: Tag <u>. Exemplo: • Texto Riscado: Tag <s>. Exemplo: Devemos observar que estes ele-
<html> <html>
mentos de formatação também podem ser
<head> <head> aplicados de forma combinada, conforme
</head> </head> segue exemplo:
<body> <body>
<h1>Residuo eletronico</h1> <h1>Residuo eletronico</h1> <html>
<p> <p> <head>
<u>Residuo computacional</u> <s>Residuo computacional</s> </head>
tambem conhecido como tambem conhecido como <body>
Residuo eletronico ou Residuo eletronico ou <h1>Residuo eletronico</h1>
lixo eletronico.... lixo eletronico.... <p>
</p> </p> <b><i>Residuo
<p> <p> computacional</i></b>
Origem: Wikipedia, a Origem: Wikipedia, a tambem conhecido como
enciclopedia livre. enciclopedia livre. <u>Residuo eletronico
</p> </p> ou <s>lixo eletronico</s></u>
</body> </body> ...
</html> </html> </p>
<p>
Origem: Wikipedia, a
enciclopedia livre.
</p>
</body>
</html>
PROGRAMAÇÃO WEB 23
Tag para alterar a fonte de um texto De acordo com o que se pode observar, a tag font somente
funciona se for utilizada em conjunto com as suas propriedades.
Não existe ordem específica para inclusão dessas propriedades,
Para alterar características da fonte de um determinado
não havendo, também, necessidade de inclusão de todas as pro-
bloco de texto em uma página, deve-se aplicar a tag <font>. Essa
priedades de uma única vez. A seguir, observe o detalhamento
tag permite, através do emprego de suas propriedades, alterar
de cada uma das propriedades.
a família da fonte, bem como o seu tamanho e cor, conforme
segue no exemplo:
<html>
Face: Permite definir as fontes que podem ser aplicadas
<head> ao elemento. Pode ser aplicada mais de uma fonte, desde que o
</head> respectivo nome seja separado por vírgula;
<body>
<h1>Residuo eletronico</h1> Size: Permite definir o tamanho da fonte. Nessa proprie-
<p>
dade é aceito um valor de um a sete, sendo que o valor padrão
Residuo computacional tambem conhecido
como Residuo eletronico ou lixo eletronico.... é três;
</p>
<p> Color: Permite aplicar uma cor ao texto. Pode ser aplica-
<font size=”1” color=”red” face=”verdana”> da uma cor sólida ou uma em formato hexadecimal, conforme
Origem: Wikipedia, a enciclopedia livre. tabela 1 deste documento.
</font>
</p>
</body> Tag para inclusão de imagens em uma página
</html>
Para atualizar a página de tempos em tempos. Até o momento, todos os códigos html dos exemplos não
possuíam acentuação de forma proposital, pois se fosse tentar
No exemplo, a atualização ocorre a cada 5 segundos: adicionar qualquer tipo de acentuação, a mesma não seria exi-
bida no documento, sendo exibido em lugar disso, um caractere
<meta http-equiv=”refresh” content=”5” /> não identificado.
</head> <html>
<body> <head>
<h1>Resíduo Eletrônico</h1> <title>Pagina de programacao web</title>
</body> <meta http-equiv=”content type”
</html> content=”text/html” charset=”utf-8” />
</head>
A segunda for- <body>
<h1>Resíduo Eletrônico</h1>
ma de inserir caracteres <p>
acentuados é através do ©<teste>
emprego de entidades </p>
html, com o intuito de </body>
codificar estes caracte- </html>
res. A vantagem do uso de entidades sobre o uso da página de
código reside apenas nos casos onde se torna necessário adicio-
nar caracteres não disponíveis no teclado, apenas na página de
código ou, então, caracteres reservados pela linguagem, como
o sinal de maior e menor (> e <). Segue uma pequena tabela de
como codificar determinadas entidades HTML, seguidas de
um exemplo de código:
Símbolo Descrição Sintaxe 1 Sintaxe 2 Neste link você poderá acessar uma lista de caracteres
© Copyright © © especiais que podem ser adicionados em uma página html.
® Marca Registrada ® ®
< Menor que < < Hyperlinks e Âncoras
> Maior que > >
& E comercial & & A internet que conhecemos atualmente, tem como uma
ç Cedilha ç ç de suas principais características a possibilidade de navegação
ã Acento ã ã entre as páginas da internet. A partir desse conceito, foi possível
PROGRAMAÇÃO WEB 29
criar hipertextos e interligar os mesmos, página, de forma que, se clicado sobre um determinado link, irá se mover na própria
criando, dessa forma, uma teia mundial página, posicionando o cursor no local destinado desta propriedade, por exemplo:
de informações.
<html>
O elemento utilizado para este re- <head>
<title>Pagina de programacao web</title>
curso é conhecido como elemento âncora,
<meta http-equiv=”content type” content=”text/html”
o qual destina-se a marcar um conteúdo charset=”utf-8” />
qualquer de um documento, seja ele um </head>
texto, uma imagem ou uma animação, <body>
com o qual o usuário poderá interagir, de <h1>Resíduo Eletrônico</h1>
forma que a partir desta iteração o mesmo <p>
<a href=”#destino”>Clique aqui</a>
possa navegar para um outro conteúdo na
</p>
web. Como em: <p>paragrafo 1....</p>
<p>paragrafo 2....</p>
<a href=”http://www.ftec.com.br”>Site <p>paragrafo 3....</p>
da Ftec</a> <p>paragrafo 4....</p>
<p>
No exemplo, quando clicarmos so- <a name=”destino”></a>
bre o termo “Site da Ftec”, seremos redire- </p>
</body>
cionados para o endereço web, contido na </html>
propriedade “href ”. Além da propriedade
href, existem outras propriedades, apre- No exemplo citado, quando o usuário clicar no hiperlink com o texto “Clique
sentadas a seguir: aqui”, o cursor será conduzido dentro da própria página até o local onde existe o
hiperlink com a propriedade name e com o valor “destino”.
Name: Identifica um determinado
ponto do documento que poderá ser utili- Target: Define de que forma o documento referenciado pelo hiperlink será
zado como destino de um link. Esta pro- aberto no navegador. Para esta propriedade, podem ser utilizados os seguintes valores:
priedade permite a navegação interna na
PROGRAMAÇÃO WEB 30
_blank: o documento é aberto em uma nova janela; conjuntos ordenados, os quais recebem uma marca de ordenação
sequencial, que pode ser alfabética, numérica ou ainda, podem
_parent: o documento é aberto na janela pai do docu- ser listas não ordenadas.
mento atual;
Uma lista ordenada é representada pela tag <ol>, enquanto
_self: o documento abre na mesma janela do documento; que uma lista não ordenada é representada pelo item <ul>. Os
itens que fazem parte de uma lista são definidos com o uso da
_top: o documento abre no corpo da janela do documento tag <li>. Exemplo de uma lista ordenada:
atual.
<html>
<html> <head>
<head> <title>Pagina de programacao web</title>
<title>Pagina de programacao web</title> <meta http-equiv=”content type”
<meta http-equiv=”content type” content=”text/html” charset=”utf-8” />
content=”text/html” charset=”utf-8” /> </head>
</head> <body>
<body> <h1>Lista de frutas</h1>
<h1>Resíduo Eletrônico</h1> <ol>
<p> <li>Maça</li>
<a href=”#destino” target=”_blank”> <li>Laranja</li>
Clique aqui</a> <li>Melância</li>
</p> </ol>
</body> </body>
</html> </html>
Listas
Exemplo de uma lista não ordenada: Para as listas ordenadas, pode-se optar em definir o valor
inicial da ordenação. Para isso, utilizamos a propriedade “start”,
<html> conforme pode-se observar no exemplo:
<head>
<title>Pagina de programacao web</title> <html>
<meta http-equiv=”content type” <head>
content=”text/html” charset=”utf-8” /> <title>Pagina de programacao web</title>
</head> <meta http-equiv=”content type”
<body> content=”text/html” charset=”utf-8” />
<h1>Lista de frutas</h1> </head>
<ul> <body>
<li>Maça</li> <h1>Lista de frutas</h1>
<li>Laranja</li> <ol start=”4”>
<li>Melância</li> <li>Maça</li>
</ul> <li>Laranja</li>
</body> <li>Melância</li>
</html> </ol>
</body>
</html>
Tabelas
Width: Define a largura da tabela em percentual. Se in- Bgcolor: Esta propriedade define a cor de fundo de uma
formado 100%, a tabela irá ocupar toda a largura do documento tabela, linha ou célula, podendo ser aplicada às tags table, tr,
no navegador. Esta propriedade pode ser aplicada na tag table th e td.
e na tag td ou th.
<table border=”1” width=”50%”>
<table border=”1” width=”50%”> <tr>
<tr> <th width=”20%”>Código</th>
<th width=”20%”>Código</th> <th width=”60%”>Nome</th>
<th width=”60%”>Nome</th> <th width=”30%”>Data de Nascimento</th>
<th width=”30%”>Data de Nascimento</th> </tr>
</tr> <tr bgcolor=”blue”>
<tr> <td>1</td>
<td>1</td> <td>José Silva</td>
<td>José Silva</td> <td>12/11/1979</td>
<td>12/11/1979</td> </tr>
</tr> <tr>
<tr> <td bgcolor=”red”>2</td>
<td>2</td> <td>Antonio Oliveira</td>
<td>Antonio Oliveira</td> <td>01/01/1990</td>
<td>01/01/1990</td> </tr>
</tr> </table>
</table>
PROGRAMAÇÃO WEB 35
Rowspan: Esta propriedade permite mesclar células entre Nota: As tabelas permitem, além de exibir dados em for-
linhas da tabela. O valor atribuído a ela refere-se à quantidade de mato tabular, organizar e estruturar o conteúdo de elementos
células que serão mescladas, devendo esta ser aplicada à tag td. de uma página. Dentro de uma determinada célula de tabela
podem ser adicionados quaisquer outros elementos, inclusive,
Colspan: Essa propriedade permite mesclar células en- outras tabelas. Atualmente, essa aplicação para as tabelas tem
tre colunas da tabela. O valor atribuído refere-se à quantidade sido menos utilizada, dando lugar ao conceito de sites tableless.
de células que serão mescladas, devendo esta propriedade ser
aplicada à tag td. Formulários HTML
<table border=”1”>
<tr> Em diversas situações existe a necessidade de enviar in-
<td colspan=”3”>1</td> formações da página web para o servidor, onde a mesma está
<td>4</td>
hospedada. Esta atividade está presente em situações bastante
</tr>
<tr> comuns, como, por exemplo, no cadastramento de um cliente
<td>5</td> em um e-commerce ou ainda, na própria compra de um item
<td rowspan=”3”>6</td> pela internet, que exige que a página envie para o servidor as
<td>7</td> informações relativas à compra que está sendo efetuada.
<td>8</td>
</tr>
Para ser possível utilizar este recurso, devemos utilizar
<tr>
<td>9</td> a tag form, e dentro desta tag devem ser adicionadas todas as
<td>11</td> demais tags que recebem informações do usuário. Assim, essa
<td>12</td> tag necessita de três propriedades a serem descritas:
</tr>
<tr> Name: Define o nome do formulário;
<td>13</td>
<td>15</td>
<td>16</td> Method: Define a forma de envio do formulário para o
</tr> servidor. Podem ser empregados dois valores: GET e POST.
</table> Quando empregado GET, as informações são enviadas para
PROGRAMAÇÃO WEB 36
o servidor através da URL da página. No caso do POST, as textos ou seleções pelo usuário. Esta tag possui a proprie-
informações são enviadas de forma oculta, garantindo mais dade type, a qual permite criar variações de tipos para
segurança para o processo de envio. este campo e também possuem a propriedade value, a
qual define um valor padrão para cada tag.
Action: Local onde deve ser inserida a url contendo o
endereço do servidor que processa a página html. • Tipo Text: Define um campo do tipo texto.
<input type=”radio” name=”sexo” value=”f”>Feminino</input> • Tipo Select: Este campo permite criar uma caixa de seleção
</form> com valores definidos. Para criar os elementos de seleção
desta tag, devem ser empregadas tags do tipo option.
• Tipo Checkbox: Permite selecionar alguma opção entre
um conjunto de opções. <form name=”cadastro” method=”GET” action=”http://www.
ftec.com.br/processa.aspx”>
<form name=”cadastro” method=”GET” action=”http://www. <input type=”text” value=”usuario”></input>
ftec.com.br/processa.aspx”> <input type=”password”></input>
<input type=”text” value=”usuario”></input> <input type=”radio” name=”sexo”
<input type=”password”></input> value=”m”>Masculino</input>
<input type=”radio” name=”sexo” value=”m”>Masculino</input> <input type=”radio” name=”sexo”
<input type=”radio” name=”sexo” value=”f”>Feminino</input> value=”f”>Feminino</input>
<input type=”checkbox” value=”email”>Contato por email</input> <input type=”checkbox” value=”email”>Contato por
email</input>
<input type=”checkbox” value=”telefone”>Contato por telefone </input>
</form> <input type=”checkbox” value=”telefone”>Contato
por telefone </input>
<input type=”hidden” name=”codigo” value=”1”></
• Tipo Hidden: Permite adicionar um valor para um campo
input>
oculto; <select name=”uf”>
<form name=”cadastro” method=”GET” action=”http://www. <option>SP</option>
ftec.com.br/processa.aspx”> <option>SC</option>
<input type=”text” value=”usuario”></input> <option>RJ</option>
<input type=”password”></input> <option>RS</option>
<input type=”radio” name=”sexo” value=”m”>Masculino</input> </select>
<input type=”radio” name=”sexo” value=”f”>Feminino</input> </form>
<input type=”checkbox” value=”email”>Contato por email</input>
<input type=”checkbox” value=”telefone”>Contato
por telefone </input> • Tipo TextArea: Este campo permite incluir uma caixa
<input type=”hidden” name=”codigo” value=”1”></ de texto para digitação.
input>
</form>
PROGRAMAÇÃO WEB 38
<html> </tr>
<head> <tr>
<title>Pagina de programacao web</title> <td>Contato</td>
<meta http-equiv=”content type” <td>
content=”text/html” charset=”utf-8” /> <input
</head> type=”checkbox”
<body> value=”email”>Contato
<form name=”cadastro” method=”GET” por email</input>
action=”http://www.ftec.com.br/processa. <input
aspx”> type=”checkbox”
<table> value=
<tr> ”telefone”> Contato por
<td>Nome:</td> telefone </input>
<td><input type=”text” </td>
value=”usuario”></input></td> </tr>
</tr> <tr>
<tr> <td>UF</td>
<td>Senha</td> <td>
<td><input <select name=”uf”>
type=”password”></input></td> <option>SP
</tr> </option>
<tr> <option>SC
<td>Sexo</td> </option>
<td> <option>RJ
<input type=”radio” </option>
name=”sexo” <option>RS
value=”m”>Masculino </option>
</input> </select>
<input type=”radio” <td>
name=”sexo” </tr>
value=”f”>Feminino <tr>
</input> <td>Observacoes</td>
</td> <td><textarea name=
PROGRAMAÇÃO WEB 40
<audio controls>
<source src=”audio.ogg” type=”audio/ogg”>
<source src=”audio.mp3” type=”audio/mpeg”>
O navegador não suporta audio
</audio>
3. Construa uma página HTML somente com as tags estruturais, execute a página
em um navegador e avalie o resultado.
A tabela deve ter uma borda e a linha de cabeçalho deve exibir os títulos das
colunas em negrito, empregando a tag específica para destacar títulos de colunas.
8. Crie uma página chamada “formulário.html”. Esta página deve conter um for-
mulário que empregue o método de envio “Get” para o endereço http://www.
jmenzen.com.br/teste.aspx. Os campos deste formulário devem ser os campos
da tabela criada na atividade anterior. Cada um dos campos deve ser do tipo
equivalente à característica do campo. Este formulário deve ser estruturado
com os campos do formulário, um abaixo do outro, devendo ser alinhados
com o emprego de tabela. Para finalizar, o formulário deve possuir um botão
para enviar o formulário e outro botão para limpar as informações do mesmo.
10. Pesquise uma música no formato mp3 e faça o download da mesma. Após,
construa uma página html contendo todas as tags estruturais e também uma
tag de áudio, na qual o arquivo .mp3 deve ser inserido. Esta tag áudio deve
conter os controles sobre a música.
PROGRAMAÇÃO WEB 46
NOÇÕES DE
DESIGN
Neste momento, após ter aprendido HTML,
provavelmente você está ansioso por criar
web sites com uma aparência agradável aos
olhos. A partir de agora, você passará a ter
uma noção de como construir um website
com uma boa aparência e usabilidade.
PROGRAMAÇÃO WEB 47
Usabilidade Memorização
clara, o que a empresa tem para oferecer que tentamos tratar essas necessidades,
e o que os usuários podem fazer no site, aliadas ao objetivo de um projeto, falamos
as pessoas desistem. em acessibilidade.
Outro fator importante que está li- O layout de uma página vai depen-
gado a acessibilidade é a visibilidade de der da criatividade e do conteúdo que vai
um site perante aos mecanismos de busca conter. Por esse motivo, muitas vezes o
(Google, por exemplo). Para tal, é neces- cliente dá indicações precisas ao designer,
sário um uso aprofundado de algumas para que ele possa, através da arquitetura
técnicas de programação para tornar o de informação, técnicas de usabilidade e
site mais acessível a esses mecanismos e acessibilidade, trabalhar no layout. Desse
melhorar o seu ranking nas pesquisas. modo, o layout consiste em um rascunho,
esboço ou projeto, um trabalho prévio que
Layout dá uma ideia de como será a aparência
final da página em questão. Pode ser um
desenho simples numa folha ou algo mais
Layout é uma palavra inglesa, que evoluído, quando o projeto já está em uma
significa plano, arranjo, esquema, design fase mais avançada.
ou projeto. Na área de arte gráfica, o layout
é um esboço ou rascunho que mostra a
estrutura física de uma página de um jor-
nal, revista ou página na internet (como
um blog, por exemplo). O layout engloba
elementos como texto, gráficos, imagens e
a forma como eles se encontram em um de-
terminado espaço. O layout gráfico pres-
supõe o trabalho de um designer gráfico,
que vai trabalhar no formato e números de
página, assim como suas margens, núme-
Síntese
O design adequado, seguindo os padrões, pode garantir
o sucesso de um website; assim, sempre que construirmos
um website, devemos nos lembrar das boas práticas de web
design: Arquitetura da informação, Usabilidade, Acessibi-
lidade e Layout.
Questões para recapitularmos!
1. Qual a importância da usabilidade na cons-
trução de uma página web?
A LINGUAGEM
CSS
Depois de entendermos como funciona a
linguagem HTML e aprendermos sobre os
conceitos de Web Design, chegou a hora de
colocarmos tudo isso em prática através do
CSS. Neste capítulo, você aprenderá a criar
uma página web bonita e cheia de detalhes.
PROGRAMAÇÃO WEB 54
<html>
Estilo Linkado ou Externo
<head>
<link rel=”stylesheet” href=”arquivo.css”
type=”text/css”/>
Nesta forma de inclusão do CSS, todo o estilo é escrito em <style>
um ou mais arquivos (.css) externos à página HTML, sendo os div {
mesmos referenciados através da TAG <link/> no cabeçalho da background-color: #000000;
página. Esta maneira de aplicar estilos a uma página apresenta }
vantagens sobre as demais por permitir que uma mesma folha </style>
de estilo seja aplicada a diversas páginas HTML, e permitindo </head>
<body>
também que estes estilos fiquem salvos no cache2 do navegador, <div style=”background-color: #ffff00”></div>
por exemplo. </body>
</html>
<head>
<link rel=”stylesheet” href=”arquivo.css” type=
No “arquivo.css” temos:
”text/css”/>
</head>
div {
background-color: blue;
Precedência de Estilos }
Para que o browser decida qual regra irá aplicar, ele segue
As três formas de aplicação de estilos que vimos ante-
algumas regras gerais de precedência. A seguir é apresentada
riormente (in-line, in-page, externo) podem ser inclusas na
sua ordem de relevância onde, por exemplo, um estilo in-line
mesma página, referindo-se ao mesmo elemento. Quando isso
tem mais “força” que um estilo externo.
ocorre, qual das formas de aplicação irá, efetivamente, estilizar
o elemento? Exemplo:
1. Estilo In-line;
2 O cache pode ser compreendido como uma área de armazenamento onde dados ou processos, frequentemente,
utilizados são guardados para um acesso futuro mais rápido, logo, perceba que um site que você normalmente
acessa carrega mais rapidamente que um site nunca acessado. Isso se deve ao fato do cache do navegador salvar a 2. Estilo In-page;
estrutura básica das páginas que você está habituado a visitar, poupando o tempo de download delas em exibições
futuras. Ele salva os planos de fundo das páginas, principais links, arquivos utilizados pela página (.css, .js) e
diversos outros dados dela, o que torna a navegação mais rápida.
PROGRAMAÇÃO WEB 56
3. Folha de Estilo Externa (linkada); <p> Este é um texto em <span style=”font-style:italic”> italico </span></p>
4. Estilo padrão do navegador.3 Outra tag HTML muito importante e que ainda não mencionamos, é a tag
DIV. Essa tag tem por objetivo nos permitir a divisão do conteúdo da página em
áreas, independentes entre si. Estas áreas servem para separar, semanticamente, o
Tags adicionais de HTML para
conteúdo de acordo com o seu objetivo de negócio.
iteração com o CSS
SELETOR DE TIPO Para esse trecho de código apre- pre que for possível e que um seletor de
sentado, atribuímos a cor de texto azul a descendência não possua mais que 4 níveis.
todas as tags span que estão dentro de pa- Exemplo:
Um seletor de tipo combina com rágrafos (p). Sendo possível selecionarmos
qualquer instância de um determinado tipo com ainda mais especificidade, escrevendo p span {
de elemento. Veja no exemplo, que este mais elementos, como: color: blue;
}
tipo de seletor permite aplicarmos o estilo
com a própria tag. Aqui, estamos dizendo Neste exemplo, atribuímos um ta-
que todo o parágrafo terá cor vermelha. manho de fonte de 14px(pixels) a todas Se possível, opte por estes:
tags span que estão dentro de link (a),
texto span {
p { situados em parágrafos (p), dentro de uma color: blue;
color:red; tag div. }
}
div p a span { Na página teremos:
font-size: 14px;
SELETOR DESCENDENTE }
<p class=”texto”>este texto tem uma
palavra em <span>azul</span></p>
Não há um limite para esta utili- <p class=”texto”>este texto tem
Neste seletor, podemos escolher um zação, porém, o uso em demasia, tanto uma palavra em <span class=”span-
ou mais elementos que estão dentro de de seletores de tipo simples quanto de texto”>azul</span></p>
outro elemento para aplicar o estilo. Ou descendência, acaba necessitando de um
seja, que são descendentes do elemento maior processamento do navegador para
principal. organizar a página e localizar o elemento SELETOR DE ID
a ser estilizado, o que por sua vez, torna
p span { a impressão da página mais lenta. Assim,
color: blue; Aplicamos um seletor de ID a um
}
recomendamos que ao invés de utilizar
seletores de tipo em uma descendência, elemento, especificado na página, atra-
usemo-nos seletores de classe ou ID ,sem- vés do atributo ID=”nome_id”; todo ID
é único, podendo ser utilizado somente
PROGRAMAÇÃO WEB 58
uma vez no mesmo documento. Exemplo: “reciclável”, já que pode ser usado mais *{
de uma vez na página permitindo que se margin:0;
}
Na página temos: digite menos códigos. Exemplo:
<p id=”texto”>Meu texto com ID</p> Na página: As boas práticas nos recomendam
não atribuir muitas propriedades para este
No arquivo CSS temos: <div class=”content”> </div> tipo de seletor, pois ele também interfere
no carregamento da página; normalmen-
#texto { No arquivo CSS: te é usado para zerar margens e padding
Font-weight: bold: (espaçamento interno) dos elementos.
} .content{
width:200px; PSEUDO-CLASSES
Perceba que dentro do arquivo CSS }
a diferenciação de um seletor de ID é feita
através do caractere “#”, antes do nome Note que dentro do arquivo CSS Pseudo-classes são tipos de classes
do seletor. a diferenciação de um seletor de classe é especiais que NÃO são definidas pelo
feita pelo caractere “.” antes do nome do desenvolvedor (já são pré-definidas). São
SELETOR DE CLASSE seletor. mais utilizadas para atribuir propriedades
que destacam links (TAGs [a]) novos ou já
SELETOR UNIVERSAL visitados, para alterar as propriedades de
Aplicamos um seletor de classe a um elemento quando o cursor do mouse
todo e qualquer elemento especificado estiver sobre ele, entre outros. O seletor
na página pelo atributo class=”nome_da_ Este seletor é usado como o nome de pseudo-classe é escrito com o nome do
class”. A grande vantagem do uso de sele- sugere, para atribuir propriedades a todos elemento ou seletor + dois pontos + nome
tores de classe é que ela pode ser utilizada os elementos da página. Ele é definido por da pseudo-classe. Exemplo:
sem restrições dentro de um mesmo do- um asterisco antes das chaves que abrem e
cumento. Fazendo com que o uso de CSS, fecham a declaração. Exemplo de arquivo a:hover {
por meio de classes, torne o código mais CSS: color: blue;
}
PROGRAMAÇÃO WEB 59
Outras pseudo-classes de links: um link quando o mouse está sendo usados com cautela. Se valores negativos
clicado ou se pressionarmos a tecla não forem suportados pela aplicação de
• Com o seletor a:link, estilizamos “Enter”, ativando o link. usuário, eles serão convertidos para o va-
apenas os links não-visitados, ou lor mais próximo suportado (e isso pode
seja, links no seu estado normal. Unidade de Medida em CSS tornar-se desastroso para um layout).
• %: a uma medida previamente de- Assim, pixel é uma medida ligada a Estilos para Formatação de Texto
finida (normalmente relacionada ao resolução do dispositivo de exibição.
elemento pai).
Até o momento, entendemos como
UNIDADE DE MEDIDA ABSOLUTA podemos estruturar e organizar o CSS
UNIDADE DE MEDIDA – PIXEL dentro da nossa página. A partir de agora,
precisamos conhecer as propriedades do
É aquela que não está referenciada a
CSS que nos permitem aplicar formatações
A unidade de medida de compri- qualquer outra unidade e nem é herdada.
aos textos da nossa página.
mento pixel é relativa à resolução do dis- São unidades de medida de comprimento,
positivo de exibição (a tela de um monitor, definidas nos sistemas de medidas pela
por exemplo). A mais simples definição física e são conhecidos como “centímetros, Propriedade Color:
de pixel seria: polegadas etc. São indicadas para serem
usadas quando as mídias de exibição são
A propriedade color é utilizada para
Pixel é o menor elemento em um perfeitamente conhecidas.
definir uma cor para um texto. Em CSS,
dispositivo de exibição, ao qual é possível
uma cor de fonte pode ser definida de três
atribuir-se uma cor. • pt: ponto
maneiras:
Considere um dispositivo de exi- • pc: pica
• Com um valor em hexadecimal,
bição construído com uma densidade de
como #ffff00 (vermelho);
90 dpi (dpi = dots per inch = pontos por • mm: milímetro
polegada). Por definição, a referência pa-
• Com um valor em RGB, como rgb
drão para pixel é igual a um ponto no • cm: centímetro
(255,255,0) (vermelho);
dispositivo citado. Daí, pode-se concluir
que 1 pixel naquele dispositivo de exibição • in: polegada
• Com um nome, como red;
é igual a 1/90 inch = 0,28 mm.
Sintaxe: 4 Todo texto dentro de uma TAG ‘a’ (link) tem como padrão o valor sublinhado, para retirar este padrão é só
atribuir o valor none a esta propriedade.
PROGRAMAÇÃO WEB 64
<html> p{
<head> font-family: “Times New Roman”, Times, serif;
<style> }
.texto-1{
text-decotarion:none; No exemplo, utilizamos a família “Times New Roman5”
}
.texto-2{
a fim de aplicar esta fonte à página. Nesse caso, o navegador
text-decotarion:underline; procura nos diretórios locais pela fonte, se esta fonte não existir
} no computador do usuário, será substituída pela fonte padrão do
.texto-3{ navegador: por este motivo esta propriedade deve ser descrita,
text-decotarion:overline; sempre iniciando pela fonte desejada, seguida de uma ou mais
} fontes genéricas similares com a desejada. Garantindo, assim,
.texto-4{
text-decotarion:line-through;
que o navegador sempre chegue a um resultado, no mínimo,
} próximo ao desejado.
</style>
</head> Propriedade Font-size:
<body>
<p class=”texto-1”>texto normal</p>
<p class=”texto-2”>texto sublinhado</p>
<p class=”texto-3”>texto sobrelinhado</p>
Especifica o tamanho da fonte. Pode ser atribuído uma
<p class=”texto-4”>texto riscado</p> medida tanto relativa, quanto absoluta. Quando este valor não
</body> é setado pelo desenvolvedor acaba sendo orientado pelas pro-
</html> priedades padrões do navegador.
<html>
Propriedade Font-Family: <head>
<style>
.texto-1{
Com esta propriedade nós podemos especificar uma fa- /*Tamanho defindo pelo navegador*/
mília de fontes a ser atribuída ao documento ou determinado }
bloco de texto. Exemplo:
5 Se o nome de uma família de fonte possuir mais de uma palavra, deve ser descrito entre aspas.
PROGRAMAÇÃO WEB 65
• normal
Propriedade Font-style:
• bold
Possuem a propriedade CSS display:inline; como padrão, Exemplos de elementos (TAGs) de bloco:
ocupam somente a largura necessária para exibir seu próprio
• div
conteúdo. Só podem conter informações ou outros elementos
“inline”. Diferente dos elementos nível de bloco, os elementos • h1
inline não começam em nova linha. Ficando dispostos lado a
• h2
lado, até ocuparem toda largura disponível na página.
• ul
Exemplos de elementos (TAGs) inline:
• li
• a
• p (a TAG p é inicialmente usada como um “bloco” de texto)
• img
• input ELEMENTOS DE CABEÇALHO
• label
Possuem a propriedade CSS display:none; como padrão,
• span
são definidos como elementos invisíveis, porque estão no do-
cumento, mas o usuário não os vê. Exemplos de elementos
ELEMENTOS DE BLOCO (TAGs) de bloco:
• meta
Possuem a propriedade CSS display:block; como padrão,
• link
ocupam toda largura disponível na página e criam uma linha
invisível antes e depois de si próprios. Elementos de bloco sem- • style
pre começam em nova linha. Um elemento que venha antes ou
• title
depois de um elemento de bloco é renderizado acima ou abaixo
PROGRAMAÇÃO WEB 68
Todo elemento presente na página pode ter sua renderi- Block: Elementos com display block sempre promovem
zação padrão alterada através da propriedade “display”, o que uma quebra de linha no f luxo da página. Um bloco contém
interfere no fluxo da página. um espaço em branco tanto em cima quanto embaixo e não
permite outros elementos HTML ao lado, exceto quando tiver
PROPRIEDADE DISPLAY sido declarado o contrário (por exemplo, declarar a propriedade
“f loat” para o elemento próximo ao bloco). São mais rígidos
que elementos inline quanto a suas dimensões, principalmente
A propriedade display determina como um elemento se quando possuírem altura e largura definidas por alguma medida
comporta no fluxo da página, assim, por meio desta propriedade, específica, o que pode ocasionar o “vazamento” do conteúdo
podemos alterar o modo de renderização padrão dos elementos para fora do bloco, ou, que o bloco corte parte do conteúdo que
descritos no fluxo da página. Exemplo: ficará escondida durante a visualização da página.
Mesmo que um elemento esteja com display none, ele será <div class=”box-1”></div>
lido pelo navegador e influenciará o carregamento da página. <div class=”box-2”></div>
<div class=”box-2”></div>
Dessa forma, sempre que for possível remova os elementos da
</body>
página, ao invés de atribuir display none a elementos que não </html>
serão usados ou não irão influenciar na renderização da página.
height:80px; <html>
float:nome; <head>
} <style>
</style> div {width:50px;
</head> height:50px;margin:0px;float:left;}
<body> .box-1{
<div class=”box-1”></div> background-color:red;
<div class=”box-2”></div> }
<div class=”box-3”></div> .box-2{
<div class=”box-4”></div> background-color:blue;
<div class=”box-5”></div> }
<div class=”box-6”></div> .box-3{
</body> background-color:green;
</html> }
.box-4{
A propriedade CLEAR é usada para controlar o com- background-color:cyan;
float:nome;
portamento dos elementos que seguem aos elementos float no clear:left;
documento. /*O estilo clear permite limpar a flutuação de um
element que vier antes o depois de determinado
Por padrão, o elemento subsequente a um float, ocupa o element, proporcionando uma especie de quebra de
espaço livre ao lado do elemento flutuado. pagina*/
}
.box-5{
A propriedade clear pode assumir os valores left, right, background-color:yellow;
both (ambos) ou none. A regra geral é: se clear for, por exem- }
plo, definido both para um box, a margem superior deste box .box-6{
será posicionada sempre abaixo da margem inferior dos boxes background-color:black;width:80px;heigh
flutuados que estejam antes dele no código (ocasionando uma t:80px;
espécie de quebra de linha). }
</style>
</head>
<body>
PROGRAMAÇÃO WEB 73
6 Atribuindo-se o valor “auto” para a borda esquerda e direita de um elemento ela irá, automaticamente,
centralizar na página ou no elemento pai.
PROGRAMAÇÃO WEB 75
• repeat-x: a imagem irá repetir somente no eixo x (hori- Background-Position: Posiciona através de coordenadas
zontalmente); onde ficará a primeira aplicação de uma imagem de fundo. Ao
contrário da propriedade position, esta propriedade pega o ponto
• repeat-y: a imagem irá repetir somente no eixo y (ver- central do elemento como referência. Podendo receber valores
ticalmente); numéricos para X e Y ou apresentar os seguintes valores:
• no-repeat: a imagem não irá ser repetida. • Para o eixo x: left, center, right;
<html>
<head>
• Para o eixo Y: top, center, bottom;
<style>
div{ Para esta propriedade devem ser atribuídos valores para
width:300px; x e y. Se o valor for igual para ambos eixos, então é possível
height:250px; declarar somente um valor, como no caso do valor center ou
margin:20px 10px; uma medida numérica.
background-color:green;
background-image:url(http://www.teste.
<html>
com.br/imagem.png);
<head>
}
<style>
.box-1{
div{
background-repeat:no-repeat;
width:300px;
}
height:250px;
.box-2{
margin:20px 10px;
background-repeat:repeat-x;
background-color:green;
}
background-image:url(http://www.teste.
</style>
com.br/imagem.png);
</head>
background-repeat:no-repeat;
<body>
}
<div class=”box-1”></div>
.box-1{
<div class=”box-2”></div>
background-position:110px center;
</body>
}
</html>
PROGRAMAÇÃO WEB 77
.box-2{
background-position:-93px -30px;
}
</style>
</head>
<body>
<div class=”box-1”></div>
<div class=”box-2”></div>
</body>
</html>
Exemplo:
JAVASCRIPT
Quando você navega na internet, já deve ter se
indagado sobre como são programadas aquelas
páginas que interagem conosco, como se a página
fosse saber o que queremos fazer. A partir
de agora, vamos aprender a tornar as nossas
páginas interativas com o uso da tecnologia
JavaScript.
O JavaScript é uma linguagem de programação imple-
mentada para ser executada dentro do navegador web, para
que os programas (scripts) escritos nesta linguagem fossem
executados no próprio navegador, sem haver necessidade deste
programa passar pelo servidor. Por conta disso, o JavaScript
é uma linguagem conhecida como linguagem “client-side”.
Para este tipo de inclusão dos scripts e para garantir que <HTML>
os mesmos não sejam exibidos na página, é recomendado que <HEAD>
<TITLE>Meu primeiro script</TITLE>
o script seja inserido em um bloco de comentário do HTML.
<SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/
Isso é necessário, pois o JavaScript pode estar desabilitado no JAVASCRIPT”>
navegador ou, então, o navegador pode não possuir suporte ao <!--
JavaScript.
document.write(“Olá mundo!”);
Veja a seguir dois exemplos de script, um inserindo o script
no corpo da página e o outro inserindo o mesmo no cabeçalho -->
</SCRIPT>
da página. </HEAD>
<BODY>
<HTML> </BODY>
<HEAD> </HTML>
<TITLE>Meu primeiro script</TITLE>
</HEAD>
<BODY>
Para o caso da inclusão do script em um arquivo separado,
<SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/ neste arquivo basta ser inserido o script, enquanto que na página
JAVASCRIPT”> html deve ser feita a referência a este arquivo, conforme segue
<!-- o exemplo de código.
document.write(“Olá mundo!”); function OlaMundo()
{
--> document.write(“Olá mundo!”);
</SCRIPT> }
</BODY>
</HTML>
PROGRAMAÇÃO WEB 85
O primeiro bloco representa o arquivo “arquivo.js”, o Um ponto muito importante que deve ser considerado
qual contém o script JavaScript, enquanto que o segundo bloco quando se programa em JavaScript é como identificar se o script
apresenta a forma como este arquivo deve ser relacionado na funcionou corretamente ou apresentou algum problema. Existem
página HTML. diversas técnicas para identificar estas situações, entretanto,
todas estão relacionadas ao uso do Browser para identificar a
Na página HTML podem ser relacionados diversos ar- execução do mesmo.
quivos JavaScript.
Para isso, a maneira mais simples é utilizar o console do
Caso este exemplo seja executado, no momento ele não navegador para verificar as possíveis falhas do script. Logo, o
irá apresentar nada na página do navegador, pois foi criada uma código exibido terá o seguinte resultado no browser:
função JavaScript, assunto que ainda não foi apresentado.
<HTML>
Além de ser necessário sabermos o local onde o script pode <HEAD>
ser inserido no documento, existem alguns outros detalhes que <TITLE>Meu primeiro script</TITLE>
devem ser considerados para a linguagem: </HEAD>
<BODY>
<SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/JAVASCRIPT”>
• O JavaScript é uma linguagem case sensitive, ou seja, a <!--
linguagem diferencia letras maiúsculas de letras minús-
culas. Se a escrita de um comando JavaScript não seguir document.write(“Olá mundo!”);
PROGRAMAÇÃO WEB 86
Procure sempre utilizar o console do navegador para iden- A seguir, mostramos a tabela com os tipos de dados
tificar possíveis falhas de execução dos scripts JavaScript. possíveis de serem utilizados no JavaScript:
Tipo Descrição Exemplo
Variáveis, Atribuições e Operações
Number Permite armazenar qualquer 3.675
valor do tipo numérico, podendo 1
Um dos recursos disponíveis em todas as linguagens de ser um valor inteiro ou decimal. 3
programação é a possibilidade de armazenar uma informação String Representa uma cadeia de “esta é uma
em uma área reservada de memória. Nesse conceito, a infor- caracteres, sempre entre aspas string”
mação armazenada nesta área é identificada pelo termo “valor”, duplas (“).
enquanto que a área de memória é referenciada por nós, através
Boolean Verdadeiro ou falso True
de uma “variável”.
False
Estas variáveis podem armazenar qualquer tipo de valor, e Null Valor vazio, sem significado
no caso do JavaScript, por ser uma linguagem fracamente tipada, Object Qualquer valor associado a um
onde o tipo de informação armazenado não é explicitado como objeto
ocorre em linguagens de programação, como o Java ou C++. Function Permite armazenar uma função
em uma variável.
O tipo da variável é assumido de acordo com o valor que
é atribuído à mesma. O tipo é muito importante, pois mais <HTML>
adiante iremos perceber que determinadas operações podem ser <HEAD>
realizadas somente para determinados tipos de valor. <TITLE>Meu primeiro script</TITLE>
</HEAD>
<BODY>
No JavaScript, para utilizamos uma variável, o primeiro <SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/
passo é declarar a mesma linguagem e, após, atribuir um valor JAVASCRIPT”>
a mesma, de acordo com a necessidade. A declaração da variável <!--
é feita por meio da palavra reservada “var”, seguida do nome var nome;
da variável. var idade;
PROGRAMAÇÃO WEB 88
nome = “João Pedro”; quebra de linha será interpretada pelo navegador, como podemos
idade = 20; observar na imagem.
document.write(“Olá, me chamo “ +
nome); Para ser possível
document.write(“<br>”); utilizar as variáveis em
document.write(“Tenho “ + idade + “ anos”); uma linguagem de
--> programação, deve-se,
</SCRIPT> acima de tudo, saber
</BODY>
como atribuir valores
</HTML>
a estas variáveis.
O código anterior apresenta um exemplo de declaração
Até agora, já vimos como realizar tal atribuição pelo sinal
e uso de variáveis. A variável “nome” recebe uma string, en-
de igual (=), porém existem ainda outras formas de fazermos
quanto que a variável idade recebe um valor numérico. A partir
estas atribuições, conforme segue a tabela.
da atribuição destes valores é que a variável passa a conhecer
o seu tipo.
Além das variáveis e atribuições, uma linguagem de pro- que outras são mais complexas. Inicialmente, serão abordadas
gramação sempre necessita que sejam realizadas operações entre técnicas simples de fazer esta interação e nos próximos tópicos
valores e variáveis. Estas operações podem ser matemáticas, serão vistas formas mais complexas e corretas de fazer isso.
lógicas ou envolvendo caracteres (strings) ou datas. Para um
bom entendimento, observe a lista de operações matemáticas Para obtermos uma informação do usuário, podemos uti-
que podem ser feitas pelo JavaScript. lizar o “prompt”. Através deste, é possível que o usuário informe
um valor qualquer que possa ser utilizado no script.
Operador O que faz
X + y (numérico) Soma x e y Um aspecto importante que deve ser considerado, é que
qualquer informação obtida da interface com o usuário sempre
X + y (strings) Contatena x e y. Exemplo: x = “Joao”, y = “
será do tipo caractere (strings). Caso, desejemos utilizar esta
Pedro”. X + y = “Joao” + “ Pedro” = “Joao
informação como um valor numérico, a mesma deve ser con-
Pedro”.
vertida para número, por meio de uma função específica.
X-y Subtrai y de x
X*y Multiplica x e y <HTML>
<HEAD>
X/y Divide x e y <TITLE>Meu primeiro script</TITLE>
X%y Resto da divisão de x e y </HEAD>
<BODY>
X++, ++x Incrementa x em um. <SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/
X--. --x Decrementa x em um. JAVASCRIPT”>
<!--
-x Inverte o sinal de x. var nome;
var idade;
Interagindo com o Usuário
nome = prompt(“Informe o seu nome”);
idade = prompt(“Informe a sua idade”);
Existem diversas maneiras de interagirmos ou obtermos
informações do usuário através do JavaScript. Algumas das idade = Number(idade);
formas são mais simples e rápidas de serem utilizadas, enquanto
PROGRAMAÇÃO WEB 90
<HTML>
<HEAD>
<TITLE>Meu primeiro script</TITLE>
</HEAD>
Após o usuário informar o nome e clicar sobre o botão <BODY>
“OK”, o valor informado será atribuído a variável “nome”. Caso <SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/
seja clicado no botão “Cancelar”, o valor retornado para a va- JAVASCRIPT”>
riável será “null”. <!--
var nome;
Já, no caso da idade, quando for informado um valor para var idade;
a idade, o mesmo será tratado como uma string e, posterior-
mente, deverá ser convertido através do comando “Number”, nome = prompt(“Informe o seu nome”);
idade = prompt(“Informe a sua idade”);
visto no exemplo anterior.
Para retornar uma informação para o usuário, podemos idade = Number(idade);
empregar dois comandos no momento. É possível utilizar a alert(“Olá, me chamo “ + nome);
função “alert”, a qual retorna uma mensagem na tela, exigindo alert(“Tenho “ + idade + “ anos”);
que o usuário pressione “ok” para que a mensagem possa ser -->
fechada, ou então, podemos utilizar o comando “document. </SCRIPT>
write”, que, como visto anteriormente, tem a função de escrever </BODY>
</HTML>
PROGRAMAÇÃO WEB 91
O código de exemplo da página anterior mostra três fun- Orientação a Objetos em JavaScript
ções que foram criadas no cabeçalho do script. É importante
perceber que apenas uma função criada não executa processa- Orientação a objetos é um paradigma de programação,
mento algum. Ela somente irá executar processamento a partir baseado na composição e interação de objetos para formar o
do momento em que for chamada pelo script. Ainda no exemplo programa. Assim, um objeto pode ser entendido como uma
anterior, podemos perceber que as funções criadas foram cha- abstração computacional de algo real. Exemplos de objetos
madas no corpo da página html através de outro script. podem ser um monitor, uma caneta, um cliente, um pedido,
uma página html, etc.
Funções devem ser utilizadas de forma massiva nos siste-
mas para tornar o código dos mesmos mais organizado e legível,
Cada objeto é formado por propriedades e métodos. As
entretanto, deve-se sempre seguir algumas regras no momento
propriedades definem as características de um objeto, enquanto
da criação da função:
PROGRAMAÇÃO WEB 96
Nem todas as linguagens são orientadas a objetos, entre- Style O objeto Style permite o acesso às propriedades
tanto, todas as linguagens modernas e atuais implementam os CSS de um determinado objeto html.
conceitos de orientação a objetos, inclusive o JavaScript. Math Objeto utilizado para trabalhar com funções
matemáticas.
Nesse curso, não iremos criar objetos próprios para serem
utilizados, contudo, iremos utilizar objetos que já são criados String Objeto que permite armazenar uma cadeia de
pelo próprio JavaScript. caracteres e também realizar operações sobre
strings.
No JavaScript, para acessarmos as propriedades e métodos XmlHttpRequest Este objeto permite comunicação assíncrona
de um objeto utilizamos o ponto (.) ao lado direito do objeto com o servidor através do uso do javascript. Com
em questão. Um exemplo de objeto é o próprio “document”, isso, é possível enviar e receber informações do
o qual já foi utilizado anteriormente. Assim, quando estamos servidor sem a necessidade de recarregar toda a
utilizando o comando “document.write()” estamos utilizando página.
o objeto “document”, o qual representa o documento html,
também estamos utilizando o seu método “write”, o qual tem
a capacidade de escrever aquilo que passamos para ele no cor-
po do documento. A seguir, apresentamos uma tabela com os
principais objetos do JavaScript:
PROGRAMAÇÃO WEB 97
Eventos <HTML>
<HEAD>
<TITLE>Meu primeiro evento</TITLE>
Eventos são ações executadas mediante determinada ati- <SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/
vidade executada pelo usuário ou pelo próprio sistema. Estes JAVASCRIPT”>
eventos podem ser disparados quando o usuário clicar sobre um <!--
botão, movimentar o mouse, e o sistema terminar de carregar function exibeAlerta()
a página em questão e diversas outras maneiras. {
alert(“Eu cliquei no botao!”)
Os eventos são de extrema importância, pois podemos }
associar a eles funções ou comandos JavaScript para que o -->
programa execute algum procedimento sempre que o evento </SCRIPT>
</HEAD>
for diasparado. <BODY>
<FORM id=”cadastro”>
Um exemplo disso, é disparar uma mensagem quando <INPUT type=”BUTTON” id=”bt1” value=”Clicar”
o usuário clicar sobre um botão, ou então alterar informações onClick=”exibeAlerta()”>
da tela conforme o usuário for deslocando o cursor do mouse </FORM>
sobre a mesma. </BODY>
</HTML>
carregada somente depois do script já ter sido executado. Isso Aplicação de CSS com JavaScript
acontece, porque o script está acima do local de criação da div.
Já, o seguinte exemplo irá funcionar corretamente.
Conforme foi visto no capítulo anterior, a formatação de
<HTML> uma página html não é feita pelo html, mas sim pelo CSS. Até
<HEAD> o momento, foi apresentada apenas uma maneira de inserir CSS
<TITLE>Meu primeiro evento</TITLE> em uma página: Definindo a estrutura do CSS e vinculando a
<SCRIPT LANGUAGE=”JAVASCRIPT” TYPE=”TEXT/ mesma a um determinado elemento, seja através do CSS in-line,
JAVASCRIPT”> incorporado ou linkado. Nessas situações, o CSS sempre tem a
<!--
necessidade de ser criado de forma “fixa” na página.
function executa()
{
objetodiv.innerHTML = “conteudo...”; Outra forma de inserir CSS em um elemento html, acon-
} tece através do seu uso integrado ao JavaScript. Nessa situação,
--> podemos inserir o CSS de forma dinâmica na página, criando
</SCRIPT> efeitos bastante interessantes em uma página, principalmente
</HEAD>
quando o seu uso estiver associado a captura de eventos em
<BODY onload=”executa()”>
<div id=”objetodiv”> JavaScript. Para utilizar CSS com JavaScript, devemos utilizar
</div> o objeto “style” associado ao elemento html em questão.
</BODY>
</HTML> O objeto “style” apresenta propriedades que são próprias
do CSS. A seguir temos o exemplo de uso deste objeto.
Este exemplo funcionará, visto que a escrita do conteúdo
está encapsulada em uma função, logo, essa função somente será <html>
executada quando o evento “onLoad” do corpo da página for <head>
disparado. O evento “onLoad” é disparado somente depois que <script type=”text/javascript”
language=”javascript”>
todo o conteúdo da página html terminar de ser interpretado e <!--
carregado pelo navegador. function inicializa()
{
PROGRAMAÇÃO WEB 100
quadrado.style.position =
“absolute”;
quadrado.style.width = “100px”;
quadrado.style.height = “100px”;
quadrado.style.top = “200px”;
quadrado.style.left = “10px”;
quadrado.style.backgroundColor =
“red”;
}
-->
</script>
</head>
<body onload=”inicializa()”>
<div id=”quadrado”></div>
</body>
</html>
Síntese
Neste capítulo aprendemos sobre o JavaScript, sua história
e como ele pode ser utilizado nas páginas, com o objetivo de am-
pliar as funcionalidades das mesmas. Desse modo, aprendemos
que o JavaScript surgiu com a empresa Netscape, não possuindo
relação com a linguagem Java; bem como, o mesmo é utilizado
para proporcionar maior interação entre as páginas e o usuário;
• Nome;
• Idade;
• Telefone;
• E-mail;
RECURSOS
AVANÇADOS DO
JAVASCRIPT
Agora que entendemos como programar com
JavaScript em uma página web, chegou o
momento de percebermos todo o potencial que
esta linguagem possui, demonstrando por que
ela é uma das linguagens de programação mais
utilizadas no mundo atual.
PROGRAMAÇÃO WEB 105
DOM e Manipulação de Elementos pode ser realizado de diversas formas através do uso de métodos do objeto “docu-
ment”, conforme veremos a seguir:
DOM é a sigla em inglês para Do-
document.getElementById(“Nome do id”): Esse método retorna um objeto da
cument Object Model. Este objeto de
árvore DOM, conforme o id fornecido para o mesmo. O objeto retornado pode ter as
modelo de documento define uma hie-
suas propriedades alteradas de acordo com a sua necessidade. Como exemplo, temos:
rarquia dos elementos html de forma que
os mesmos possuam um relacionamento, <html>
o qual pode ser manipulado através do <head>
Java Script. O relacionamento destes ob- <script type=”text/javascript” language=”javascript”>
jetos forma uma árvore de relacionamen- function Executar()
tos conhecida como árvore DOM, como {
exemplo, temos: var objeto = document.getElementById(“quadrado”);
objeto.style.position = “absolute”;
<!-- My document --> }
<html> </script>
<head> </head>
<title>My Document</title> <body onLoad=”executar()”>
</head> <div id=”quadrado”></div>
<body> </body>
<h1>Header</h1> </html>
<p>
Paragraph
</p> Nesse modelo, estamos obtendo a div de id “quadrado” e alterando a proprie-
</body> dade CSS“position” através do JavaScript.
</html>
document.getElementsByTagName(“Nome da tag”): Esse método retorna
Através do Java Script podemos ma- um array de objetos da árvore DOM de acordo com o nome da tag fornecido para o
nipular o conteúdo desta árvore de forma mesmo. Da mesma forma que o método anterior, podemos alterar as propriedades
dinâmica. Tal processo de manipulação de todos os elementos retornados pelo array. Exemplo:
PROGRAMAÇÃO WEB 106
<html>
<head>
<script type=”text/javascript”
language=”javascript”>
function executar()
{
var objeto = document.
getElementsByTagName(“p”);
var i;
for (i=0;i<objeto.length;i++)
{
alert(objeto[i].innerHTML);
}
}
</script>
</head>
<body onLoad=”executar()”>
<p>Paragrafo 1...</p>
<p>Paragrafo 2...</p>
<p>Paragrafo 3...</p>
</body>
</html>
document.getElementsByName(“Valor da propriedade
Name”): Esse método retorna um array de objetos da árvore
DOM, de acordo com o nome do elemento. Assim, da mesma
PROGRAMAÇÃO WEB 107
Nesse exemplo, serão retornados apenas os elementos que objeto.activeElement: Esta propriedade retorna o elemento
possuírem a classe de nome “p1” para o array, já, o elemento da árvore DOM que está selecionado no momento. Exemplo:
com classe “p2”, não será considerado.
<html>
objeto.innerHTML: Essa propriedade permite aplicar <head>
<script type=”text/javascript”
um conteúdo textual e de html a um determinado elemento.
language=”javascript”>
Por exemplo, podemos definir o conteúdo de uma DIV dina- function AchaElemento()
micamente através desta propriedade. No entanto, devemos {
observar que esta propriedade existe apenas para os elementos var objeto = document.
que permitem a inclusão de conteúdo html. Exemplo: activeElement;
<html> alert(“O elemento ativo: id = “
<head> + objeto.id);
<script type=”text/javascript” }
language=”javascript”> </script>
function executar() </head>
{ <body>
var objeto = document. <input type=”text” id=”ele1”
getElementsById(“elemento”); onfocus=”AchaElemento()”></input>
<input type=”text” id=”ele2”
objeto.innerHTML = “<b>Um texto onfocus=”AchaElemento()”></input>
dinamico</b>”; <input type=”text” id=”ele3”
} onfocus=”AchaElemento()”></input>
</script> <input type=”button” id=”botao”
</head> value=”Clique aqui”
<body onLoad=”executar()”> onclick=”AchaElemento()”></input>
<div id=”elemento”></div> </body>
</body> </html>
</html>
PROGRAMAÇÃO WEB 109
fosse um objeto qualquer. Estas funções podem ser definidas em Quando executada essa função, o sistema irá exibir uma
qualquer local no código Java Script, ainda permitem proteger mensagem com o valor “5”, pois quando a variável “obj” for uti-
variáveis contra o mal uso. Exemplo de uma função anônima: lizada, o seu comportamento será a execução da função criada
e atribuída à variável.
<html>
<head> Um outro exemplo de uso de funções anônimas é o de
<script type=”text/javascript”
atribuir uma função de forma dinâmica a um evento de objetos.
language=”javascript”>
var obj = (function() { Dessa maneira, quando criamos um objeto, em diversos casos
temos a necessidade de atribuir um evento e ao mesmo tempo
var a, b, c; uma função. Para realizar esta ação, podemos fazer da seguinte
a = 2; forma:
b = 3;
c = a + b; <html>
<head>
return c; <script type=”text/javascript”
})(); language=”javascript”>
function ExecutaFuncao() function ExecutaFuncao()
{ {
alert(obj); var botao = document.
} createElement(“button”);
botao.style.width=”100px”;
</script> botao.style.height=”100px”;
</head>
<body onLoad=”ExecutaFuncao()”> botao.onclick = function (){
alert(“cliquei no botao”);
</body> };
</html>
document.getElementsByTagName(“body”)
[0].appendChild(botao);
}
PROGRAMAÇÃO WEB 111
</body>
Para ser possível utilizar a API de geolocalização é neces- </html>
sário aceitar a pergunta do navegador, que solicita a obtenção
das informações de localização. Exemplo:
PROGRAMAÇÃO WEB 114
• Nome;
• Idade;
• Telefone;
• E-mail;
FRAMEWORKS
JAVASCRIPT
Você deve ter percebido que apesar do
JavaScript ser uma linguagem poderosa, ao
mesmo tempo é uma linguagem complexa e
com muitos detalhes. Para facilitar o nosso
trabalho como desenvolvedores foram criados
frameworks javascript que fazem o trabalho
complexo por nós, simplificando a atividade de
desenvolvimento.
PROGRAMAÇÃO WEB 122
<html>
<head> O Framework Jquery é uma biblioteca cross-browser, de-
<script src=”modernizr.js”></script>
senvolvida para simplificar a programação de uma página web.
<script type=”text/javascript”
language=”javascript”> Ela foi criada por John Resig em 2006 e, atualmente, segundo
function verificaCanvas() consulta realizada na Wikipedia, ela é empregada em 77% dos
{ 10 mil sites mais visitados no mundo.
var div = document.
getElementById(‘resultado’);
PROGRAMAÇÃO WEB 124
Essa biblioteca apresenta uma série de funcionalidades, senta comentários no código, possuindo redução de espaços e
das quais pode-se citar: nome de variáveis para que o arquivo seja menor, possibilitando
melhor desempenho.
• Resolução de incompatibilidades entre navegadores;
A versão descompactada, por sua vez, apresenta comen-
• Redução significativa de código; tários no código, o que permite um melhor entendimento do
que as rotinas do framework se propõe.
• Reutilização de código.
Além disso, também existe a versão 1.x e a versão 2.x.
Altamente expansível e com diversas funcionalidades Ambas versões possuem as mesmas funcionalidades, porém a
adicionais: versão 2.x não possui compatibilidade com navegadores antigos
(internet explorer 6, 7 e 8).
• jQuery UI para elementos de interface;
A seguir, podemos observar um exemplo de código. Logo,
• jQuery Mobile para desenvolvimento mobile. o código comentado demonstra como a ação é feita com JavaS-
cript sem o uso do framework jQuery.
Apresenta grande facilidade de uso dos recursos Ajax e
manipulação DOM através dos seletores. <html>
<head>
<script src=”Jquery-2.1.1.js”></script>
Permite a implementação de recursos de CSS nas versões <script>
1, 2 e 3. function executa()
{
O jQuery pode ser acessado pelo site http://jquery.com/ //document.
e o download pode ser feito no endereço http://jquery.com/ getElementById(“teste”).value = 5;
download/. Na página de download existem quatro versões que $(“#teste”).val(5);
}
podem ser feitas. Existe a versão compactada (compressed) e </script>
descompactada (uncompressed). A versão compactada também </head>
é conhecida como versão de produção. Essa versão não apre-
PROGRAMAÇÃO WEB 125
Html:
Seletores JQuery
<td class=“celula”></td>
document.getElementById(“célula”)
JavaScript:
Jquery: document.getElementsByTagName(“td”)
$(“#celula”)
Jquery:
$(“.td”)
PROGRAMAÇÃO WEB 126
recursos que facilitam a programação em JavaScript. $.unique(array): Retorna um array de elementos somente
com elementos únicos.
$.trim(str): Este comando remove espaços na esquerda e
na direita de uma strings. Exemplo: $.type(objeto): Determina o tipo do elemento. Exemplo:
<script> <script>
var nome = “ Juliano “; if ($.type(true) == “boolean”)
nome = $.trim(nome); {
</script> document.write(“Este tipo é booleano”);
}
</script>
$.inArray(valor, array): Retorna a primeira ocorrência do
valor passado, que for encontrada no vetor passado. Exemplo: .val(): Retorna o valor (conteúdo) de um determinado
objeto.
<script>
var nomes = new Array(); .text(): Seta o valor para um determinado objeto. Exemplo:
var valorEncontrado;
<script>
nomes[0] = “José”; var conteudo = $(“camponome”).val();
nomes[1] = “Carlos”; $(“p”).text(conteudo);
nomes[2] = “Cassio”; </script>
valorEncontrado = $.inArray(“Carlos”,nomes); .css(): Atribui ou permite a leitura de um determinado va-
lor de uma propriedade CSS do elemento em questão. Exemplo:
alert(valorEncontrado);
<script>
</script>
//lendo a cor de fundo de um paragrafo para uma
variável
$.isArray(objeto): Retorna verdadeiro se o objeto passado Var corDeFundo;
for um array JavaScript. corDeFundo = $(“p”).css(“background-color”);
</script>
PROGRAMAÇÃO WEB 129
Componentes
(soltar) arrastáveis.
Resizable Cria elementos cujas dimensões podem ser
O jQuery UI é uma biblioteca JavaScript, criada em 2007 (dimensionar) controladas pelo usuário.
por um grupo de desenvolvedores que, atualmente, possuem Selectable Cria elementos que possam ser selecionados pelo
como gerente de projeto Richard D. Worth. (selecionar) usuário, seja individualmente ou em grupos.
Sortable Cria elementos que possam ser ordenados pelo
A biblioteca jQuery UI foi criada com o objetivo de ser (ordenar) usuário com ação de arrastar e soltar.
utilizada em conjunto com a biblioteca jQuery, objetivando a Accordion Cria o efeito acordeão, para ocultar/mostrar
criação de elementos para interfaces de usuários ricos. conteúdo.
Autocomplete Apresenta ao usuário uma lista de sugestões de
Essa biblioteca permite ao desenvolvedor criar elementos palavras, à medida que ele digita em um campo
de interface com o usuário, com um mínimo de código e sintaxe texto.
semelhante a biblioteca jQuery. Button Possibilidade de criar vários tipos de botões.
Datepicker Cria uma janela popup para seleção da data a ser
Widgets
A biblioteca jQuery UI, bem como uma vasta documen- digitada, em um campo destinado a coletar uma
tação da mesma podem ser encontrados no site http://jqueryui. data.
com/. Dialog Cria vários tipos de janelas de diálogo, como janelas
modais.
Os elementos que fazem parte da biblioteca jQuery UI Progressbar Cria uma barra indicativa do andamento de uma
foram classificados de acordo com as suas funcionalidades, o tarefa.
que pode ser observado na tabela seguinte. Slider Cria um botão arrastável em uma guia para seleção
de um valor compreendido em determinada faixa.
Tabs Cria uma interface cuja navegação é feita com o uso
de abas.
PROGRAMAÇÃO WEB 130
<html>
Color Animation Este efeito tem por objetivo animar as cores de um
<head>
elemento.
<title>jQuery UI Datepicker - Default
Toggle class Esses efeitos destinam-se a animar elementos functionality</title>
Add class baseados na manipulação dos seus atributos de <link rel=”stylesheet” href=”jquery-ui.css”>
classe. <script src=”jquery-1.10.2.js”></script>
Remove class
<script src=”jquery-ui.js”></script>
Swich class <script>
Efeitos
Com a utilização cada vez maior de dispositivos mobile de O respectivo framework não se resume a formatação da
tela pequena (como smatphones e tables) para acessar a internet, exibição dos elementos em tela, mas ele também emprega um
a preocupação dos web designers em conseguir criar um website conceito de colunas para ajustar e posicionar os elementos em
que exibisse as suas informações de forma eficiente e com uma tela, sendo um bom framework também para ajustar o layout e
boa usabilidade em telas menores passou a ser cada vez maior. posicionamento dos elementos em tela.
Antes do surgimento do Bootstrap, os websites precisavam Toda a documentação de como utilizar este framework
ter toda a sua programação do CSS adaptada, de forma manual, em língua portuguesa pode ser acessada no endereço http://
para que os sites pudessem ser visualizados corretamente nestes getbootstrap.com.br/.
dispositivos.
REFERÊNCIAS