Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Florianpolis 2010
Organizao de contedo:
Andrino Fernandes Elaine Luz Barth
Comisso Editorial:
Hamilcar Boing Andrino Fernandes Elaine Luz Barth
Projeto grfico:
Paulo Ricardo Rodrigues de Lima
Capa:
Lucio Baggio
Reviso ortogrfica:
Marcos Pessoa
Editorao Eletrnica:
Paulo Ricardo Rodrigues de Lima
Sumrio
Captulo 1 - A preparao
1. Ciclo bsico de um projeto de desenvolvimento de programas .........................................11 1.1 O desenvolvimento do Projeto de uma pgina para a Internet ....................................11 1.2 Estrutura e organizao de pastas, edio de pginas e o Navegador para Internet. ...12 1.3 O Padro De Desenvolvimento Web: Modelo Em Camadas ........................................15 1.4Vamos criar os primeiros exemplos? .............................................................................18 Atividades .............................................................................................................................21
Apresentao
Prezado aluno (a), Este material foi preparado para auxili-lo no decorrer dos estudos da unidade curricular denominada Desenvolvimento de Home Page. Ao mesmo tempo em que os conceitos da linguagem de marcao de hipertexto HTML sero apresentados, paralelamente ser proposto exerccio prtico visando a construo de exemplos. Logo na primeira unidade voc ser estimulado a colaborar na preparao de um ambiente de desenvolvimento de pginas para a Internet. O desenvolvimento de uma pgina para a internet deve ser encarado como um projeto, por isso ainda na primeira unidade, veremos o ciclo bsico de um projeto e a seguir um exemplo de como organizar os arquivos pertinentes a um projeto. Quando estudarmos a preparao do ambiente voc conhecer um editor de pginas para internet de distribuio gratuita, e os principais navegadores de Internet. Na seqncia, voc identificar um modelo denominado modelo em camadas de desenvolvimento de pginas para a Internet. A partir da Unidade 2 estudaremos a estrutura e o formato do cdigo HTML e na continuao seus principais marcadores, tais como, como realizada a acentuao, a construo de listas, tabelas e outros elementos do HTML. A seguir, ser introduzida a formatao do HTML utilizando Cascading Style Sheets (CSS) e por fim, as etapas de desenvolvimento de um projeto cujo objetivo a construo de uma pgina de classificados de automveis. Os trechos de cdigos sero exibidos neste livro no seguinte formato: <p>Trecho de código HTML</p> <hr /> Tenho certeza que juntos poderemos construir uma base slida de conhecimento e ao final da unidade curricular voc ser um craque no desenvolvimento de pginas para a Internet. Estarei sempre disposio para dirimir as dvidas. Bons estudos! Um abrao, Prof. Igor Thiago.
CAPTULO
1
A Preparao
Objetivo
Nesta primeira unidade estudaremos os conceitos bsicos de desenvolvimento de projetos, conheceremos uma ferramenta de edio de pginas para a Internet e os principais navegadores, e por fim, veremos o atual modelo de desenvolvimento de pginas para a Internet.
A Preparao
Esta primeira unidade deve ser encarada como uma preparao. Nela estudaremos os conceitos bsicos de desenvolvimento de projetos, iremos conhecer uma ferramenta de edio de pginas para a Internet e os principais navegadores, e por fim, veremos o atual modelo de desenvolvimento de pginas para a Internet.
11
Execuo
Implantao
Manuteno
12
A Preparao
Seguindo o raciocnio da figura 1, em um local do seu computador voc deve criar uma pasta com o nome Projeto 1. Dentro dela, crie outras duas pastas, uma com nome estilos e outra com nome imagens. Na pasta Projeto 1 sero criados arquivos de cdigos HTML. A subpasta imagens ser utilizada para figuras referentes ao layout e composio das pginas HTML. A subpasta estilos armazenar os arquivos que iro definir como ser apresentado o contedo. Outras pastas podem e devem ser criadas sempre em conformidade da necessidade de cada projeto. Agora que j sabe como criar (e j deve ter criado) a estrutura de pastas para um projeto, veremos um programa de edio de pginas para a Internet e suas principais funcionalidades.
13
Para obter a lista completa dos recursos e fazer o download gratuitamente do programa, acesse o endereo: http://notepad-plus.sourceforge.net/ Aps a instalao, o programa Notepad++ ter a interface parecida com a figura 2.
Navegadores de Internet
Os desenvolvedores de pginas para a Internet devem preocupar-se com apresentao de suas pginas aos usurios. Apesar do HTML possibilitar que apenas um arquivo sirva para os diferentes navegadores, na prtica um tanto diferente. Uma mesma pgina HTML mostra-se, por muitas vezes, diferente em navegadores distintos. Por isso, importante que o desenvolvedor faa testes de visualizao nas
14
A Preparao
pginas desenvolvidas, utilizando os principais navegadores do mercado antes de public-las na Internet. Como mostra a figura 3, o Internet Explorer e o Firefox (juntos) so responsveis por quase 90% dos acessos Internet, por isso o desenvolvedor de pginas dever testar seus documentos pelo menos nesses dois navegadores. O navegador Internet Explorer vem instalado juntamente com o sistema operacional Microsoft Windows e o Mozilla Firefox pode ser obtido no link http://www.getfirefox.com.br
15
a) Camada de Contedo
A camada de contedo , sem sombra de dvida, a mais importante de todas. onde colocamos a parte mais preciosa do nosso site, aquilo que realmente faz a diferena o contedo. Para desenvolver essa camada usamos as chamadas linguagens de marcao de hipertexto, no nosso caso HTML ou XHTML. O desenvolvimento deve sempre comear por esta camada. Antes de se preocupar com a parte visual ou comportamental de um site ou aplicao, deve-se estruturar com o maior cuidado e critrio possveis o contedo desejado. importante lembrar que no momento que voc for comear a realmente pr a mo na massa e escrever o cdigo (mesmo que j tenha um layout definido) tente no pensar na parte visual. Se atenha ao contedo. Como esse contedo dividido? Que partes compem esse contedo? Qual a funo de cada parte do contedo dentro do site? Tendo isso em mente, ordene essas partes por ordem de importncia e relevncia para os usurios. Certifique-se de que tudo que for realmente importante seja colocado antes no cdigo. Preocupe-se com a semntica. Use os elementos certos para marcar o contedo. O HTML oferece uma boa quantidade de elementos para estruturao do contedo. Por exemplo, os dois cdigos abaixo produzem nos navegadores de Internet, a exibio dos textos de maneira idntica, mas somente o segundo est semanticamente correto. Cdigo 1: HTML semanticamente incorreto: Texto para o parágrafo 1. <br /><br /> Parágrafo dois.
16
A Preparao
Cdigo 2: HTML semanticamente correto: <p>Texto para o parágrafo 1. </p> <p>Parágrafo dois. </p> Observe que no cdigo 1 o marcador <br /> utilizado duplicado para produzir o efeito de um pargrafo, mas na verdade, esse marcador deve ser utilizado somente no caso da necessidade de uma quebra de linha. Todo o restante do processo de desenvolvimento de uma pgina vai depender de como o contedo est estruturado. Se as coisas no estiverem bem estruturadas nessa primeira camada, certamente problemas aparecero no futuro.
b) Camada de Apresentao
A tecnologia utilizada para esta camada ser o Cascading Style Sheets (CSS) que definir as propriedades visuais para cada elemento do contedo. Esta camada ir aplicar o layout criado visando tornar o contedo das pginas mais atraente. importante observar alguns cuidados nesta etapa, tais como: Lembre que o mais importante nesta camada procurar manter as coisas simples. Propriedades que possam causar problemas em diferentes navegadores devem ser evitadas. Em geral possvel criar qualquer tipo de layout usando apenas aquilo que largamente suportado. Resista tentao de mexer na camada de contedo para satisfazer uma necessidade especificamente de apresentao. No decorrer do livro sero apresentados exemplos corretos e incorretos desta situao. A indicao de realizar testes em diversos navegadores reforada nessa etapa, pois na apresentao do contedo que so estabelecidas as diferenas entre eles. Apesar do Internet Explorer ser um dos navegadores mais usados na Internet, ele tem um suporte precrio para os padres. Uma dica utilizar como base um navegador que tenha um melhor suporte, como o Mozilla Firefox, mas, lembre de testar tambm no Internet Explorer.
17
p { color:blue; font-style:italic; text-decoration:underline; } Neste caso, o cdigo 3 define que todos o pargrafos da pgina sero exibidos na cor azul, com o estilo itlico e sublinhado. Abaixo, a figura 5 exibe o resultado do cdigo 3, da camada de apresentao, aplicado sobre o cdigo 2, da camada de contedo.
Exemplo 1
Passo 1: Abra o programa de edio de pginas HTML, Notepad++, e crie um arquivo do tipo HTML para colocar o contedo do 4.
18
A Preparao
Cdigo 4: Exemplo 1, cdigo HTML.
<html> <head> <title>Título do Documento</title> </head> <body> <h1>Título de nível 1</h1> <p>Primeiro parágrafo</p> <p>Segundo parágrafo</p> <h2>Título de nível 2</h2> <p>Terceiro parágrafo</p> </body> </html> Passo 2: Salve o cdigo acima com o nome exemplo1.html na pasta criada para este projeto. Passo 3: Abra o navegador de sua preferncia e no menu Arquivo escolha a opo Abrir arquivo .... Navegue at a pasta do projeto e selecione o arquivo exemplo1.html clicando na seqncia em Abrir. O resultado dever ser semelhante ao exibido na figura 6 logo abaixo.
Caso voc tenha outros navegadores instalados na mquina, repita o passo 3 para verificar as diferenas de exibio.
Exemplo 2
Siga os mesmo passos do exemplo 1, utilizando agora o cdigo 5 e o salvando com o nome exemplo2.html.
19
20
A Preparao
O resultado no navegador dever ser parecido com o exibido na figura 7.
Os exemplos 1 e 2 so compostos somente pela camada de contedo. Por isso, as pginas criadas no parecem muito atraentes. Mas, por enquanto isso no deve ser motivo de preocupao. Logo este assunto ser tratado na unidade 3 quando estudarmos a camada de apresentao. Na prxima unidade iniciaremos o entendimento do cdigo HTML.
Atividade
1. Resgatando o que foi aprendido sobre o modelo de desenvolvimento em camadas, para voc qual a camada principal? Por qu? 2. Vamos ao frum conversar sobre os programas de desenvolvimento de pginas para a Internet. Cada um traga a sua experincia e vamos todos compartilhar o conhecimento.
21
CAPTULO
2
A Linguagem HTML
Objetivo
Nesta unidade aprenderemos a linguagem HTML, que faz parte da camada de contedo. Veremos como compor um documento e seus elementos bsicos e obrigatrios. Ao final desta unidade voc ser capaz de codificar pginas e ver os primeiros resultados.
A Linguagem HTML
25
Em sua ltima verso, nmero 4, o HTML possui mecanismos para folhas de estilo, scripting, frames, objetos embarcados, melhora no suporte para direo do texto da direita para esquerda, tabelas ricas e oferece melhorias de acessibilidade a pessoas com deficincias [HTML99]. Uma variao do HTML surgiu sob o nome de Extensible HyperText Markup Language (XHTML), e considerada uma linguagem sucessora. A partir de agora, vamos comear aprendendo elementos fundamentais para entendimento da linguagem HTML: A) O formato do cdigo, ou seja, sua sintaxe, B) Acentuao e caracteres especiais, C) Ttulos, subttulos e pargrafos, D) Formatao do texto, E) Listas, F) Tabelas e Formulrios, F) Hyperlinks e Ancoras.
26
A Linguagem HTML
Os atuais navegadores de Internet aceitam tanto os formatos do HTML quanto do XHTML, por isso, pode-se encontrar nas pginas desenvolvidas at mesmo uma mescla dos dois. A recomendao que se utilize somente um deles como forma de padronizao de cdigo. Outro aspecto da linguagem de no ser sensvel caixa, ou seja, tanto faz qual seja o cdigo escrito <html>, <HTML> ou <HtMl>. Evidentemente que a utilizao de um mesmo formato facilita a visualizao do cdigo. O HTML possui uma estrutura bsica para todos os cdigos, nos exemplos 4 e 5 essa estrutura foi propositalmente deixada em preto. Atravs delas so demarcadas as sees da linguagem. O primeiro e o ltimo marcador que devem aparecer numa pgina so respectivamente <html> e </html>, indicando o incio e o fim do documento. Com as marcaes <head> e </head> definida uma seo de cabealho, na qual so adicionadas informaes a respeito do documento. Por exemplo, o ttulo, a descrio e seus autores informaes comumente chamadas de meta-dados . Alm dessas, quando necessrio, so includas referncias a outros arquivos, por exemplo, referncia a uma folha de estilos. Outra seo obrigatria definida pelos marcadores <body> e </body>, neste local estar o contedo do documento.
27
é exibido no texto, a seguir existe outro, mas por estar entre os caracteres de comentário, não é exibido pelos navegadores</p> <!-- <p>Este parágrafo no será exibido pelo avegador por está comentado</p>
--> </body> </html>
28
A Linguagem HTML
Outras seqncias de escape mais utilizadas em Portugus esto nas tabelas abaixo: Entidade á â à ã ç é ê í ó ô õ ú Caractere Entidade Á Â À Ã Ç É Ê Í Ó Ô Õ Ú Caractere
Alguns editores, no entanto, mantm a acentuao, sem precisar usar os cdigos especiais de formatao. Quando isso acontece, deve-se inserir uma indicao do esquema de codificao ISO Latin1, como segue no exemplo abaixo: Cdigo 7: Acentuao sem cdigo especiais <html> <head> <meta http-equiv=Content-Type
<title>Ttulo do Documento</title> </head> <body> <h1>Ttulo de nvel 1</h1> <p>Texto para o nico pargrafo que exibido no texto.</p> </body> </html> Verifique o funcionamento criando e abrindo no navegador dois arquivos. Um com exatamente o cdigo 7 e outro removendo
29
o marcador <meta http-equiv=Content-Type content=text/ html; charset=ISO-8859-1 />. O resultado deve ser parecido com o exibido na figura 8.
Ttulos e subttulos
Os ttulos e subttulos no cdigo HTML so demarcados pelos marcadores de incio <h1> e a de final </h1>. O nmero 1 indica o nvel, portanto <h1> utilizado para ttulos principais. Para indicar subttulos so utilizados <h2> , <h3> , <h4> e assim por diante. Para analisar como os navegadores exibem ttulos e subttulos utilizaremos o cdigo 8.
30
A Linguagem HTML
Cdigo 8: Acentuao sem cdigos especiais <html> <head> <title>Título do Documento</title> </head> <body> <h1>Título de nível 1</h1> <h2>Título de nível 2</h2> <h3>Título de nível 3</h3> <h4>Título de nível 4</h4> <h5>Título de nível 5</h5> </body> </html> O resultado do cdigo 8 no navegador Mozilla Firefox deve ser parecido com o exibido pela figura 9. Compare o resultado com outros navegadores. Comentrio: A importncia da utilizao correta dos marcadores, seguindo sua semntica, est fortemente ligada a um novo segmento de negcio que surgiu na Internet: Da sigla em ingls SEO (Search Engine Optimization Otimizao de sites) empresas que oferecem servio de otimizao de cdigo para que o site do contratante aparea melhor classificado nos sites de busca como Google, Yahoo e outros. Uma das tcnicas utilizadas em SEO o ajuste dos ttulos e subttulos para denotar a real importncia do contedo de textos das pginas. Um cliente que solicita o desenvolvimento de uma pgina para a Internet deseja que o mximo de pessoas a acesse, seja para realizar vendas ou divulgar o seu negcio. As pginas de busca so mecanismos gratuitos a partir das quais as pessoas acham pginas na Internet.
Pargrafos
No incio deste livro, foram exibidos dois exemplos de como utilizar corretamente o cdigo HTML e foram eles: cdigo 1 e cdigo 2, que apesar de apresentarem no navegador resultados
31
d) Formatao de textos
A linguagem HTML define vrios marcadores para formatao de textos e eles esto divididos em dois grupos: lgico e fsico. Nos navegadores a exibio ser igual tanto para marcadores lgicos quanto para fsicos, o motivo da distino entre eles se deve ideia bsica de independncia entre especificao e apresentao. Quando
32
A Linguagem HTML
formatamos um trecho de texto como cabealho de nvel 1, no explicitamos se esse tipo de cabealho deve ser em uma fonte determinada, em um tamanho determinado, justificado esquerda ou direita, ou centralizado. Esses detalhes de apresentao so deixados para o navegador - o dispositivo de apresentao do documento - que pode ser configurado de acordo com o leitor (usurio final). Desse modo, alm de facilitar enormemente o trabalho de quem escreve os documentos, a linguagem garante a uniformidade de apresentao de cabealhos, pargrafos, listas, etc.
Marcadores lgicos
A formatao lgica segue o significado lgico do texto marcado: um endereo de e-mail, uma citao etc. Sua apresentao final varia conforme o navegador, podendo oferecer resultados mais ricos. A seguir a apresentao de um cdigo e sua exibio no navegador Mozilla Firefox de um cdigo utilizando marcadores lgicos.
33
Marcadores fsicos
A formatao fsica especifica explicitamente o estilo que se quer para o texto: itlico, grifado etc. Sua apresentao final no sofre grandes variaes. A seguir a apresentao de um cdigo e sua exibio no navegador Mozilla Firefox de um cdigo utilizando marcadores fsicos. Cdigo 11: Utilizao de estilos lgicos <html> <head> <title>Estilos físicos</title> </head> <body> <h1>Utilização de estilos físicos</h1> <p><i>Parágrafo em itálico</i></p> <p><b>Parágrafo em negrito</b></p> <p><b><i><u>Parágrafo em itálico, negrito e sublinhado</u></i></b></p> </body> </html>
e) Listas
Vamos ver dois tipos: no ordenadas e numeradas.
Listas no ordenadas
As listas no ordenadas so compostas de vrios itens, todos marcados com o mesmo smbolo (normalmente um crculo).
34
A Linguagem HTML
A marcao utilizada para criao deste tipo de lista o <ul>, do ingls unordered list - lista no ordenadas e dentro deste cada item marcado por <li>, no esquecendo claro de utilizar os respectivo marcadores para fech-los </ul> e </li>. Como exibido a seguir, este tipo de lista pode ainda conter subitens. Cdigo 12: Listas no ordenadas <html> <head> <title>Lista no ordenadas</title> </head> <body> <h1>Exemplo de lista no ordenadas</h1> <ul> <li>Item 1</li> <li>Item 2</li> <ul> <li>Sub-item 1</li> <li>Sub-item 2</li> <li>Sub-item 3</li> </ul> <li>Item 3</li> <li>Item 4</li> </li> </ul> </body> </html>
35
f) Tabelas
Este marcador teve um papel fundamental no desenvolvimento de pginas para a Internet, antes do aparecimento do marcador <div>, isto porque era ( e ainda hoje o ) utilizado para definir a aparncia das pginas. Como vimos no captulo Padro de desenvolvimento Web a aplicao de um layout feito pela camada de apresentao, por isso, em nossa unidade curricular aprenderemos a cri-las com o uso do CSS. Voltando ao marcador de tabelas, a idia a de exibir dados de maneira tabular. Para isso foram definidos os seguintes marcadores principais: <table>, <tr>, <td>. O primeiro marcador, <table>, indica o incio de uma tabela e como de costume a sua finalizao se d pelo </table>. A seguir um exemplo simples:
36
A Linguagem HTML
Cdigo 13: Exemplo de tabela simples <table> <tr> <td>Linha 1, coluna 1</td> <td>Linha 1, coluna 2</td> </tr> <tr> <td>Linha 2, coluna 1</td> <td>Linha 2, coluna 2</td> </tr> </table> O resultado no navegador ser parecido com:
No cdigo HTML as tabelas so construdas por linhas e clulas. Acompanhando pelo Cdigo 13 e analisando o que foi exibido pelo navegador na Figura pode-se notar que o marcador <tr> (table row linha da tabela) inicia uma nova linha e o marcador <td> (table data dados da tabela) uma clula de dados. importante ressaltar que os marcadores <td> e </td> devero sempre estar entre os marcadores <tr> e </tr>, assim como esses estaro dentro de <table> e </table>. Assim como em editores de texto , em HTML possvel mesclar clulas, tanto na vertical quanto na horizontal. Os cdigos a seguir exibem exemplos dos dois casos.
Como exemplos de editores de texto temos o Microsoft Word, OpenOffice Writer ...
37
38
A Linguagem HTML
Observando os cdigos acima cdigos pode-se notar o aparecimento de dois novos atributos: colspan e rowspan. Eles so utilizados para mesclar colunas e linhas, recebendo como parmetro a quantidade de colunas ou linhas que devero mesclar. A utilizao deles no nada simples e quase sempre exigir do desenvolvedor vrias tentativas at se chegar ao resultado desejado.
g) Formulrios
Formulrios so conjuntos de objetos para entrada de dados. Delimitados pelos marcadores <form> e </form> contm um seqncia de elementos. Dentre estes elementos podem estar textos, figuras, tabelas entre outros e os marcadores para entrada de dados, cujos principais so: <input>;<select>;<textarea>. Normalmente, os formulrios so usados para enviar informaes preenchidas pelos usurios que acessam as pginas, como forma de entrar em contato. Outra utilizao na transferncia de informaes entre as prprias pginas HTML, como o caso de sistemas de busca. Quase sempre, eles so usados em conjunto com uma linguagem de programao no servidor que o hospeda. Por exemplo, no caso de um sistema de busca, o servidor poder recorrer a um banco de dados para exibir as informaes solicitadas pelo usurio. Como nesta unidade curricular no ser abordada linguagem de programao aprenderemos somente como construir os formulrios.
39
Dentro de uma mesma pgina HTML podem existir diversos formulrios, cada um deve ser delimitado pelos marcadores <form> e </ form>. No cdigo 17 o marcador <form> possui as propriedades name, action e method, o primeiro serve para identificar o formulrio. Em seguida, a propriedade action indica para qual endereo este formulrio ser enviado, e por fim qual ser o mtodo de envido indicado pela propriedade method. Alm do mtodo POST, mostrado no exemplo,
40
A Linguagem HTML
h tambm o mtodo GET, que difere do primeiro enviando os dados de maneira visvel no navegador, mas este ltimo possui restrio na quantidade de caracteres enviados. Importante: Todos os marcadores de entrada de um formulrio devem possuir a propriedade name, isto porque ser atravs dela que o servidor ir recuperar os valores enviados. Caso exista num formulrio marcadores com nome repetido, os valores sero concatenados e separados por vrgula.
h) Marcadores de entrada
Estes objetos compem o conjunto de informaes que ser enviado pelo formulrio. O primeiro marcador de entrada que aparece no cdigo 17 o mais utilizado. O <input>, assim como no cdigo exemplo, pode assumir diferentes tipos, cuja indicao se d pela propriedade type. Existem outros tipos, veja a seguir: text: usado para entrada de textos simples como nome, endereo, bairro etc, password: semelhante ao anterior mas oculta os dados digitados pelo usurio, hidden: carrega informaes ocultas no formulrio, checkbox: exibe uma pequena caixa que quando marcada carrega seu contedo na submisso do formulrio, radio: semelhante ao anterior, mas usado em casos de mltiplas opes que admita somente uma resposta, button: inclui um boto sem ao definida, submit: tambm inclui um boto, mas esse exerce a funo de envio do formulrio, reset: inclui um boto que restaura os valores iniciais do formulrio, image: boto que tambm exerce a funo de envio do formulrio mas admite que seja utilizada uma imagem ao invs de um boto. Os marcadores input podem ainda possuir um valor j preenchido. Para isso usada a propriedade value=valor desejado. O marcador <select> apresenta uma lista de valores e pode ser utilizado para escolha entre duas ou mais opes.
41
42
A Linguagem HTML
<input type=checkbox name=acessointernet value=trabalho />Do trabalho <br /> <input type=checkbox name=acessointernet value=amigos />Da casa de amigos<br /> <input type=checkbox name=acessointernet value=escola />Da escola <br /> <label for=sexo>Qual o seu sexo?</label> <br /> <input type=radio name=sexo value=masculino />Masculino <br /> <input type=radio name=sexo value=feminino />Feminino <br /> <label for=time>Times do coração?</label> <br /> </fieldset> <fieldset> <legend>Outros marcadores</legend> <select name=time multiple=multiple> <option value=Sao Paulo>São Paulo</option> <option value=Corinthians>Corinthians</option> <option value=Avai>Avaí</option> <option value=Figueirense>Figueirense</option> </select> <br /> <label for=informacoes>Quais são suas dúvidas?</label> <br /> <textarea name=informacoes></textarea><br /> </fieldset> <input type=reset value=Limpar> <input type=submit value=Enviar> </form>
i) Hiperlinks e ncoras
O HTML define um marcador que possibilita a ligao de uma poro de texto ou imagem a outro documento, ou outro ponto do mesmo documento. Os navegadores comumente destacam essas marcaes sublinhando-as e trocando sua cor, alm de substituir o cursor para uma mo quando o mouse passa por cima dela. Para tanto, o marcador <a> utilizado de duas formas distintas. Na primeira age como ncora para indicar um local de
43
Atividade
1. Qual a diferena entre marcadores lgicos e marcadores fsicos? 2. Se num texto voc deseja dar um destaque ou um enfoque maior numa palavra ou em uma frase, qual marcador voc ir utilizaria? <b> ou <strong>? Justifique sua escolha.
44
CAPTULO
3
Cascading Style Sheet (CSS) Folha de Estilo em Cascata
Objetivo
Nesta unidade, em que a camada de apresentao abordada, aprenderemos como dar a forma a nossas pginas. Atravs da aplicao de estilos indicaremos ao navegador como ele dever exibir o contedo ao usurio que acessa a pgina.
47
Cdigo 22: Importao de uma folha de estilos <!-- Referenciar --> <head> ... <link rel=stylesheet type=text/css href=estilo.css> ... </head> Cdigo 23: Importao de uma folha de estilos 2 <!-- Importar --> <head> ... <style type=text/css> @import url(estilo.css); </style> ... </head>
48
49
50
3.3 Fontes
As propriedades bsicas e seus valores vlidos para a definio de fontes exibido na tabela a seguir.
Propriedade e Valores aceitos funcionalidade - cdigo hexadecimal. Ex: #000000 color - cdigo rgb: rgb(255,235,0) cor da fonte - nome da cor: red, blue, green...etc - nome da famlia de fontes : define-se font-family pelo nome da fonte, p. ex:verdana, tipo da fonte helvetica, arial, etc. - nome da famlia genrica: define-se pelo nome genrico, p. ex:serif, sansserif, cursive, etc
51
A seguir so apresentados alguns exemplos de aplicao das propriedades de fontes. Para uma melhor fixao refaa os exemplos adicionando novas propriedades modificando os valores por outros exibidos na Tabela 3.
52
53
54
A seguir so apresentados alguns exemplos de aplicao das propriedades a textos. Para uma melhor fixao refaa os exemplos adicionando novas propriedades modificando os valores por outros exibidos na Tabela 5. Cdigo 29: Exemplo de aplicaes de estilos a textos <html> <head> <title>Exemplos de estilos em textos</title> <style type=text/css> #segundo { letter-spacing: 10px; text-decoration: linethrough } #terceiro { word-spacing: 40px; text-indent: -20px } #quarto { text-transform: uppercase } #quinto { text-decoration: overline } .outro { text-decoration: underline } </style> </head>
55
3.5 Margens
As propriedades de margem definem a espessura de margem para os elementos do HTML. A seguir, uma tabela com os atributos bsicos com sua funcionalidade e valores vlidos.
Propriedade e funcionalidade Valores aceitos para a propriedade - auto: valor default da margem - length: uma medida reconhecida pelas CSS (px, pt, em, cm, ) - %: porcentagem da largura do elemento pai
margin-top
margin-right
(define a margem inferior) (define a margem esquerda) maneira abreviada para todas as margens
Tabela 7: Propriedades e valores vlidos para margem em CSS [MAUJOR10]
56
57
3.6 Bordas
As propriedades de borda definem como sero as linhas que contornam os elementos do HTML. A seguir uma tabela com os atributos bsicos, sua funcionalidade e valores vlidos.
Propriedade e funcionalidade border-width - espessura das bordas border-style - estilo das bordas border-color - cor das bordas border-top-width - espessura da borda superior border-top-style - estilo da borda superior border-top-color - cor da borda superior border-right-width - espessura da borda direita border-right-style - estilo da borda direita border-right-color - cor da borda direita border-bottom-width - espessura da borda inferior border-bottom-style - estilo da borda inferior border-bottom-color - cor da borda inferior border-left-width - espessura da borda esquerda border-left-style - estilo da borda esquerda border-left-color - cor da borda esquerda Valores aceitos para a propriedade color - cdigo hexadecimal: #FFFFFF - cdigo rgb: rgb(255,235,0) - nome da cor: red, blue, green...etc style - none: nenhuma borda - hidden: equivalente a none - dotted: borda pontilhada - dashed: borda tracejada - solid: borda contnua - double: borda dupla - groove: borda entalhada - ridge: borda em ressalto - inset: borda em baixo relevo - outset: borda em alto relevo width - thin: borda fina - medium: borda mdia - thick: borda grossa - length: uma medida reconhecida pelas CSS (px, pt, em, cm, ...)
58
Para ilustrar a utilizao das propriedades de bordas a seguir sero apresentados um cdigo exemplo e seu resultado exibido no navegador. Cdigo 31: Exemplo de estilos em bordas <html> <head> <title>Exemplos de estilos em bordas</title> <style type=text/css> #segundo { border-style: dotted } #terceiro { border-style: ridge; border-width: 10px; } #quarto { border-width: 5px; border-style: dashed; bordercolor: gray } #quinto { border: 5px dashed gray } </style> </head> <body> <h1>Exemplos de estilos em bordas</h1> <p>Primeiro Parágrafo (sem estilo)</p> <p id=segundo>Segundo Parágrafo</p> <p id=terceiro>Terceiro Parágrafo</p> <p id=quarto>Quarto Parágrafo</p> <p id=quinto>Quinto Parágrafo</p> </body> </html>
59
3.7 Espaamento
As propriedades para espaamentos definem valores para os espaamentos entre o contedo e as bordas de elementos do HTML. primeira vista esta propriedade pode ser confundida com outra j apresentada (margem), mas os exemplos ilustraro as diferenas entre elas. A seguir uma tabela com os atributos bsicos, sua funcionalidade e valores vlidos.
Propriedade e funcionalidade Valores aceitos para a propriedade - auto: valor default da margem - length: uma medida reconhecida pelas CSS (px, pt, em, cm, ) - %: porcentagem da largura do elemento pai
padding-top
padding-right
define a espaamento inferior define a espaamento esquerda maneira abreviada para todas os espaamentos
Tabela 9: Propriedades e valores vlidos para espaamento em CSS [MAUJOR10]
Para ilustrar a utilizao das propriedades de espaamento a seguir sero apresentados um cdigo exemplo e seu resultado exibido no navegador.
60
61
3.8 Fundos
Mais conhecidos pelo termo em ingls backgound, esta propriedade define como ser o fundo de um elemento HTML. Alm do exemplo j mostrado anteriormente (que preenche o fundo com uma cor) possvel tambm aplicar uma imagem ao fundo de um elemento. A seguir, uma tabela com os atributos bsicos, sua funcionalidade e valores vlidos.
Propriedade e funcionalidade background-color cor de fundo Valores aceitos para a propriedade - cdigo hexadecimal: #FFFFFF - cdigo rgb: rgb(255,235,0) - nome da cor: red, blue, green...etc - transparente: transparent - URL: url(caminho/para/imagem) - no repete: no-repeat - repete vertical e horizontal: repeat - repete vertical: repeat-y - repete horizontal: repeat-x - imagem fixa na tela: fixed - imagem rola com a tela: scroll - x-pos y-pos - x-% y-% - top left - top center - top right - center left - center center - center right - bottom left - bottom center - bottom right
background-image imagem de fundo background-repeat maneira como a imagem de fundo posicionada background-attachment se a imagem de fundo rola ou no com a tela background-position como e onde a imagem de fundo posicionada
Para ilustrar a utilizao das propriedades de fundos a seguir sero apresentados um cdigo exemplo e seu resultado exibido no navegador.
62
63
3.9 Listas
As propriedades de listas definem como elas devero ser exibidas no navegador. A seguir uma tabela com os atributos bsicos, sua funcionalidade e valores vlidos.
Propriedade e funcionalidade Valores aceitos para a propriedade - none - URL: url(caminho/para/imagem) - outside: marcador fora do alinhamento do texto - inside: marcador alinhado com texto - none: sem marcador - disc: crculo (bolinha cheia) - circle: circunferncia (bolinha vazia) - square: quadrado cheio - decimal: nmeros 1, 2, 3, 4, ... - decimal-leading-zero - lower-roman: romano minsculo i, ii, iii, iv, ... - upper-roman: romano maisculo I, II, III, IV, ... - lower-alpha: letra minscula a, b, c, d, ... - upper-alpha: letra maiscula A, B, C, D, ...
list-style-image
list-style-position
list-style-type
64
Para ilustrar a utilizao das propriedades de listas a seguir sero apresentados um cdigo exemplo e seu resultado exibido no navegador. Cdigo 33: Exemplo de estilos para listas
<html> <head> <title>Exemplos de estilos para listas</title> <style type=text/css> #subsegunda { list-style-image: url(../imagens/passos.png) } #segunda { list-style-type: upper-latin } </style> </head> <body> <h1>Exemplos de estilos para listas</h1> <h2>Primeira lista</h2> <ul> <li style=list-style-type: square>Item 1</li> <li style=list-style-type: circle>Item 2</li> <li style=list-style-type: disc>Item 3</li> </ul> <h2>Segunda lista</h2> <ul id=segunda> <li>Item 1</li> <li>Item 2 <ul id=subsegunda> <li>Sub 2.1</li> <li>Sub 2.2</li> <li>Sub 2.3</li> </ul> </li> <li>Item 3</li> <li>Item 4</li> </ul> </body> </html>
65
Na primeira lista aplicado o estilo CSS em linha para definir diretamente no item da lista qual o estilo de marcador dever exibir. Na segunda lista, que contm uma sub-lista so definidas letras maisculas para os itens principais e a imagem ( ) para os sub-itens.
66
67
O resultado do cdigo acima num navegador deve ser parecido com a ilustrao da figura a seguir.
3.11 Cores
Diversas propriedades CSS definem cores a elementos ou textos do HTML. H diversas maneiras como as cores podem ser aplicadas. A lista abaixo exibe cinco maneiras diferentes de aplicar a cor vermelha a uma elemento do HTML. #ff0000 #f00 rgb(255, 0, 0) rgb(100%, 0%, 0%) red
Os quatro primeiros itens utilizam a mistura de cores RGB (Vermelho, Verde e Azul) para definir a cor a ser utilizada, nos dois primeiros atravs de nmeros hexadecimais cujos menores (0) indicam ausncia de cor e os maiores (f) presena total da cor. O primeiro permite uma maior variedade de cores pois para cada cor do RGB h dois nmeros para indicar, j na segundo somente um. Os prximos dois, terceiro e
68
ATIVIDADE
1. Existe alguma maneira de abreviar o cdigo CSS a seguir? Exemplifique! p{ border-width: 1px; border-style: solid; border-top: 10px; border-left: 10px; border-right: 10px; border-bottom: 10px; } 2. Qual ser a diferena exibida pelo navegador quando as cores a seguintes forem aplicadas a um elemento do HTML? Cor 1: red Cor 2: rgb(255,0,0) Cor 3: #f00
69
CAPTULO
4
Projeto de home page
Objetivo
O principal objetivo desta unidade fazer a ligao entre as camadas de contedo e de apresentao que foram vistas nas unidades 2 e 3,respectivamente. Ao final desta unidade voc dever estar pronto para desenvolver seus prprios projetos.
Objetivo do projeto
Desenvolvimento de uma homepage para exibio de anncios de carros usados, possuindo local para divulgao de outras homepages atravs de banners.
Escopo do projeto
A homepage, desenvolvida utilizando a tecnologia HTML dever conter no mximo 10 pginas sendo:
73
1. Pgina inicial contendo anncios de destaque e outros links, dever possuir local para um full banner (banner de tamanho 468x60 pixels) e para outros banners de tamanho 120x60 pixels de outros sites parceiros; 2. Pgina contendo textos explicando a finalidade da homepage; 3. Pgina contendo um formulrio de contato; 4. Pginas para exibio de carros anunciados, com ttulo, foto, e um pequeno texto, segmentados por marca.
Levantamento de requisitos
Nesta etapa so reunidas informaes que sero utilizadas na execuo do projeto. Textos, imagens, vdeos e outras mdias que iro compor a homepage. Para este projeto devero ser levantadas as seguintes informaes: Anncios que sero publicados e quais devero receber destaque na pgina inicial; Banners que devero aparecer na homepage e os hyperlinks para onde sero direcionados; Texto explicando a finalidade da homepage; Padro de cores a ser utilizado na homepage;
74
Com a estrutura bsica da homepage o prximo passo a criao das pastas que sero colocados os arquivos HTML, imagens e estilos CSS. A seguir a estrutura de pasta que ser usada neste projeto.
Na pasta Classificados estaro os arquivos HTML e as pastas estilos e imagens que tero respectivamente arquivos de Folhas de Estilo em Cascata e imagens para a homepage. A organizao em pastas importante, pois quando bem realizada, otimiza as manutenes e modificaes dos documentos. Cada desenvolvedor ou empresa de desenvolvimento define um padro de pastas a ser adotado. Como exibido na figura acima, na pasta Classificados est o arquivo index.html, que o arquivo principal contendo o cdigo da pgina inicial. Alm da pgina index.html, na pasta Classificados haver outras oito pginas, uma para as informaes sobre o site (sobre.html), outra para o formulrio de contato (contato.html) e as outras seis que iro conter os
75
classificados por marcas (chevrolet.html, ford.html, volkswagem. html, fiat.html, renault.html, pegeout.html). Relembrando o que foi explicado na parte 1 deste material, iniciase codificando o contedo das pginas no levando muito em considerao a parte visual. Todas as pginas devero conter a parte superior igual, contendo o logotipo e slogan do site, um fullbanner que poder ser diferente a cada pgina e os menus conforme exibido na ilustrao do esboo. Por isso, a dica construir a parte superior primeiro e depois us-la como exemplo nas outras pginas. O cdigo a seguir ser a base para a criao de todas as pginas deste projeto. Veja que nele h um comentrio de incio e fim do topo alm de utilizao das propriedades class e id, foram vistas na seo de Regras Bsicas de Folhas de Estilos em Cascata, aplicadas a alguns elementos do HTML. Estas propriedades sero utilizadas na aplicaes de estilos. Cdigo 35: Cdigo HTML com o topo da pgina
<html> <head> <title>Início - Anúncios do Igor</title> </head> <body> <!-- Incio Topo --> <h1><img id=logotipo src=imagens/logotipo.png /></h1> <span class=slogan>Compra e venda rápida de carros!</ span> <div><img id=fullbanner src=imagens/fullbanner1.png /></ div> <ul id=menu-principal> <li><a href=index.html>Página inicial</a></li> <li><a href=sobre.html>Sobre o site</a></li> <li><a href=contato.html>Contato</a></li> </ul> <ul id=menu-marcas> <li><strong>Marcas:</strong></li> <li><a href=chevrolet.html>Chevrolet</a></li> <li><a href=ford.html>Ford</a></li> <li><a href=volkswagem.html>Volkswagem</a></li> <li><a href=fiat.html>Fiat</a></li> <li><a href=pegeout.html>Pegeout</a></li> <li><a href=renault.html>Renault</a></li> </ul> <!-- Fim Topo --> </body> </html>
O logotipo e o fulbanner j devero estar na pasta imagens. (Criar uma seta para o local do cdigo que infique logotipo.png)
76
Note que, como j foi indicado antes, no est explcito nos cdigo uma formatao para os navegadores alm dos marcadores padres do HTML. Sendo assim, o cdigo acima salvo com o nome index.html na pasta Classificados quando aberto pelo navegador ser exibido como na figura a seguir.
Com a continuao da codificao do HTML tem-se o cdigo a seguir. Cdigo 36: Pgina inicial completa index.html <html> <head> <title>Início - Anúncios do Igor</title> <link rel=stylesheet type=text/css href=estilos/estilos. css> </head> <body> <!-- Topo --> <h1><img id=logotipo src=imagens/logotipo.png /></h1>
77
78
79
.slogan { font-size: .9em; position: absolute; top: 115px; left:10px; } #fullbanner { position: absolute; top: 25px; left:250px; } /* Menu principal */ #menu-principal { height:25px; margin:0; padding:0 0 0 40px; background-color: #ccc } #menu-principal li { float: left; width: 200px; padding-top:2px; list-style: none; } /* Menu marcas */ #menu-marcas { height:25px; margin:0; padding:0 0 0 10px; background-color: orange; color: #fff } #menu-marcas li { float: left; padding:2px 25px 0 0; list-style: none; }
80
Os quatro primeiros estilos definem a formatao do topo da pgina. Para o elemento h1 definido uma largura fixa e o posicionamento relativo para que os prximos trs elementos possam ser posicionados baseados na posio dele. No estilo .slogan aplicado posicionamento absoluto, quando isso ocorre as propriedades top e left dele indicam o espao do topo e lado esquerdo da pgina ou do elemento anterior caso tenha posicionamento relativo, como o h1. Da mesma forma o elemento #fullbanner posicionado. Na sequncia, os estilos que formatam o menu da homepage. recomendado que os menus sejam sempre construdos no HTML com os marcadores <ul></ul>, isto porque, os sites de busca que fazem cadastro automtico de homepages identificam links nesses marcadores como mais importantes. O estilo #menu-principal formata o marcador <ul
81
id=menu-principal>, definindo sua margem, espaamento interno, cor de fundo e altura. Os itens dessa lista so formatados pelo estilo #menu-marcas li, cujo definio indica largura fixa de 200px, no existncia do marcador de lista list-style: none e que eles iro flutuar float: left, assim ao invs de um abaixo do outro, ficaro lado-a-lado. O menu de marcas tem estilos semelhantes ao principal.
At esse ponto, j se tem a formatao de como ser exibida o topo desta homepage, vista nos navegadores dever ficar como a imagem a seguir:
Seguindo o esboo, na continuao, a formatao da parte central da pgina principal pede um degrad ao fundo. Para isso, necessrio a criao de uma imagem com degrade de cinza para branco, com 1px de largura e aproximadamente 400px de altura. Essa imagem ser usada repetindo na horizontal background: url(../imagens/fundo-homepage.png) repeat-x;. Para que a aplicao deste fundo fique abaixo dos elementos exibidos no esboo necessrio a utilizao dos elementos <div id=fundo-homepage> e </div> cujo papel ser aninh-los. Alm do fundo aplicada a propriedade padding: 1em que far o espaamentos interno uniforme. Em seguida so aplicados estilos aos elementos h3, h4, h5 e h6. Aos elementos h3, h4, e h6 aplicada a propriedade float: left, por isso, assim como os itens do menu, estes elementos iro flutuar, fazendo com que os elementos na sequncia apaream ao seu lado e no abaixo. Um efeito colateral a utilizao da propriedade float: left que quando o prximo no deva ficar ao lado, este dever possuir a propriedade clear: left ou clear: both. Por isso, o primeiro elemento h5 ter definido em linha a aplicao do estilo clear: both. Para resolver o mesmo problema do pargrafo anterior, agora para os quatro banners ao final da pgina, foi includo o elemento <div
82
A prxima pgina ser uma das que exibem os anncios de uma marca especfica. Ela ser aberta quando o usurio selecionar a opo da marca no menu Marcas. Como para a pgina inicial, primeiro um esboo de como ela dever ficar. Como j foi dito anteriormente, a construo da pgina inicial iria dar base para as outras pgina, no cdigo a seguir, em negrito somente os novos cdigos, o restante recuperado, exatamente igual, da pgina inicial. Salve o arquivo com o nome chevrolet.html na pasta Classificados. O mesmo processo de cpia ser usado nas prximas pginas.
83
84
No novo cdigo foram includos elementos que precisam ser formatados. A seguir, os cdigos CSS que devero ser includos no arquivo de folha de estilos estilos.css. Cdigo 39: Estilos para serem incluveis no arquivo estilos.css
#fundo-marcas { background: url(../imagens/fundo-homepage.png) repeat-x; height:250px; padding: 1em; } h7 { float: left; margin-right:1em; } hr { clear:both; border: none; margin:1.5em; }
Alm dos estilos j conhecidos foi includo um novo ao elemento <hr /> que ir quebrar a flutuao dos elementos anteriores e aplicar um espaamento entre eles. O resultado nos navegadores ser parecido com a figura a seguir.
85
Para as prximas pginas de marcas, faz-se a cpia da pgina chevrolet.html e troca-se as imagens dos carros e os textos, adicionando ou removendo carros quando necessrio. Assim, tem-se alm da pgina inicial, index.html, as pginas: chevrolet.html, ford.html, volkswagem.html, fiat.html, peugeot.html e renault.html. A prxima pgina, bem mais simples que as desenvolvidas at agora a sobre.html, cujo objetivo ser explicar a finalidade da homepage. Utiliza-se os cdigos base da pgina inicial e inclui-se o cdigo a seguir.
86
Para esta pgina no foi necessrio a incluso de nenhum estilo adicional. O resultado nos navegadores dever ser como a figura a seguir.
A prxima e ltima pgina deste passo-a-passo exibe a criao de um simples formulrio de contato a partir de onde as pessoas que acessam a homepage podem solicitar informaes, dar sugestes ou entrar em contato com os responsveis pela pgina.
87
Assim como para as pgina anteriores, nesta ser utilizada a estrutura bsica da pgina inicial. A seguir somente o cdigo HTML para o formulrio. Cdigo 41: Cdigo para compor a pgina contato.html
<h2>Formulário de contato</h2> <form method=post action=enviaremail.cgi> <fieldset> <label for=nome>Nome:</label> <input type=text name=nome /> <label for=telefone>Telefone:</label> <input type=text name=telefone /> <label for=assunto>Assunto:</label> <input type=text name=assunto /> <label for=assunto>Explique aqui o motivo do contato:</label> <textarea name=texto></textarea> <input type=submit value=Enviar /> <input type=reset value=Limpar /> </fieldset> </form>
Como novos itens foram adicionados ser necessrio a criao de estilos para formatao desta pgina. A seguir os novos estilos que devem ser incorporados ao arquivo de estilos estilos.css.
88
A aplicao das propriedades clear: both e float: left tanto aos elementos input, quanto aos elementos label, faz com que eles flutuem mas ao mesmo tempo quebrem a flutuao do item anterior. Isso causa o efeito de deixar os elementos um abaixo do outro como poder ser visto na figura abaixo, que aps a incluso dos novos estilos dever ser exibida no navegador como segue.
89
ATIVIDADE
Quais seriam os passos e cdigos necessrios quando deseja alterar as cores que os links aparecem no navegador? necessrio aplicar as propriedades id ou class ao marcado <a>? Justifique suas respostas.
90
Referncias bibliogrficas
[MAUJOR10] Mauricio Samy Silva, Site do Maujor. Acessado em 18 de novembro de 2009. On-line: http://www.maujor.com/ [HTML05] Dave Raggett, Getting started with HTML. 24 maio de 2005. Acessado em 15 de julho de 2009. On-line: http://www.w3.org/MarkUp/Guide/ [HTML99] Dave Raggett, Arnaud Le Hors, Ian Jacobs. HTML 4.01 Specification. 24 de dezembro de 1999. Acessado em: 12 de julho de 2009. On-line: http:// www.w3.org/TR/html4/ [NOTEPAD++09] NOTEPAD++. About Notepad++. Acesso em 13 de junho de 2009. On-line: http://notepad-plus.sourceforge.net/br/site.htm [NETAPP09] Net Applications. Acessado em 30 julho de 2009. On-line: http:// marketshare.hitslink.com [TORRES06] Bruno Torres. Padres web: Desenvolvimento em camadas. 21 de maio de 2006. Acessado em 11 de junho de 2009. On-line: http://www.obasicodaweb.com/padroes-web-desenvolvimento-em-camadas