Professional Documents
Culture Documents
Portugal/2010
Reservados todos os direitos por Centro Atlântico, Lda.
Qualquer reprodução, incluindo fotocópia, só pode ser feita com autorização expressa dos editores da obra.
Colecção: Tecnologias
Direcção gráfica: Centro Atlântico
Revisão técnica: Centro Atlântico
Capa: Paulo Buchinho
geral@centroatlantico.pt
www.centroatlantico.pt
Marcas registadas: Todos os termos mencionados neste livro conhecidos como sendo marcas
registadas de produtos e serviços foram apropriadamente capitalizados. A utilização de um
termo neste livro não deve ser encarada como afectando a validade de alguma marca regista-
da de produto ou serviço.
O Editor e o Autor não se responsabilizam por possíveis danos morais ou físicos causados
pelas instruções contidas no livro nem por endereços Internet que não correspondam às Home-
-Pages pretendidas.
O Guia Prático do Dreamweaver CS5 com HTML, CSS e JavaScript é uma publicação inde-
pendente não filiada na Adobe Systems Incorporated.
ÍNDICE
Prefácio 15
Introdução 15
Público-alvo e pré-requisitos 15
Características principais do livro 16
Convenções usadas 16
Visão geral e Organização 17
Sobre o Autor 19
1 Web Design 21
1.1 Tecnologias client-side 21
1.1.1 HTML 23
1.1.2 XML 24
1.1.3 XHTML 25
1.1.4 CSS 25
1.1.5 JavaScript 25
1.2 Ferramentas de Web Design 26
1.3 Adobe Dreamweaver 27
1.3.1 Versões disponíveis 28
1.3.2 Requisitos de sistema 29
1.4 Novidades no Dreamweaver CS5 30
1.4.1 Para os web designers 31
1.4.2 Para os web developers 33
1.4.3 Funcionalidades removidas 37
6 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
2 Ambiente de trabalho 39
2.1 WELCOME SCREEN 39
2.2 Barras de ferramentas 42
2.2.1 APPLICATION TOOLBAR 42
2.2.2 DOCUMENT TOOLBAR 45
2.2.3 Outras barras de ferramentas 48
2.3 Painéis 49
2.3.1 Alterar a disposição dos painéis 50
2.3.2 Flutuar um painel 51
2.3.3 Colocar grupos de painéis no panel dock 52
2.3.4 Minimizar painéis 54
2.3.5 Criar outro panel dock 56
2.3.6 Painéis horizontais 56
2.3.7 Painel INSERT 57
2.3.8 PROPERTY INSPECTOR 59
2.3.9 Painel RESULTS 60
2.4 Workspaces 61
2.4.1 Criar um workspace 62
2.4.2 Repor tudo como estava 64
2.5 Área de documento 64
2.5.1 TAG SELECTOR 64
2.5.2 Outros ícones e informação 66
2.5.3 Trabalhar com réguas 68
2.5.4 Trabalhar com a grelha 69
2.5.5 Trabalhar com guias 70
3 Sítios Web 73
3.1 Definir um sítio Web 74
3.2 Gestão de sítios Web 78
3.3 Gerir ficheiros 80
3.4 Outra informação sobre o sítio Web 83
3.4.1 Servidores Web 83
3.4.2 Trocar ficheiros com o servidor remoto 85
ÍNDICE 7
4 Documentos 87
4.1 Preferências dos novos documentos 93
4.2 Estrutura de um documento HTML 94
4.2.1 Secção HEAD 95
4.2.2 Secção BODY 97
4.3 Trabalhar com documentos 98
4.4 Visualizar páginas 100
4.4.1 Live View 101
4.4.2 Pré-visualização das páginas em browsers 102
4.4.3 BrowserLab 104
4.4.4 Multiscreen 112
4.4.5 Device Central 115
6 Imagens 145
6.1 Formatos de imagens 147
6.1.1 Formato GIF 147
6.1.2 Formato JPEG 148
6.1.3 Formato PNG 148
6.1.4 Formato SVG 149
6.2 Inserção de imagens 150
6.2.1 Image placeholders 153
6.2.2 Posicionar imagens 154
6.3 Optimizar e alterar imagens 157
6.3.1 Crop 157
6.3.2 Redimensionar 159
6.3.3 Luminosidade e contraste 160
6.3.4 Melhorar a definição 161
6.3.5 Optimizar imagens 161
6.3.6 Editar imagens num programa externo 163
6.3.7 Integração com o Photoshop 166
7 Hiperligações 169
7.1 Tipos de links 169
7.2 Criar links 171
7.2.1 Links para páginas externas ao site 175
7.3 Propriedades dos links 175
7.3.1 Abrir páginas em janelas ou separadores do browser 175
7.3.2 Outras propriedades dos links 176
7.4 Links em imagens 177
7.5 Links para ficheiros PDF e outros 178
7.6 Outro tipo de links 179
7.7 Links internos a uma página 181
7.7.1 Criar named anchors 181
7.7.2 Elementos invisíveis 182
7.7.3 Criar links para aceder às named anchors 184
7.7.4 Named anchors externas 186
7.8 Image maps 187
ÍNDICE 9
8 Tabelas 191
8.1 Criar uma tabela 192
8.2 Estrutura de uma tabela 194
8.3 Alterar uma tabela 195
8.3.1 Seleccionar uma tabela 196
8.3.2 Largura da tabela e das colunas 196
8.3.3 Seleccionar linhas e colunas 198
8.3.4 Inserir linhas e colunas 199
8.3.5 Alinhamento vertical 201
8.3.6 No wrap 202
8.3.7 Fundir e dividir células 204
8.4 Importar dados num formato tabular 206
8.5 Acessibilidade em tabelas 208
8.6 Outros elementos e atributos de uma tabela 210
8.7 Ordenar os dados de uma tabela 212
8.8 Modo expandido 213
9 Formulários 215
9.1 Criar um formulário 216
9.1.1 Propriedades do formulário 218
9.2 Campos de texto 219
9.2.1 Text 220
9.2.2 Atributos de acessibilidade 220
9.2.3 Atributos dos campos de texto 223
9.2.4 Textarea 224
9.2.5 Password 226
9.3 Radio buttons 227
9.4 Checkboxes 232
9.5 Select 235
9.5.1 Jump menu 240
9.6 Botões 241
9.6.1 Botões do tipo imagem 242
9.7 Melhorar a organização do formulário 243
9.8 Outros campos 246
10 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Introdução
O desenvolvimento de sítios Web, partilhado, entre outros, por informáticos,
designers, arquitectos de informação e profissionais de marketing, tem sido
uma das actividades que mais alterações tem sofrido ao longo dos seus pou-
cos anos de existência. O desenho de páginas Web está em constante evolu-
ção, passando de estáticas para interactivas e depois para dinâmicas.
Originalmente criadas em simples editores de texto, com o desenvolvimento
das tecnologias que possibilitam a criação de páginas cada vez mais comple-
xas, foram surgindo aplicações para simplificar o trabalho dos web designers e
dos web developers. O Adobe Dreamweaver é uma das aplicações que, ao
longo de diversas versões, soube acompanhar a evolução dos sítios Web.
Aplicação de web design por excelência, disponibiliza inúmeras funcionalida-
des que facilitam o dia-a-dia do web designer. A integração com outras aplica-
ções da Adobe, como o Adobe Photoshop e o Adobe Fireworks, e com os ser-
viços online que a Adobe disponibiliza, como o BrowserLab, e a integração do
WebKit, que permite uma rápida pré-visualização das páginas dentro do pró-
prio Dreamweaver, são pontos fortes desta aplicação.
Mas é sobretudo a facilidade de utilização do ambiente de trabalho, o facto de
se poderem criar páginas Web sem recorrer ao código, as funcionalidades
avançadas de criação, aplicação e interacção com as Cascading Style Sheets,
e, mais recentemente, a integração da Spry framework, que tornam o Dream-
weaver uma ferramenta de excelência na criação de sítios Web.
Público-alvo e pré-requisitos
Este livro é destinado a todos os web designers, existentes ou potenciais, que
pretendam desenvolver competências sobre a criação de sítios Web.
Não é exigida nenhuma experiência ao nível do desenho de páginas Web,
dado que o livro pretende ser acessível a qualquer pessoa que tenha interesse
no desenvolvimento de sítios Web.
16 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Convenções usadas
Este livro utiliza diversas convenções com vista a facilitar a assimilação da
informação:
Termos em inglês são apresentados, de uma forma geral, em itálico:
« Utilizando as behaviors JavaScript, que são »
«... não aparecerá nenhuma lista de drop-down.»
O código encontra-se formatado em Courier New:
#conteudo {
background-color: #FF0;
margin-bottom: 10px;
}
Pedro Remoaldo
Pedro Remoaldo é licenciado em Informática, formador e consultor em sistemas
e tecnologias de informação com cerca de uma década de experiência como
docente no ensino superior.
Autor de 17 livros sobre sistemas operativos, software, Internet, segurança e
web development, dos quais os 10 títulos mais recentes foram publicados pelo
Centro Atlântico.
Os seus interesses são bastante abrangentes, mas dedica particular atenção às
tecnologias Internet, aos sistemas de gestão de bases de dados e ao Business
Intelligence.
Torne a sua leitura mais produtiva,
reproduzindo os exemplos do livro
no seu computador
OFERTA:
Envie um e-mail* para dreamweaver@centroatl.pt
para receber os endereços de Internet de onde
poderá fazer o download dos ficheiros de apoio
deste livro (bem como futuras actualizações e
outras informações sobre os nossos livros).
Indique por favor o seu nome, bem como a data e
local de compra do livro, para poder receber os
ficheiros gratuitamente.
Alguns utilizadores não visitarão mesmo o seu sítio Web, preferindo ler content
feeds, utilizando RSS. Quando se constrói estes feeds, quererá enviar o seu
conteúdo HTML sem qualquer código JavaScript ou estilos CSS.
A forma de acomodar o maior intervalo possível de visitantes é pensar na cria-
ção de páginas Web como utilizando um modelo de três camadas. Este é o
modelo aconselhado pelo W3C (World Wide Web Consortium – www.w3c.org), a
entidade responsável pela criação das normas que gerem a Internet.
As camadas são:
Estrutura Apresentação
HTML CSS
XHTML XSL
XML XSLT
Comportamento
ECMAScript
(JavaScript)
DOM
1.1.1 HTML
A HTML (Hypertext Markup Language) é a linguagem de ‘marcação’ mais uti-
lizada para a criação de páginas Web. Permite a descrição da estrutura da
informação existente num documento, quer seja textual (através de
cabeçalhos, parágrafos e listas, entre outros), quer sejam formulários
interactivos, imagens e outros objectos (como filmes, animações ou áudio).
A HTML é escrita na forma de etiquetas (conhecidas por tags), que são colo-
cadas entre os sinais < e >. Um conjunto de etiquetas de início e de fim, bem
como o respectivo conteúdo, tem o nome de elemento HTML.
A etiqueta de fim é idêntica à etiqueta de início, excepto que o texto na etique-
ta de fim é precedido por um símbolo “/”. Por exemplo:
<p>Exemplo de um parágrafo</p>
1.1.2 XML
A eXtensible Markup Language é uma linguagem de marcação genérica. O
principal propósito desta linguagem é facilitar a partilha de dados entre siste-
mas diferentes, particularmente através da Internet.
Algumas das linguagens actualmente utilizadas na Internet são baseadas no
XML, como o XHTML, o RSS e o SVG, entre outras.
Exemplo do conteúdo de um ficheiro XML:
<?xml version="1.0" encoding="UTF-8"?>
<alunos>
<aluno>
<nome>Elsa Bessa</nome>
<empresa>Oceano de Ideias</empresa>
</aluno>
...
</alunos>
1.1.3 XHTML
A eXtensible HyperText Markup Language é uma linguagem de marcação
semelhante ao HTML, mas que obedece às regras mais rígidas do XML.
Enquanto a HTML é uma aplicação da SGML, uma linguagem de marcação
muito flexível, a XHTML é uma aplicação da XML, um subconjunto mais restri-
tivo da SGML.
A XHTML pode ser vista como uma reformulação da HTML utilizando XML. A
XHTML 1.0 tornou-se uma recomendação do W3C, em Janeiro de 2000, e a
XHTML 1.1 tornou-se uma recomendação do W3C em Maio de 2001. Como
parte da especificação HTML5, está a ser desenvolvida a XHTML5.
1.1.4 CSS
As Cascading Style Sheets são uma linguagem de folhas de estilo utilizada
para descrever a apresentação visual de um documento escrito numa lingua-
gem de marcação como o HTML, o XHTML ou mesmo o XML.
As normas associadas às CSS definem vários níveis e ‘perfis’, que podem ser
suportados pelos browsers. Cada nível das CSS é construído ‘em cima’ do
nível anterior, adicionando novas funcionalidades. Actualmente existem basi-
camente três níveis: CSS1, CSS2 e CSS3.
Os perfis (profiles) são subconjuntos de um ou mais níveis das CSS que foram
criados para um determinado equipamento ou interface com o utilizador.
Existem perfis para equipamentos móveis, impressoras e televisores.
Exemplo de estilos CSS:
p {
font-family: Arial, serif;
}
#tabelanotas {
margin: 0;
}
a:hover {
text-decoration: none;
}
1.1.5 JavaScript
A JavaScript é uma linguagem de scripting utilizada em browsers Web, o que
significa que é utilizada em conjunto e ‘dentro’ de outras linguagens como o
HTML. Não tem nenhuma relação com a linguagem Java, embora a sua
sintaxe seja muito parecida. Criada pela Netscape Communications,
originalmente o seu nome era LiveScript, e mais tarde deu origem a uma
norma, a ECMAScript.
26 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Existe ainda uma versão de experimentação (trial version) que pode ser des-
carregada através da Internet acedendo ao sítio http://www.adobe.com/downloads/.
Esta versão é válida por um período de 30 dias.
Caso possua o Dreamweaver 8, CS3 ou CS4 pode fazer a actualização para a
versão CS5.
1.3.1.1 Actualizações
Periodicamente a Adobe lança actualizações gratuitas do Dreamweaver que
corrigem problemas identificados (bugs) e/ou introduzem novas funcionalida-
des.
Com os problemas que ocorreram com o não suporte do Flash Player no
iPhone e no iPad, e com a aposta da Apple nas tecnologias HTML5 e CSS3, a
Adobe viu-se forçada a disponibilizar alguma funcionalidade do HTML5 no
Dreamweaver CS5. Inicialmente disponível no Dreamweaver CS5 HTML 5
Pack Update, mais tarde foi integrado na actualização 11.0.3.
Para o Macintosh:
• Processador Intel de múltiplos núcleos (por exemplo, Dual Core);
• Mac OS X v.10.5.7 ou v10.6;
• 1GB de memória;
• 1,8GB de espaço livre em disco. Pode ser necessário espaço adicional
durante a instalação;
• Monitor com resolução de 1280x800 píxeis e placa gráfica com suporte
de 16 bits de cor;
• Unidade de DVD-ROM;
• Para a activação do produto é necessário ligação à Internet, preferen-
cialmente, embora a activação também possa ser efectuada através do
telefone;
• Ligação à Internet de banda larga para usufruir dos serviços online
disponíveis.
As starter pages permitem aos web designers mais inexperientes terem uma
base de trabalho sólida com modelos de páginas bem estruturados.
Pode-se incluir ou excluir, como fontes de code-hints, theme files para blogs e
outros ficheiros e pastas personalizadas PHP.
Esta lista estará vazia a primeira vez que abra o Dreamweaver após a instala-
ção. À medida que vai trabalhando em diferentes páginas, a lista vai sendo
preenchida.
Mas existe sempre uma pasta OPEN que aparece no fim da lista, que permite
aceder a qualquer ficheiro que exista em disco.
Na coluna do meio do Welcome Screen temos uma lista dos diferentes tipos
de documentos que podem ser criados no Dreamweaver:
Ao seleccionar uma destas opções cria um documento desse tipo com as res-
pectivas configurações para esse tipo de ficheiros. Pode depois alterar estas
configurações.
Nesta lista aparece também a opção DREAMWEAVER SITE que permite a cria-
ção de um sítio Web e que é normalmente a primeira acção que se efectua
quando se começa a trabalhar num novo projecto.
A opção MORE mostra mais opções de criação de tipos de documentos:
2. AMBIENTE DE TRABALHO 41
Se, por acaso, não pretender que o W ELCOME SCREEN fique visível quando
fecha todos os documentos, existe uma opção no canto inferior esquerdo:
O primeiro ícone desta barra tem a ver com a interface do Dreamweaver, mais
precisamente com a forma como aparece a página na área de documentos:
2. AMBIENTE DE TRABALHO 43
Uma das utilizações mais comuns da APPLICATION TOOLBAR é para mudar en-
tre workspaces, utilizando o menu W ORKSPACE:
Community Help, que está instalada no seu computador e que permite aceder
a artigos sobre diversos assuntos:
Dica
Para desactivar a APPLICATION BAR aceda à opção W INDOW > APPLICATION
BAR.
Por omissão, quando se utiliza o modo SPLIT a vista CODE fica no lado
esquerdo e a vista DESIGN fica no lado direito, mas se seleccionarmos a opção
DESIGN VIEW ON LEFT a posição das duas vistas é trocada. Já se desactivar-
mos a opção, estas duas vistas passam a ficar uma por cima da outra, em vez
de ficarem lado a lado.
Os botões LIVE CODE, LIVE VIEW e INSPECT têm todos a ver com a integração,
no Dreamweaver, do motor de rendering open-source WebKit (que é o motor
utilizado pelo Apple Safari e pelo Google Chrome), e que nos permite ver,
dentro do Dreamweaver, as páginas, como se estivessemos a vê-las num
browser.
O botão LIVE CODE tem associado o menu CHECK BROWSER COMPATIBILITY,
e perceber os problemas que as páginas que o web designer cria podem ter
em determinados browsers, sobretudo ao nível da utilização de estilos CSS.
Mas se quisermos ver a nossa página/sítio num browser existe um ícone para
o efeito:
2. AMBIENTE DE TRABALHO 47
As ajudas visuais (VISUAL AIDS) são linhas utilizadas pelo Dreamweaver para
identificar certo tipo de elementos numa página:
Este é o texto que aparece no canto superior esquerdo dos browsers quando
se acede à página:
A barra STANDARD,
que, como o próprio nome indica, contém opções para configurar a navegação
com o browser disponibilizado internamente pelo Dreamweaver.
Finalmente, a barra STYLE RENDERING, que será abordada em mais detalhe no
capítulo sobre CSS, permite visualizar o design da página em diferentes tipos
de média, como: screen, print, handheld, projection, TTY e TV. Con-
tém também um botão que permite activar ou desactivar estilos CSS, além de
botões específicos para as pseudo-classes associadas normalmente aos links:
2.3 Painéis
Os painéis (em inglês, panels) no Dreamweaver são uma espécie de caixa de
diálogo que pode flutuar por cima da interface ou estar encaixada (em inglês,
docked) numa parte da interface.
Por omissão, os painéis aparecem agrupados no lado direito da interface (no
PANEL DOCK), quando se utiliza o ambiente de trabalho DESIGNER.
Repare que os painéis estão agrupados em grupos de painéis (em inglês,
panel groups), como, por exemplo, os painéis FILES e ASSETS.
Quando abrimos o Dreamweaver não vemos todos os painéis que estão dis-
poníveis. Podemos ver os painéis que estão disponíveis, e podemos mostrar
ou ocultar painéis, utilizando o menu W INDOW .
50 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Uma das formas mais fáceis de mudar a disposição dos painéis é utilizar
ambientes de trabalho (em inglês, workspaces) pré-definidos:
Ao largar o botão do rato, o painel aparecerá a flutuar por cima dos outros
elementos da interface:
Para flutuar um grupo de painéis, arraste-o pela zona ‘vazia’ que se encontra
ao lado direito dos painéis que constituem o grupo:
Pode verificar que está no local certo se apenas aparecer uma fina barra hori-
zontal azul entre dois grupos de painéis, e não aparecer uma moldura azul à
volta de nenhum painel.
Dica
Também podemos arrastar um grupo de painéis, arrastando um painel indivi-
dual existente nesse grupo, bastando para isso manter pressionada a tecla
OPTION no Macintosh ou ALT no Windows.
54 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O resultado é:
Para voltar a repor os grupos de painéis basta voltar a clicar no ícone COLAPSE
TO ICONS.
Para ainda poupar mais espaço, colocamos o cursor entre o panel dock e a
janela do documento, até o cursor mudar para,
2. AMBIENTE DE TRABALHO 55
e arrastamos para o lado direito. Ficamos então com uma única coluna de íco-
nes:
Dica
Se pretender esconder todos os painéis que aparecem na interface do
Dreamweaver basta teclar F4. Aparece uma barra cinzenta vertical no local
onde estava o panel dock, e uma barra cinzenta horizontal no local do PRO-
PERTY INSPECTOR:
Se passar o rato por cima de uma destas barras e esperar 1 segundo, apare-
cerá o panel dock ou o PROPERTY INSPECTOR.
56 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
e quando aparecer uma barra azul vertical, largar o grupo de painéis (ou o
painel):
Quando este painel está no estado vertical temos de fazer muitas vezes scroll
para acedermos ao objecto pretendido.
Este painel funciona muito melhor como painel horizontal. Se pegarmos no
painel INSERT e o arrastarmos para a parte de cima da janela do documento,
até aparecer uma linha horizontal azul por cima dos nomes dos documentos
abertos,
Dica
Deve ter reparado quando clica com o botão direito do rato na barra (ou
CONTROL+CLIQUE no Macintosh), que aparece a opção COLOR ICONS, que
permite utilizar, como o próprio nome indica, ícones coloridos na barra INSERT.
2.4 Workspaces
Existem diversas tarefas que se podem efectuar no Dreamweaver quando se
constroem sítios Web. Num dia podemos estar a trabalhar fortemente em
código, noutro em dados dinâmicos, e noutro a construir o layout recorrendo a
estilos CSS.
Cada uma destas actividades utiliza um layout preferencial de painéis e de
barras de ferramentas diferente. Em vez de estar constantemente a abrir e a
fechar painéis e a arranjá-los, pode recorrer aos workspaces.
O Dreamweaver disponibiliza diversos workspaces pré-definidos, como pode
verificar no menu respectivo da APPLICATION TOOLBAR:
62 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Este novo workspace, aparece agora na lista, como sendo o workspace utili-
zado por omissão quando se abre o Dreamweaver:
Na parte de baixo desta área estão localizadas duas zonas de muito interesse
para o web designer na chamada barra de estado (status bar).
Os três primeiros ícones são mutuamente exclusivos o que significa que ape-
nas um pode estar seleccionado numa determinada altura:
– a ferramenta de selecção (SELECT) é a que está seleccionada por
omissão, e a que permite seleccionar objectos na página, ou inserir
o cursor na página para se poder escrever texto.
– esta ferramenta (HAND) permite arrastar o documento para ver
outras partes do mesmo. Pouco utilizada, dado que se pode utilizar
em alternativa as scroll bars (barras de deslocamento).
– a lupa (ZOOM), associada à lista de valores de ampliação (zoom)
que se encontra ao seu lado direito, permite aumentar ou reduzir a
ampliação da página:
Dica
Quando a opção de ampliação está activada, se mantiver a barra
de espaços pressionada muda temporariamente para a ferramenta
HAND.
Para voltar a repor a origem das medidas no canto superior esquerdo, selec-
cione a opção VIEW > RULERS > RESET ORIGIN.
Dica
Existe também um menu de contexto associado a cada uma das réguas, que
permite aceder às opções que existem no sub-menu VIEW > RULERS:
Repare que a guia tem cor verde e apresenta uma tooltip a indicar a distância
a que se encontra da origem (ponto 0,0) das réguas.
Depois de criar uma guia pode deslocá-la para uma nova posição desde que a
opção LOCK GUIDES não esteja activada.
Dica
Para mover uma guia para uma localização precisa, efectue um duplo-clique
por cima da guia, introduza a localização exacta pretendida, e clique em OK:
Deve ter reparado que existem cinco resoluções de ecrã na parte de baixo do
sub-menu VIEW > GUIDES. Ao seleccionar uma delas, o Dreamweaver cria
duas guias, uma horizontal e outra vertical, que representam os limites do con-
teúdo visível num ecrã com a resolução seleccionada.
Dica
Para visualizar a distância entre guias, mantenha pressionada a tecla
CONTROL no Windows (ou COMMAND no Macintosh) quando o ponteiro do rato
estiver entre duas guias. A unidade de medida que aparece é a mesma que a
unidade de medida utilizada nas réguas. Também funciona para se saber a
distância de uma guia à origem.
3 Sítios Web
root
Por exemplo, se for um sítio Web pequeno, pode colocar todos os ficheiros no
root folder. Mas com sítios Web maiores e mais complexos é vulgar criar-se
pastas para arrumar os ficheiros.
Normalmente criam-se pastas específicas para conterem os recursos utiliza-
dos no sítio Web, como imagens, CSS, scripts, imagens, vídeos, etc.
Muitas vezes o nome dessas pastas começa por ‘_’ para aparecerem no topo
das listagens do root folder e para serem facilmente identificadas como con-
tendo recursos e não páginas do sítio Web.
A página principal de um sítio Web encontra-se sempre no root folder e tem o
nome index ou default, dependendo do servidor Web utilizado. A extensão
desta página depende do tipo de sítio Web: se for um sítio estático será .html
ou .html; caso seja um sítio Web dinâmico será .php ou .aspx (entre outros
possíveis).
74 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Dica
Deve planear a estrutura do seu sítio Web e os recursos a utilizar antes de
começar a trabalhar nas páginas.
Se clicar na lista, poderá verificar que não aparece nenhum nome de sítio
Web, apenas a identificação dos dispositivos (discos, DVD, etc.) existentes no
seu computador:
Qualquer uma destas opções permite aceder à caixa de diálogo SITE SETUP:
Quem já utilizava o Dreamweaver verificará que esta caixa de diálogo foi muito
simplificada.
A primeira operação é atribuir um nome ao sítio Web:
76 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Pode atribuir o nome que muito bem entender, não existindo nenhuma restri-
ção. Pode mesmo utilizar espaços no nome.
Depois é preciso definir a localização do root folder:
Dica
Quando estamos a criar um sítio Web apenas para fazer o design das pági-
nas, podemos colocá-lo em qualquer pasta do disco do nosso computador.
Mas se estivermos a trabalhar com sítios Web dinâmicos, então teremos de
seleccionar uma pasta dentro da instalação do servidor web. Por exemplo, no
caso do Apache é normalmente dentro da pasta htdocs.
Como estamos a criar um sítio Web de raiz não aparecerá nenhum ficheiro ou
pasta.
Caso esteja a ‘importar’ um sítio Web existente, e ele for constituído por mui-
tos ficheiros e pastas, poderá ver uma caixa de diálogo a informar que o
Dreamweaver está a fazer o caching do sítio Web.
Deve colocar os sítios Web em pastas distintas de forma a não interferir com
outros sítios Web que já tenha criado. De qualquer forma, o Dreamweaver
avisa sempre que se tente utilizar uma pasta de um sítio Web existente para
um novo sítio Web,
ou se a pasta para o novo sítio Web for uma sub-pasta de um sítio Web já
existente:
Dica
Para aceder rapidamente à caixa de diálogo SITE SETUP, relativa ao sítio Web
corrente, basta efectuar um duplo clique por cima do respectivo nome na lista
de sítios Web do painel FILES.
Esta caixa de diálogo mostra uma lista de todos os sítios Web definidos no
Dreamweaver.
A partir desta caixa de diálogo pode efectuar diversas operações com os sítios
Web:
• NEW – para criar um novo sítio Web;
• EDIT – para alterar a configuração de um sítio Web;
• DUPLICATE – para duplicar a configuração de um sítio Web;
• REMOVE – para eliminar um sítio Web do Dreamweaver. Não elimina o
sítio Web (ficheiros e pastas) fisicamente em disco;
• EXPORT – permite exportar a configuração do sítio Web para um fichei-
ro, para o sítio Web ser ‘reproduzido’ noutro computador;
• IMPORT – permite importar, a partir de um ficheiro, a configuração de
um sítio Web Dreamweaver.
Para todas as opções, excepto para NEW e IMPORT, terá primeiro de seleccio-
nar o sítio Web na lista da esquerda.
Vamos editar o nosso sítio Web, seleccionando-o na lista do lado esquerdo e
clicando no botão EDIT. Aparece uma caixa de diálogo já nossa conhecida. Na
categoria ADVANCED SETTINGS, seleccione a sub-categoria LOCAL INFO:
80 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
weaver mantém sobre a localização dos recursos de cada sítio Web (como
imagens, ficheiros CSS, ficheiros JavaScript, etc.) e a relação entre os fichei-
ros através de links.
Se utilizar o painel FILES para mudar um ficheiro de pasta, o Dreamweaver
actualiza automaticamente todos os ficheiros que possuam ligações para esse
ficheiro, nomeadamente, links.
Se, mesmo assim, tiver de criar pastas ou ficheiros no Windows Explorer ou
no Finder do Macintosh, ou a partir de outra aplicação, clique depois no ícone
REFRESH no Dreamweaver,
• EDIT > COPY – copiar uma pasta ou ficheiro para memória para depois
‘colar’;
• EDIT > PASTE – ‘colar’ uma pasta ou ficheiro copiado;
• EDIT > DELETE – eliminar um ficheiro, sendo enviado para o Recycle
Bin no Windows (ou para o Trash no Macintosh). Terá de confirmar a
operação;
• EDIT > DUPLICATE – duplicar um ficheiro ou pasta. O novo ficheiro/pasta
terá, no Windows, o nome do original mais ‘ – Copy’;
• EDIT > RENAME – alterar o nome a um ficheiro ou pasta. Caso existam
ficheiros que tenham links para o ficheiro em causa ou para os fichei-
ros existentes na pasta a que alterou o nome, o Dreamweaver per-
guntará se pretende actualizar esses links:
3. SÍTIOS WEB 83
Dica
Repare que neste menu de contexto a penúltima opção é EXPLORE, que per-
mite abrir uma janela do Windows Explorer, ou do Finder do Macintosh, com o
conteúdo do root folder. É uma forma rápida de aceder a essa pasta para, por
exemplo, efectuar uma cópia de segurança.
Quando pretender copiar o sítio Web, que tenha criado no Dreamweaver, para
o servidor do fornecedor de alojamento, deverá utilizar a informação de confi-
guração de acesso fornecida por essa empresa.
Se achar o painel FILES algo limitado, pode clicar no botão EXPAND TO SHOW
LOCAL AND REMOTE SITES,
Ao clicar, por exemplo, na opção HTML, será criada uma nova página sem
conteúdo visível, e que conterá o seguinte código:
88 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Mas, desta vez, é criada no root folder uma nova página com o nome
untitled.html:
Como o nome do ficheiro está seleccionado, podemos aproveitar para lhe atri-
buir um novo nome:
Na primeira coluna,
Existe uma divisão entre páginas ‘estáticas’ (opções HTML a XML) e páginas
dinâmicas (opções ASP JavaScript a PHP).
Caso tivesse escolhido a opção OTHER, na primeira coluna,
Ainda na caixa de diálogo NEW DOCUMENT, repare que, no canto inferior direito,
existe uma série de opções que nos permite personalizar a página que preten-
demos criar.
A primeira lista,
Por omissão é HTML, mas se estiver a criar um sítio Web dinâmico será natu-
ral mudar o valor desta opção, por exemplo, para PHP (ou ColdFusion).
Sempre que mudar esta opção, o Dreamweaver coloca, na opção DEFAULT
EXTENSION,
a extensão mais comum para o tipo de documento seleccionado:
Na maior parte dos casos não pode alterar esta extensão, mas se seleccionar
a opção HTML, no campo DEFAULT DOCUMENT, pode fazê-lo. Vários designers
utilizam a extensão .htm para os documentos HTML em vez da extensão .html.
Também se pode definir o DTD a utilizar por omissão nos novos documentos
criados. Vimos anteriormente que por omissão é utilizado o XHTML 1.0 Tran-
sitional:
Não é muito vulgar alterar as outras opções excepto a última, SHOW NEW
DOCUMENT DIALOG BOX ON CONTROL+N. Se esta opção estiver activada quando
teclar CONTROL+N no Windows (ou COMMAND+N no Macintosh), aparece a
caixa de diálogo NEW DOCUMENT. Caso a opção esteja desactivada, esta caixa
de diálogo não aparece e será criado automaticamente um documento de
acordo com os valores seleccionados para as opções da caixa de diálogo P RE-
FERENCES, aparecendo aberto na área de documentos.
Deve ter reparado que, no código, existe um elemento <meta>. Estes ele-
mentos, em documentos HTML, servem para passar informação sobre o
documento aos browsers e aos motores de pesquisa.
O elemento <meta> criado pelo Dreamweaver identifica o tipo de documento
recorrendo a um Internet Media Type (text/html), e a uma codificação
(utf-8):
<meta http-equiv="Content-Type" content="text/html;
charset=utf-8" />
Existem muitos outros tipos de elementos <meta> (ou outros elementos) que
podem ser utilizados no cabeçalho (<head>) de um documento HTML. Para
inserir novos elementos utiliza-se a opção HEAD da categoria COMMON do pai-
nel INSERT,
criar um elemento <meta> com um atributo name. Neste caso existe uma
série de valores pré-definidos que são reconhecidos pelos browsers e pelos
motores de pesquisa. Um desses valores é o description que permite a
introdução de uma breve descrição da finalidade da página (campo CONTENT).
Depois de se clicar em OK, o código HTML produzido é:
<meta name="Description" content="Site de venda de
automóveis." />
Estes keywords são utilizados por alguns motores de pesquisa para indexarem
a página.
Se pretender alterar, em modo DESIGN, qualquer um dos elementos presentes
no HEAD de um documento HTML, pode activar a barra HEAD utilizando a
opção VIEW > HEAD CONTENT:
<body>
</body>
Dica
Se trabalhar habitualmente com muitos ficheiros abertos e se cansar de os
abrir sempre que invoca o Dreamweaver, aceda à caixa de diálogo
PREFERENCES através da opção EDIT > PREFERENCES (DREAMWEAVER >
PREFERENCES no Macintosh) e depois seleccione a categoria GENERAL:
Dica
Uma forma mais rápida de fazer a pré-visualização da página corrente no
browser por omissão é teclar F12.
Se, por acaso, não aparecer listado um dos browsers que tenha instalado no
seu computador, pode sempre adicioná-lo à lista clicando na opção EDIT
BROWSER LIST para aceder à categoria PREVIEW IN BROWSER da caixa de diá-
logo PREFERENCES:
104 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
4.4.3 BrowserLab
Novidade na versão CS5 do Dreamewaver é a integração com o BrowserLab,
que é um serviço online CS Live, que permite testar o nosso sítio numa grande
variedade de browsers. Este serviço funciona através de cópias de ecrã
(screenshots) da página corrente tal como ela aparecerá em diferentes brow-
sers. Uma das suas funcionalidades mais úteis é permitir a comparação, lado
a lado, do aspecto de uma página em dois browsers diferentes.
Para se poder utilizar o BrowserLab é necessário que o web designer esteja
registado no sítio Web da Adobe e que active o registo depois de ter recebido
uma mensagem de e-mail.
No Dreamweaver, o painel ADOBE BROWSERLAB permite o acesso a este ser-
viço:
4. DOCUMENTOS 105
Terá de esperar uns segundos até que o serviço BROWSERLAB crie as imagens
com o resultado da visualização da página em diversos browsers. Será apre-
sentada a versão criada no browser definido por omissão:
Para ver a página em outros browsers, aceda ao menu que está associado ao
nome do browser:
4. DOCUMENTOS 107
Repare que além do browser ‘corrente’, existem mais três outros browsers na
lista (Safari 3.0 – OS X, Firefox 3.0 – Windows e Internet Explorer 7.0 – Win-
dows). Estes quatro browsers pertencem ao chamado browser set corrente.
Se o browser em que pretende testar a sua página não se encontrar na lista,
pode seleccioná-lo do sub-menu ALL BROWSERS:
Se pretender criar uma lista browser set diferente da fornecida, terá de aceder
à opção BROWSER SETS:
Nesta página pode adicionar ou remover browsers à lista browser set por
omissão:
Poderá verificar pelo sub-menu BROWSER SETS que o novo browser set ficou
automaticamente activado:
Podemos fazer zoom para ter uma ideia mais exacta de um determinado ele-
mento da página (zoom maior que 100%) ou para termos uma visão de con-
junto da página (zoom menor que 100%).
A opção DELAY é bastante útil dado que permite informar o serviço Browser-
Lab que as cópias de ecrã (screenshots) devem ser efectuadas com um atraso
de x segundos, para permitir que certas animações ou widgets JavaScript
possam ter tempo de executar.
Se pretender ficar com uma cópia dos screenshots produzidos para um ou
mais browsers, pode fazê-lo recorrendo à opção SAVE LOCALLY do menu de
contexto que aparece quando clica com o botão direito do rato em cima da
página (CONTROL+CLIQUE no Macintosh):
4.4.4 Multiscreen
Quando se desenha uma página Web que vai ser visualizada em diversos
equipamentos diferentes (computador, smartphone, tablet, etc.), é interessante
poder-se ver em simultâneo a aparência da página nesses equipamentos.
4. DOCUMENTOS 113
Podemos utilizar CSS Media Queries para atribuir ficheiros CSS distintos para
cada um dos três equipamentos. Esta funcionalidade está disponível na norma
CSS3 e por isso só funciona em browsers que suportem essa norma, isto é,
nas versões mais recentes dos browsers.
Clique no botão MEDIA QUERIES e, depois
na caixa de diálogo MEDIA QUERIES,
seleccione na coluna CSS FILE o ficheiro
CSS que pretende utilizar com cada tipo
de equipamento:
5.2 Parágrafos
Ao escrevermos texto no Dreamweaver e ao carregar em ENTER (ou RETURN),
já estamos a estruturá-lo, dado que é criado automaticamente um parágrafo
que é identificado em HTML pelo elemento <p>:
118 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Não assuma que quando vê uma linha de texto ou um bloco de texto esta se
encontra dentro de um parágrafo. Deverá colocar o cursor dentro do texto em
causa e depois verificar no TAG SELECTOR que elemento é utilizado nesse
texto.
Se utilizar a vista SPLIT, poderá verificar os parágrafos que existem no docu-
mento:
Repare que o texto se encontra envolvido pelas etiquetas (tags) <p> e </p>.
5.3 Cabeçalhos
A maior parte das vezes o texto de uma página está dividido em secções a
que corresponde normalmente um título. No nosso texto exemplo já temos
quatro títulos possíveis (Quem Somos, Preços Baixos, Qualidade Garantida e
Assistência técnica qualificada).
Necessitamos agora de informar o HTML que esses títulos correspondem a
secções distintas. Para o fazermos seleccionamos primeiro o respectivo
parágrafo,
O resultado é:
5.4 Alinhamentos
Por omissão, o Dreamweaver e o HTML efectuam um alinhamento do texto
(parágrafos, cabeçalhos, itens de listas, etc.) ao lado esquerdo. Porém, pode-
mos alterar esse alinhamento recorrendo ao atributo align do HTML.
Uma das formas de o fazer é através do sub-menu FORMAT > ALIGN:
Mas repare que, no PROPERTY INSPECTOR, tanto para os parágrafos como para
os cabeçalhos não existe nenhuma opção de alinhamento quando está selec-
cionado o separador HTML. Mas se mudarmos para o separador CSS encon-
tramos lá os tradicionais ícones associados ao alinhamento:
5. TRABALHAR COM TEXTO 123
Além destes, temos acesso a muitos mais através da opção OTHER deste sub-
-menu:
Repare que nesta caixa de diálogo, quando clica num carácter especial, apa-
rece na caixa de texto INSERT a sua representação em HTML. Por exemplo, no
caso do copyright será ©. Todos os caracteres especiais começam por
‘&’ e terminam em ‘;’, e quase todos possuem também uma representação
numérica que, no caso do copyright, é ©.
Historicamente, quando se utilizava o iso8859-1 como codificação das pági-
nas, os caracteres acentuados também eram representados por códigos. Por
126 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Ao contrário dos elementos HTML que utilizamos até agora, o elemento <hr>
possui diversas propriedades que permitem alterar a sua aparência, como
pode observar se seleccionar o elemento no TAG SELECTOR e reparar no
PROPERTY INSPECTOR:
largura da página. Isto é, uma largura de 50% para um elemento <hr> refere-
se a metade da largura da página, seja ela qual for, em píxeis.
O alinhamento, que por omissão é ao centro, pode ser alterado (opção ALIGN),
bem como o efeito de sombreado (opção SHADING).
Ao longo dos tempos, o elemento <hr> foi sendo substituído por imagens,
algumas das quais bastante curiosas, e mais recentemente pelas molduras
(borders) dos estilos CSS.
5.11 Listas
As listas são uma forma de apresentar itens relacionados de uma forma nume-
rada ou não numerada. Permitem-nos agrupar conteúdo relacionado, e estru-
turar esse conteúdo de uma forma que mostre importância, posição ou seme-
lhança. Quando utilizado para navegação, permite agrupar hiperligações
relacionadas.
O HTML disponibiliza três tipos principais de listas:
• Ordered – utiliza uma forma de numeração, árabe ou romana;
• Unordered – utiliza marcas (em inglês bullets) ou ícones;
• Definition – apresenta uma palavra, seguida da respectiva definição.
Ao contrário de uma lista de definições, as listas numeradas e não numeradas
seguem a mesma estrutura. Embora a palavra inglesa ordered possa dar a
ideia que existe uma ordenação dos itens da lista, na realidade os itens ape-
nas estão numerados, não existindo uma ordem definida entre eles.
Acrescentamos texto à nossa secção QUALIDADE GARANTIDA de forma a criar
uma lista não numerada:
5. TRABALHAR COM TEXTO 131
O resultado é:
Uma lista não numerada recorre ao elemento <ul> (do inglês, unordered list)
de HTML, bem como ao elemento <li> (do inglês list item) para identificar os
itens da lista.
Como as listas numeradas e não numeradas partilham a estrutura basta
mudar de <ul> para <ol> (e de </ul> para </ol>) para termos uma lista
numerada:
Caso se trate de uma lista numerada, o estilo da numeração tem a ver com o
tipo de algarismos ou letras que aparecem no início de cada item:
O resultado é:
Além de indentar a sub-lista para o lado direito, o tipo de marca (bullet) utili-
zado também é diferente.
No código HTML, é criada uma nova lista não numerada dentro de um ele-
mento <li>.
O elemento <dl> (do inglês, definition list) é utilizado para toda a lista de defi-
nições, o elemento <dt> (do inglês, definition term) para a palavra a definir (no
nosso caso, para a pergunta) e o elemento <dd> (do inglês, definition descrip-
tion) para o texto da definição (no nosso caso, para a resposta).
Como tínhamos uma lista não numerada no meio, o resultado não foi o ideal.
Mas depois de seleccionarmos outra vez os itens da lista não numerada e cli-
cado no ícone UNORDERED LIST do PROPERTY INSPECTOR, o resultado já é
melhor (definimos também toda a lista não numerada, o parágrafo acima e o
parágrafo abaixo da terceira resposta, como um único elemento <dd> da lista
de definições):
Se utilizar muitas vezes esta opção pode colocar um ícone no painel INSERT
ou definir um atalho de teclado.
Embora o resultado não seja para já agradável visualmente, iremos mais tarde
utilizar estilos CSS para formatar a apresentação da lista.
Repare que está seleccionada a opção TEXT WITH STRUCTURE PLUS BASIC
FORMATTING (BOLD, ITALIC). Esta opção permite importar a estrutura de um
documento (títulos, texto, etc.), mas a formatação está limitada a negritos
(bold) e itálicos (italic).
Se tivéssemos seleccionada a opção TEXT ONLY, obteríamos um texto ‘corrido’
sem mudanças de linha, e sem qualquer espécie de formatação:
Nunca deve utilizar esta opção, a não ser que pretenda passar muito tempo a
remover o código desnecessário que é inserido! De qualquer forma, o Dream-
weaver disponibiliza uma opção, COMMANDS > CLEAN UP WORD HTML, que
permite ‘limpar’ a maior parte destes excessos produzidos pelo Microsoft
Word:
• RETAIN LINE BREAKS – para manter as quebras de linha. Esta opção fica
desactivada caso se escolha a opção TEXT ONLY;
• CLEAN UP WORD PARAGRAPH SPACING – permite eliminar as linhas em
branco que seriam criadas por se carregar duas vezes no ENTER (ou
RETURN) no Microsoft Word, isto é, elimina ‘espaço’ entre dois
parágrafos.
Mas ainda existe uma forma mais fácil de importar um documento Microsoft
Word para o Dreamweaver. Podemos arrastar o documento .doc do painel
FILES directamente para a página:
5.15 Dicionário
Em todos os programas de processamento de texto, como o Microsoft Word,
está disponível um corrector ortográfico. No Dreamweaver esse corrector tam-
bém existe e está acessível a partir da opção COMMANDS > CHECK SPELLING:
Como vimos num capítulo anterior, é habitual possuir definida num sítio Web
uma pasta que armazena todas as imagens utilizadas nesse sítio. No nosso
sítio Web exemplo essa pasta chama-se _imagens. Poderá criar a pasta no
painel FILES, recorrendo ao menu de contexto (botão direito do rato no
Windows e CONTROL+CLIQUE no Macintosh) e à opção NEW FOLDER,
Convém também que na gestão do site (SITE > MANAGE SITES > EDIT), selec-
cione a categoria ADVANCED SETTINGS > LOCAL INFO, e no campo DEFAULT
IMAGES FOLDER, identifique a pasta criada utilizando o ícone BROWSE FOR FILE
( ):
6. IMAGENS 147
Podemos agora inserir imagens que não se encontrem no nosso sítio Web que
o Dreamweaver automaticamente efectuará uma cópia da imagem para a pas-
ta de imagens:
gens simples como gráficos (de barras, por exemplo) ou logótipos com áreas
sólidas de cor.
O facto de se poder designar uma cor de transparência permite a utilização de
imagens em formato GIF sobre fundos com cor. Dado que muitos logótipos
não são quadrados perfeitos, é assim possível colocá-los em fundos com cor.
Uma das grandes vantagens deste formato é o suporte de animações, basea-
das num conjunto de imagens consecutivas, e que ainda é utilizado na produ-
ção de banners (anúncios). Nas animações pode ser utilizada uma paleta dife-
rente de cores para cada frame.
Os ficheiros com imagens em formato GIF possuem normalmente a extensão
.gif.
Historicamente, o suporte deste formato por parte dos browsers tem sido lento
e errático o que tem evitado a substituição do formato GIF. Por exemplo, o
Internet Explorer apenas suporta correctamente transparências PNG a partir
da versão 7. Porém, as versões mais recentes dos browsers já possuem um
suporte completo deste formato.
Todos os programas recentes de tratamento de imagem, como o Photoshop, o
Adobe Fireworks e o Adobe Illustrator, exportam imagens em formato PNG.
Tal como acontece com o formato GIF, o formato PNG é adequado para ima-
gens que possuam texto e linhas geométricas. Embora possa ser utilizado
para imagens fotográficas, o maior tamanho dos ficheiros produzidos relativa-
mente a ficheiros JPEG de alta qualidade torna negligível a ligeira melhoria na
qualidade visual das imagens.
Os ficheiros com imagens em formato PNG possuem normalmente a extensão
.png.
Não é aconselhável desactivar esta opção, dado que, a nível mundial, e mes-
mo em Portugal, cada vez mais vai ser obrigatória a utilização de funcionali-
dades de acessibilidade nos sítios Web.
Como vimos anteriormente, a introdução de uma imagem numa página não
significa que a imagem vá ficar armazenada dentro da página. Na realidade, a
imagem apenas é referenciada pelo respectivo nome, como pode verificar pelo
elemento HTML utilizado (<img>):
6. IMAGENS 153
e o resultado é:
156 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Veremos mais tarde como resolver este problema recorrendo a estilos CSS.
Também se pode afastar a imagem verticalmente dos outros elementos recor-
rendo ao campo V SPACE.
Caso pretendesse colocar texto no meio de duas imagens, deveria, em pri-
meiro lugar, inserir as imagens e depois inserir o texto. Em seguida alinhava a
primeira imagem à esquerda e a segunda à direita.
6. IMAGENS 157
Nesta imagem do PROPERTY INSPECTOR, como a área EDIT não possui os íco-
nes do Photoshop ou do Fireworks isso significa que eles não estão instalados.
6.3.1 Crop
Se apenas pretender apresentar parte de uma imagem, para focar a atenção
numa determinada área ou para reduzir o espaço ocupado em disco, pode
recorrer à ferramenta crop.
Quando clica na ferramenta CROP, depois de ter seleccionado uma imagem,
e após o Dreamweaver avisar que a operação que vai efectuar alterará per-
manentemente a imagem,
158 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Coloque o cursor por cima de um dos quadrados que aparecem nos vértices e
a meio das linhas (selection handles),
clique e desloque para ‘esconder’ parte da imagem. Por exemplo, para mos-
trarmos apenas o automóvel:
6.3.2 Redimensionar
Para redimensionar uma imagem no Dreamweaver basta clicar na imagem e
arrastar um dos quadrados (selection handles):
Aparece o habitual alerta a informar que a operação vai alterar de forma defi-
nitiva a imagem (ao contrário do que acontece com o redimensionamento).
Clique em Ok para confirmar a operação.
Após o alerta a informar que a operação vai alterar de forma definitiva a ima-
gem, aparece uma caixa de diálogo que permite efectuar as alterações:
6. IMAGENS 161
A caixa de diálogo que aparece é (após o alerta a informar que a operação vai
alterar de forma definitiva a imagem):
Mais uma vez, com a opção PREVIEW activada, pode ir verificando as altera-
ções na imagem à medida que mexe no controlo SHARPEN.
Esta caixa de diálogo permite também optimizar uma imagem de forma ao seu
tamanho final ser igual a um valor definido pelo web designer:
6. IMAGENS 163
Neste caso pode verificar que o editor primário para lidar com imagens PNG
(lista EXTENSIONS) é o Corel Paint Shop Pro Photo (lista EDITORS). Isto significa
que, se tiver uma imagem PNG seleccionada e clicar no botão EDIT,
a imagem em causa será aberta no Corel Paint Shop Pro Photo. Caso o Pho-
toShop fosse o editor primário o ícone seria diferente:
Caso não possua nenhum editor gráfico instalado obterá a seguinte mensa-
gem de erro:
Dica
É possível acrescentar outros programas à lista clicando no botão + que se
encontra logo acima da lista EDITORS, e depois na caixa de diálogo SELECT
EXTERNAL EDITOR seleccionar o ficheiro executável (em Windows tem a exten-
são .exe) relativo ao programa pretendido.
No caso dos editores gráficos da Adobe e como existe uma interligação muito
forte do Dreamweaver com esses programas, quando abre uma imagem num
desses programas a partir do Dreamweaver, por exemplo, no Fireworks, terá a
possibilidade de editar a
imagem directamente ou de
criar uma cópia para uma
imagem em formato PNG
que é o formato nativo do
Fireworks.
No menu de contexto que aparece quando clica com o botão direito do rato em
cima de uma imagem, deverá ter reparado que aparece uma opção EDIT
ORIGINAL W ITH, que também permite editar a imagem original no PhotoShop:
168 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
root
root
_css
_css _imagens
_imagens info
info stock
stock ...
index.html
quemsomos.html destaques.html
faq.html
Como primeiro exemplo, vamos supor que estamos a editar a página index.
html e que pretendemos inserir um link para a página quemsomos.html, que
se encontra na pasta info:
• Link relativo ao documento:
info/quemsomos.html
• Link relativo à raiz do sítio Web:
/info/quemsomos.html
Neste caso a única diferença é o ‘/’ no início do endereço. Suponhamos agora
que pretendemos fazer o inverso, isto é, estamos a editar a página
quemsomos.html e pretendemos inserir um link para a página index.html:
• Link relativo ao documento:
../index.html
• Link relativo à raiz do sítio Web:
/index.html
Finalmente, estamos a editar a página quemsomos.html e pretendemos
inserir um link para a página destaques.html existente na pasta stock:
• Link relativo ao documento:
../stock/destaques.html
• Link relativo à raiz do sítio Web:
/stock/destaques.html
7. HIPERLIGAÇÕES 171
Cuidado com o que escreve no campo LINK. Não se engane, senão o link não
funciona. Caso a página destino não se encontre na mesma pasta da página
corrente terá de escrever o nome da pasta.
Tenha em atenção que podemos escrever o nome de uma página mesmo que
esta ainda não exista. É o que acontece no nosso exemplo com a página
destaques.html para a qual apontará o link DESTAQUES. Caso não
venhamos a criar essa página, o link não funcionará no browser, como é
óbvio.
Pode recorrer aos ícones BROWSE FOR FILE e POINT TO FILE para seleccionar
uma página do site corrente. Para utilizar a ferramenta POINT TO FILE, clique e
arraste o ícone apontando para o ficheiro destino no painel FILES:
7. HIPERLIGAÇÕES 173
Convém que o painel FILES esteja visível. Neste painel, se uma pasta não
estiver aberta, basta manter o rato um segundo por cima da pasta para ela
abrir e podermos assim seleccionar um ficheiro lá existente utilizando a fer-
ramenta POINT TO FILE.
Já o ícone BROWSE FOR FILE dá acesso a uma caixa de diálogo tipo de selec-
ção de ficheiros, mas esta possui algumas opções adicionais:
Repare no botão SITE ROOT no topo que permite ‘saltar’ directamente para a
raiz do sítio Web. E a área RELATIVE TO, permite definir o tipo de link que se
pretende criar (RELATIVE TO DOCUMENT ou RELATIVE TO SITE ROOT).
Pode também criar um link de texto recorrendo à opção INSERT > HYPERLINK,
Agora, sempre que clicarmos no link Revista Turbo será aberta uma nova
janela ou um novo separador/aba do browser com a página principal desse
sítio Web:
Mas neste caso era necessário testar a página recorrendo a um servidor Web,
por isso o melhor é utilizar mesmo um link relativo ao documento:
index.html ou ../index.html se estivéssemos numa pasta do sítio Web.
178 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O ideal é colocar esta imagem num template utilizado para todas as páginas.
Evitamos assim ter de inserir o link e a imagem em todas as páginas do site.
Um dos efeitos de atribuir um link a uma imagem é que esta fica com uma
moldura azul (para assinalar que se trata de um link):
No caso de ficheiros PDF, para que as pessoas que não tenham instalado o
Adobe Reader possam visualizar o ficheiro, podemos acrescentar algo do tipo:
Pode obter esta imagem no site da Adobe e colocar-lhe um link para a página
http://www.adobe.com/products/acrobat/readstep2.html que permite ao visitante trans-
ferir o Adobe Acrobat Reader.
No nosso exemplo, para que o utilizador que não perceba nada de programas
de e-mail possa contactar a empresa, é boa ideia utilizar uma frase do tipo:
Agora, para cada secção do texto, definimos a NAMED ANCHOR que é o nome
da etiqueta HTML que se coloca nos locais para onde queremos que os links
nos levem. Por isso, vamos colocar o cursor antes do título da primeira
secção:
182 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Repare que o elemento a também possui um atributo id, daí aparecer no TAG
SELECTOR, a#quemsomos. Veremos mais tarde a utilidade deste atributo.
isto é,
nome_ficheiro#named_anchor
Se, por acaso, a área não ficou muito bem desenhada, seleccione a ferramen-
ta POINTER,
As tabelas têm como função, numa página Web, apresentar dados em formato
tabular ao visitante. Existem várias ocasiões em que é aconselhável a utiliza-
ção de uma tabela para apresentar os dados neste formato.
No nosso exemplo, associada a cada automóvel disponível no site, existe
diversa informação como marca, modelo, cor, cilindrada, etc. Esta informação
é perfeita para ser colocada numa tabela.
Vamos criar uma nova página, destaques.html, na pasta stock, que vai
conter três viaturas em destaque. Colocamos primeiro as imagens na página:
Para criar uma tabela com os dados para cada viatura podemos:
• Criar uma tabela e inserir os dados nas células apropriadas;
• Importar a tabela de um programa como o Excel ou de um ficheiro de
texto.
192 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Em qualquer dos casos, aparece uma caixa de diálogo, que permite personali-
zar a tabela a inserir:
Dica
Qualquer um destes valores introduzidos na caixa de diálogo TABLE pode ser
mais tarde alterado através do PROPERTY INSPECTOR.
O resultado é:
194 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Neste capítulo não nos preocupamos com o aspecto visual da página e nome-
adamente com colocar a tabela ao lado direito da imagem.
<th>Combustível:</th>
<td>Diesel</td>
</tr>
<tr>
<th>Cor:</th>
<td>Cinzento metalizada</td>
</tr>
</table>
Isto acontece porque muitos browsers obrigam a que uma célula tenha de
possuir conteúdo senão não é mostrada (nem sequer os respectivos limites).
Ao introduzir-se conteúdo na célula vazia o é apagado.
A maior parte das opções disponíveis na caixa de diálogo TABLE, que apare-
ceu quando criamos a nossa tabela, estão disponíveis a partir do PROPERTY
INSPECTOR quando a tabela está seleccionada. As únicas duas propriedades
que não estão disponíveis no PROPERTY INSPECTOR são a CAPTION e o
SUMMARY.
Pode também seleccioná-la acedendo à opção TABLE > SELECT TABLE do res-
pectivo menu de contexto (botão direito do rato no Windows e CONTROL+
CLIQUE no Macintosh).
Dica
Se não gosta que apareça esta informação sobre as larguras, pode desactivá-
-la através da opção TABLE > TABLE WIDTHS do menu de contexto que aparece
quando clica com o botão direito do rato (ou CTRL+CLIQUE no Macintosh) numa
célula da tabela. Ou, em alternativa, utilize o menu VISUAL AIDS da barra
DOCUMENT:
Mas para seleccionar duas linhas já não podemos recorrer a este método.
Temos de colocar o cursor antes da primeira linha, até ele mudar para uma
seta a apontar para a linha ,
e depois clicar e arrastar para baixo para ficarem as duas linhas selecciona-
das:
8. TABELAS 199
Pretende-se agora inserir uma linha no fim da tabela. Uma das hipóteses para
o fazer é colocar o cursor numa das células da última linha da tabela e depois
escolher a opção INSERT > TABLE OBJECTS > INSERT ROW BELOW. Mas mais
fácil é colocar o cursor no fim do conteúdo da última célula da última linha,
e depois teclar TAB. Pode continuar a teclar TAB para ir criando mais linhas.
Basta agora introduzir os valores das novas células:
200 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
A opção INSERT ROW insere uma linha antes da linha corrente. Uma opção
prática é a INSERT ROWS OR COLUMNS que permite definir o número de
linhas/colunas que pretendemos inserir e se são inseridas antes ou depois da
linha/coluna corrente:
Em código:
<tr>
<th valign="top">Equipamento:</th>
<td><p>Bancos desportivos</p>
<p>Bluetooth Kit mãos livres</p>
<p>Computador de bordo</p>
<p>Faróis Xénon</p>
<p>Jantes em liga leve</p>
<p>Retrovisores eléctricos</p></td>
</tr>
8.3.6 No wrap
Neste momento a nossa tabela possui 300 píxeis de largura e para já todo o
conteúdo das células não necessita de mais espaço. Mas se mudarmos um
dos equipamentos para,
8. TABELAS 203
Resultado:
Em primeiro lugar vamos fazer com que ‘Funcionalidade’ ocupe as duas pri-
meiras células da primeira coluna. Depois de seleccionadas as células, com o
clicar e arrastar,
Resultado:
Existe também a operação inversa, SPLIT CELLS, que permite dividir uma
célula em duas ou mais células:
206 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Para aceder a esta caixa de diálogo utilize a opção MODIFY > TABLE > SPLIT
CELL, a opção TABLE > SPLIT CELL do menu de contexto da célula ou o ícone
SPLIT do PROPERTY INSPECTOR:
A nossa tabela ainda não tem grande aspecto, mas tem os dados necessários
na posição necessária. Para tornar a tabela mais atractiva visualmente pode-
mos aplicar estilos CSS.
No caso da nossa tabela não podemos utilizar esta opção FORMAT TOP ROW
porque os cabeçalhos se encontram na primeira coluna. No entanto, depois de
importarmos os dados do ficheiro CSV, podemos convertê-los em cabeçalhos
seleccionando a primeira coluna,
208 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O resultado é:
Claro está que na nossa página não faz muito sentido ter uma legenda e um
cabeçalho com o mesmo conteúdo. Podemos prescindir do cabeçalho dado
que é possível formatar a legenda com estilos CSS de forma a que fique idên-
tica ao cabeçalho.
Utilizando apenas HTML e atributos do elemento CAPTION, só se pode definir o
posicionamento da legenda, se bem que esta propriedade deva ser definida
recorrendo a um estilo CSS. Ao colocarmos o cursor no fim da etiqueta
<caption> e darmos um espaço, aparece uma lista dos atributos que se po-
dem utilizar com o elemento <caption>:
Neste caso tratava-se de um problema que tinha a ver com a falta de uma eti-
queta de fecho de um elemento da tabela.
É possível ordenar alfabética ou numericamente, por ordem ascendente ou
descendente:
Utilizando este modo pode expandir uma tabela para, por exemplo, colocar o
cursor à esquerda ou direita de uma imagem sem seleccionar inadvertida-
mente a imagem ou célula.
Dica
Depois de ter efectuado a selecção pretendida ou de ter colocado o cursor no
local desejado, deve voltar ao modo STANDARD da vista DESIGN para efectuar
as alterações, dado que algumas operações visuais, como o redimensiona-
mento, não têm os resultados esperados quando se está em modo EXPANDED
TABLES.
Para aceder a este modo, seleccione a opção VIEW > TABLE MODE > EXPANDED
TABLES MODE ou clique no ícone
EXPANDED TABLES MODE na categoria
LAYOUT do painel INSERT:
Para sair do modo EXPANDED TABLES escolha uma das seguintes hipóteses:
• Clique no link exit na barra EXPANDED TABLES MODE no topo da janela
de documento.
• Seleccione a opção VIEW > TABLE MODE > STANDARD MODE.
• Clique no ícone STANDARD MODE na categoria LAYOUT do painel INSERT.
9 Formulários
registo.htm processa.php
Esta página que recebe os dados normalmente interage com uma base de
dados para guardar ou extrair dados (no caso de uma pesquisa) e depois
apresenta ao visitante uma mensagem de sucesso ou de erro relativamente ao
processamento dos dados introduzidos no formulário.
Isto significa que tornar os formulários funcionais implica a utilização de uma
linguagem server-side como o PHP, o que está fora do âmbito deste livro. Mas
interessa que conceptualmente perceba como é que os formulários funcionam
e como é que os sítios Web processam os dados inseridos nos formulários
pelos visitantes.
Os formulários são criados recorrendo ao elemento <form> que contém atri-
butos que definem o nome do formulário, uma acção e um método de envio de
dados.
A acção (correspondente ao atributo action) identifica a página que proces-
sará o formulário, isto é, a página para a qual o formulário deve enviar os
dados introduzidos pelo visitante. Como dissemos anteriormente, trata-se de
uma página server-side (em PHP, Coldfusion ou outra linguagem).
216 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Os valores a seguir aos caracteres & são parâmetros que são passados para a
página os processar.
O método que devemos utilizar num formulário depende da forma como a
página de processamento espera receber os dados e das limitações dos pro-
cessos de submissão.
Os dados submetidos através do método get são menos seguros e podem
ser ‘cortados’ devido à limitação de tamanho da querystring. Por isso o método
get é tipicamente utilizado para dados não críticos e de pequeno tamanho,
como os utilizados num formulário de pesquisa.
O método post é tipicamente utilizado para transacções mais seguras e para
dados mais longos como comentários dos visitantes, ou quando se possui
campos do tipo password.
Se clicar no botão YES, o que acontecerá é que será criado outro formulário na
página,
218 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O nome dos formulários era muito utilizado há uns anos para referenciar, em
JavaScript, o formulário e os respectivos elementos. Mas hoje em dia tal não é
necessário. Contudo o nome (mais concretamente o valor do atributo id) ain-
da é importante para ser referenciado nos estilos CSS.
Os nomes que se podem atribuir aos formulários seguem a lógica habitual de
terem de começar por letras, só poderem ter letras, algarismos, o underscore
e o hífen, e não devem ter caracteres acentuados e c cedilhados.
O atributo action identifica a página que processará o formulário. Como
normalmente se trata de uma página server-side (em PHP ou Coldfusion) não
a vamos preencher. Podemos preencher este campo mesmo que a página
referenciada ainda não exista.
O atributo method permite definir o método utilizado para enviar os dados
para a página server-side que os vai processar. Como vimos anteriormente,
existem dois métodos possíveis: GET e POST. Vamos utilizar o método POST
nos nossos formulários, que é também o método seleccionado por omissão.
Já o atributo enctype permite definir o tipo de codificação (encoding) utilizado
para o envio dos dados para a página definida no atributo action. Se não se
atribuir nenhum valor é utilizado, por omissão, o application/x-www-
form-urlencoded. Só se atribui um valor a este atributo quando se utilizam
campos de upload (transferência) no formulário. Nesse caso o valor a utilizar é
multipart/form-data.
Finalmente, e tal como acontece nos links, podemos decidir que a página que
está definida no atributo action e que é executada quando o formulário é
submetido (normalmente, quando o visitante clica num botão de submit), é
aberta numa janela/aba separada, recorrendo ao valor _blank do atributo
target. Os outros valores possíveis para este atributo são utilizados apenas
com frames.
9.2.1 Text
O primeiro campo que vamos inserir no nosso formulário é um campo de texto
normal, que pode ser inserido, após termos colocado o cursor dentro dos limi-
tes do formulário, clicando no ícone TEXT FIELD da barra INSERT (ou seleccio-
nando a opção INSERT > FORM > TEXT FIELD):
Dica
Se não quiser que a caixa de diálogo INPUT TAG ACCESSIBILITY ATTRIBUTES
apareça sempre que insere um campo no formulário, aceda à opção VIEW >
PREFERENCES no Windows (DREAMWEAVER > PREFERENCES no Macintosh), e
depois, na caixa de diálogo que aparece, seleccione a categoria ACCESSI-
BILITY, e desactive a opção FORMS OBJECTS:
9. FORMULÁRIOS 221
<label>Nome:
<input type="text" name="nome" id="nome" />
</label>
TAB INDEX é a ordem pela qual o cursor é colocado nos campos quando se
carrega na tecla TAB. Isto é, é possível, num browser, saltar entre campos de
um formulário (e, já agora, entre links) recorrendo à tecla TAB.
Por omissão, os browsers (e outros user agents) definem a ordem de salto da
esquerda para a direita e de cima para baixo da página. Podemos alterar esta
ordem, se o desejarmos, atribuindo números a cada campo. O normal é utilizar
números de 10 em 10 para o TAB INDEX para o caso de querermos mudar ele-
mentos de sítio no formulário ou de inserir novos e não termos assim de rees-
crever todos os valores de TAB INDEX de todos os campos do formulário.
Em HTML corresponde a um atributo tabindex do elemento <input>:
9. FORMULÁRIOS 223
Este atributo é muitas vezes complementado com código JavaScript, para que
a mensagem seja removida quando o visitante clica dentro do campo.
Finalmente, as opções DISABLED e READ-ONLY são pouco utilizadas quando se
desenha uma página, sendo a sua utilização mais orientada para JavaScript.
DISABLED (em HTML, disabled="disabled") significa que o campo não
pode ser preenchido aparecendo com um aspecto diferente (se bem que nos
browsers e sistemas operativos mais recentes, a diferença visual seja pouco
perceptível). Na imagem abaixo, o campo NOME está desactivado:
9.2.4 Textarea
Para o campo em que o visitante vai introduzir a sua dúvida, temos de utilizar
outro tipo de elemento do formulário. Recorremos a uma textarea:
9. FORMULÁRIOS 225
O resultado é:
Mais uma vez, podemos alterar diversos atributos deste elemento do formulá-
rio, recorrendo ao PROPERTY INSPECTOR:
9.2.5 Password
Para exemplificar a utilização de campos de senha (password), vamos criar
um formulário de registo para permitir que os visitantes se registem no nosso
sítio Web e possam assim receber informação da AutoVende e reservar viatu-
ras que pretendam adquirir. Vamos criar então uma página registo.html no
root folder do nosso sítio Web.
Para já este formulário tem a seguinte aparência:
Vamos utilizar, como nome de utilizador para aceder ao sítio Web, o respec-
tivo e-mail.
9. FORMULÁRIOS 227
Não existe, na barra INSERT, um ícone para um campo do tipo password por-
que é muito fácil mudar de um campo de texto normal para um campo do tipo
password.
Por isso, vamos inserir um campo de texto normal, e depois, no PROPERTY
INSPECTOR, seleccionar a opção PASSWORD na área TYPE:
Desta vez o Dreamweaver, como sabe que se trata de um radio button, coloca
o label à frente do elemento:
Por exemplo, atribuiu um valor (campo CHECKED VALUE) a cada um dos radio
buttons, que é igual ao id, como podemos ver pelo código HTML produzido:
<p>
Género:
<input type="radio" name="radio" id="feminino"
value="feminino" />
<label for="feminino">Feminino</label>
<input type="radio" name="radio" id="masculino"
value="masculino" />
<label for="masculino">Masculino</label>
</p>
para um determinado elemento HTML, mas no caso dos radio buttons e das
checkboxes eles são normalmente diferentes.
O que o atributo name faz num radio button é identificar o conjunto de radio
buttons ao qual ele pertence. Isto é, todos os radio buttons que pertençam ao
mesmo ‘campo’ do formulário têm de possuir um valor idêntico do campo
name. Não é possível, na caixa de diálogo INPUT TAG ACCESSIBILITY ATTRI-
BUTES, definir o valor do atributo name a atribuir ao radio button. Essa opera-
ção tem de ser efectuada a partir do PROPERTY INSPECTOR.
Por omissão, o Dreamweaver atribui o valor radio ao primeiro conjunto de
radio buttons existentes na página. Embora possa manter este nome, lembre-
-se que este é o nome identificativo do valor que é passado para a página de
processamento de dados do formulário. O ideal é atribuir a designação do
grupo de radio buttons, que no nosso caso é genero (sem acento). Terá de
alterar este valor nos dois radio buttons.
Muitas vezes é necessário apresentar uma opção já seleccionada. Isto pode
acontecer, por exemplo, se o sítio Web abordar assuntos para mulheres.
Neste caso, colocaríamos seleccionado, por omissão, o radio button femi-
nino, activando a opção CHECKED na área INITIAL STATE:
Atenção que muitas vezes apresenta-se ao visitante uma das opções já selec-
cionada para o ‘forçar’ a ‘escolher’ essa opção.
Embora possa inserir radio buttons individualmente na página, a forma mais
fácil de inserir grupos de radio buttons é utilizar os radio groups do Dream-
weaver:
Para o fazermos, basta clicar no valor que já existe. Embora tenhamos utili-
zado o mesmo valor para o elemento label (e, por consequência, para o atri-
buto id) e para o atributo value, isso não é obrigatório. Podíamos ter um id
igual a feminino e um value igual a F.
Só falta decidir a forma como os radio buttons vão aparecer no formulário:
Se vão aparecer um em cada linha, separados por elementos <br /> (LINE
BREAKS, que é a opção que vamos utilizar) ou se pretendemos que apareçam
numa tabela, como era habitual há uns anos atrás (opção TABLE). Curiosa-
mente, não existe opção para eles aparecerem numa linha só.
9. FORMULÁRIOS 231
Porém, os labels não utilizam o atributo for, optando por englobar o radio
button. Uma das vantagens da utilização do elemento <label> nos radio
buttons é que não é necessário clicar no radio button para o seleccionar, basta
clicar no texto.
De forma aos radio buttons ficarem numa única linha vamos remover os ele-
mentos <br /> na vista CODE. Só falta agora colocar no início da linha a
identificação do grupo de radio buttons, Género:.
Um dos atributos que não conseguimos atribuir a um radio button recorrendo
ao PROPERTY INSPECTOR é o tabindex. Para o fazermos, seleccione um radio
button e depois tecle CTRL+T (COMMAND+T no Macintosh):
9.4 Checkboxes
As checkboxes podem ser utilizadas num formulário de forma isolada ou agru-
pada.
Quando as checkboxes são utilizadas de forma isolada servem normalmente
para o utilizador confirmar que está de acordo com algo, por exemplo com as
condições de utilização de um determinado serviço. No nosso formulário
podíamos acrescentar uma checkbox com este propósito.
Clica-se no ícone CHECKBOX da barra INSERT (ou selecciona-se a opção
INSERT > FORM > CHECKBOX):
9. FORMULÁRIOS 233
Em HTML:
<p>
<input type="checkbox" name="aceita_termos"
id="aceita_termos" />
<label for="aceita_termos">Aceito os termos e
condições de utilização do site</label>
</p>
No campo CHECKED VALUE inserimos o valor a ser passado. Repare que tam-
bém podemos definir o estado inicial da checkbox (área INITIAL STATE) fazendo
com que ela apareça seleccionada quando o visitante abre a página com o
formulário.
Para complementar a checkbox podemos acrescentar um link para uma
página (ou janela) onde existe uma descrição dos termos e condições de utili-
zação do sítio Web. Para colocar esse link entre parêntesis a seguir ao label
da checkbox, seleccionamos o elemento <label> no TAG SELECTOR,
em seguida carregamos na tecla seta para a direita (Î) para sair fora do ele-
mento <label>, e depois escrevemos o texto e aplicamos o link para a
página pretendida:
Em HTML:
9. FORMULÁRIOS 235
<p>
<label>
<input type="checkbox" name="preferencias"
value="ligeiros" id="preferencias_0" />
Ligeiros</label>
<br />
<label>
<input type="checkbox" name="preferencias"
value="carrinhas" id="preferencias_1" />
Carrinhas</label>
<br />
<label>
<input type="checkbox" name="preferencias"
value="coupés" id="preferencias_2" />
Coupés</label>
<br />
...
9.5 Select
Quando se tem pouco espaço num formulário, ou quando as opções são
demasiadas, utiliza-se um menu de drop-down, que permite apenas a selec-
ção de uma única opção:
236 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
<option value="Setúbal">Setúbal</option>
<option value="Viana do Castelo">Viana do
Castelo</option>
<option value="Vila Real">Vila Real</option>
<option value="Viseu">Viseu</option>
</select>
</p>
Mas é normal aparecer uma mensagem do tipo «-- Seleccione um distrito --»
como primeira opção de um menu de drop-down, porque senão se o visitante
não seleccionar nenhum distrito, será enviado o valor da primeira opção para a
página de processamento de dados.
O método de introdução desta opção é igual ao utilizado para as opções ‘nor-
mais’. Repare que, embora clicando no botão + crie uma opção no fim da lista,
pode utilizar as setas para posicionar essa opção no início da lista:
Atribuímos o valor 0, dado que este valor é muito utilizado quando queremos
assinalar que o visitante não seleccionou nenhum valor de um menu de drop-
down.
9. FORMULÁRIOS 239
Existe uma opção no PROPERTY INSPECTOR que ainda não abordamos, que é o
TYPE. Por questões estéticas ou por preferência, pode-se converter o menu de
drop-down numa lista:
para cada opção que se pretenda criar (utilizando o botão +) tem-se de atribuir
o texto que aparece ao visitante (campo TEXT), e no campo WHEN SELECTED,
GO TO URL, a página de destino. Na parte de baixo da caixa de diálogo pode-
mos definir onde é que aparecem as páginas invocadas e se pretendemos que
apareça um botão GO a seguir ao menu. Neste caso, além de seleccionar uma
opção do menu, o visitante tem de clicar no botão GO para aceder à página
que corresponde à opção seleccionada.
Na página a aparência do jump menu é idêntica a um menu de drop-down,
mas no código produzido pode-se ver um novo atributo, onchange, que invoca
uma função JavaScript sempre que o visitante selecciona uma opção:
<select name="menu_principal" id="menu_principal"
onchange="MM_jumpMenu('parent',this,0)">
<option value="index.html">Índice</option>
9. FORMULÁRIOS 241
<option value="registo.html">Registo</option>
<option value="info/quemsomos.html">Quem
Somos</option>
</select>
9.6 Botões
Neste momento qualquer um dos formulários que criamos não tem forma de
ser submetido pelo visitante para os dados serem processados por uma
página server-side.
Temos então de inserir um botão de submissão na página, recorrendo ao
ícone BUTTON da barra INSERT (ou à opção INSERT > FORM > BUTTON):
Como é óbvio, temos de alterar o texto que aparece no botão, e vamos utilizar
para isso o PROPERTY INSPECTOR:
242 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Em HTML:
<input type="image" name="btEnviar" id="btEnviar"
src="../_imagens/enviar.png" />
Se tiver dúvidas, o ideal é ver o código para ver se está tudo bem.
O problema de utilização de fieldsets com os nossos formulários é que já inse-
rimos todos os campos pretendidos. O ideal seria ter planeado o formulário e
inserir primeiro os fieldsets e depois os campos dentro dos fieldsets respecti-
vos.
9. FORMULÁRIOS 245
Escreve-se agora fieldset, e como vamos utilizar os ids para criar os estilos
CSS deve também atribuir um valor id. O que deverá então escrever é:
<fieldset id="dados_pessoais">
é difícil identificar o fieldset dado que ficou a faltar a legenda. Para a inserir
temos de mudar para a vista CODE. Localize o fieldset, insira uma linha em
branco,
e, em seguida, escreva:
<legend>Dados Pessoais</legend>
246 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Vamos repetir este procedimento para as outras duas áreas de forma a ter o
formulário com o seguinte aspecto:
O resultado na página é:
Não se preocupe com o ícone que identifica o hidden field dado que não apa-
recerá no browser, sendo apenas uma forma do Dreamweaver permitir a sua
localização na página. Se não gostar que estes elementos invisíveis apareçam
na página, desactive a opção INVISIBLE ELEMENTS do menu VISUAL AIDS exis-
tente na barra de documento:
Tal como acontece com as imagens, também podemos arrastar o ficheiro .swf
do painel ASSETS ou do painel FILES:
Repare que o painel ASSETS tem mesmo uma categoria que permite listar
todos os ficheiros .swf existentes no nosso sítio Web.
Tenha em atenção que o Flash utiliza basicamente dois tipos de ficheiros:
• .fla – para desenvolver as animações ou filmes Flash. Não podem
ser utilizados em páginas Web.
• .swf – produzidos a partir dos ficheiros .fla, destinam-se a ser utiliza-
dos nas páginas Web.
Independentemente da forma que escolha para inserir um ficheiro .swf, apa-
recerá sempre a seguinte caixa de diálogo:
10. CONTEÚDO MULTIMEDIA 251
Os ficheiros são copiados para a pasta SCRIPTS que é criada, se não existir:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-
444553540000" width="720" height="540" id="FlashID"
title="Honda Civic Type R">
<param name="movie"
value="_imagens/hondacivictyper.swf" />
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="8.0.35.0" />
<!-- This param tag prompts users with Flash Player
6.0 r65 and higher to download the latest version
of Flash Player. Delete it if you don’t want users
to see the prompt. -->
<param name="expressinstall"
value="Scripts/expressInstall.swf" />
<!-- Next object tag is for non-IE browsers. So hide
it from IE using IECC. -->
<!--[if !IE]>-->
<object type="application/x-shockwave-flash"
data="_imagens/hondacivictyper.swf" width="720"
height="540">
<!--<![endif]-->
<param name="quality" value="high" />
<param name="wmode" value="opaque" />
<param name="swfversion" value="8.0.35.0" />
<param name="expressinstall"
value="Scripts/expressInstall.swf" />
<!-- The browser displays the following
alternative content for users with Flash Player 6.0
and older. -->
<div>
<h4>Content on this page requires a newer
version of Adobe Flash Player.</h4>
<p><a
href="http://www.adobe.com/go/getflashplayer"><img
src="http://www.adobe.com/images/shared/download_bu
ttons/get_flash_player.gif" alt="Get Adobe Flash
player" width="112" height="33" /></a></p>
</div>
<!--[if !IE]>-->
</object>
<!--<![endif]-->
</object>
</p>
Pode mudar este conteúdo alternativo sem recorrer à vista CODE. Na vista
DESIGN clique no ícone que se encontra por cima do quadrado identificativo da
animação Flash na barra de cor cyan:
Dica
Caso não veja esta barra isso significa que tem desactivada a visualização dos
elementos invisíveis. Deverá utilizar a caixa de diálogo PREFERENCES ou o
menu VISUAL AIDS da barra de documento para activar a visualização desses
elementos.
10. CONTEÚDO MULTIMEDIA 259
Claro que muitas vezes isto não é automático e temos de utilizar a mira ou o
ícone Browse to File para identificar o ficheiro .fla original.
Basta então clicar no botão EDIT para lançar o Flash (que tem de estar insta-
lado no computador, como é óbvio) e abrir o ficheiro .fla. Pode ter de identi-
ficar o ficheiro .fla que deu origem ao ficheiro .swf inserido na página Web
no Dreamweaver:
Para inserir um vídeo Flash numa página Web utiliza-se a opção INSERT >
MEDIA > FLV ou a opção FLV do ícone MEDIA, da categoria COMMON, na barra
INSERT:
262 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Em primeiro lugar é necessário definir a forma como o vídeo vai ser reprodu-
zido na página. O campo VIDEO TYPE possui duas opções:
Isto permite verificar se a largura não é inferior à das skins, que colocam os
controlos do filme (PLAY, STOP, REWIND, etc.) por cima deste:
10.4.1 Áudio
Existem diferentes tipos de formatos de áudio, nomeadamente, .wav, .midi,
e .mp3, entre outros. Cada formato possui vantagens e desvantagens,
nomeadamente o tamanho dos ficheiros e a qualidade da reprodução.
Um dos problemas que enfrentamos é a forma diferente e inconsistente como
os ficheiros de áudio são tratados pelos diferentes browsers existentes no
mercado. Uma forma de resolver estes problemas é adicionar o áudio a um
ficheiro .swf do Flash e utilizar esse ficheiro na página Web.
10. CONTEÚDO MULTIMEDIA 265
Em HTML:
<embed src="_audio/musica_fundo.mp3" width="32"
height="32"></embed>
Repare também no campo PLG URL que permite inserir um endereço Web
para localizar o plug-in necessário para reproduzir o áudio. Desta forma, caso
266 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
o visitante do nosso sítio Web não possua esse plug-in instalado, poderá sem-
pre instalá-lo.
Dependendo do tipo de áudio que se inseriu, o Dreamweaver permite a sua
reprodução em vista DESIGN, através do botão PLAY (que se transforma em
STOP quando o áudio está a ser reproduzido).
10.4.2 Vídeo
Com o vídeo temos o mesmo problema do áudio. Sem termos a certeza que a
maior parte dos visitantes do nosso sítio Web possui instalado um determi-
nado plug-in (por exemplo, o plug-in do Quicktime), não podemos arriscar a
utilizar um formato de vídeo.
Como vimos anteriormente, a utilização de Flash Video é, hoje em dia, a
melhor solução para resolver este problema. Ainda por cima com a facilidade
com que se converte filmes em outros formatos para Flash Video. O problema
da inserção directa de vídeo em páginas Web sem recorrer ao Flash só será
resolvido quando todos os browsers suportarem o HTML 5 e os codecs a utili-
zar estiverem normalizados.
São três os tipos de vídeo normalmente utilizados em páginas Web: AVI,
MPEG e MOV. Para os utilizarmos no nosso site podemos criar um link para
possibilitar ao visitante a transferência do ficheiro vídeo respectivo; ou pode-
mos ‘embeber’ o vídeo directamente na página como fizemos com o áudio.
Utiliza-se também a opção MEDIA > PLUG-IN para inserir um vídeo na página, e
as opções disponíveis no PROPERTY INSPECTOR também são idênticas.
Mais uma vez temos de seleccionar o ficheiro na caixa de diálogo SELECT FILE,
e depois introduzir as propriedades de acessibilidade.
10. CONTEÚDO MULTIMEDIA 267
Estes dois atributos já são nossos conhecidos. O ALTERNATE TEXT serve para
apresentar uma descrição da applet, de forma a que os deficientes visuais
(entre outros) tenham uma ideia da utilidade da mesma. É também útil porque
aparece quando o visitante não possui instalado o plug-in necessário ou
quando a visualização de applets Java estiver desactivada. Já o atributo TITLE
permite apresentar uma tooltip quando o visitante coloca o cursor por cima da
applet.
No Dreamweaver a aparência é:
268 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Enquanto no browser:
Verá que aparecerá a página original, apenas com o conteúdo textual e sem
nenhuma formatação.
Claro está que as imagens dão muita vida ao design, mas no exemplo Orchid
Beauty, se retirarmos as imagens, obtemos o seguinte resultado que ainda é
bastante diferente do original:
Claro está, que não devemos utilizar o Dreamweaver para esta tarefa, sendo
normal recorrer ao Photoshop e ao Fireworks. Esta é uma tarefa do âmbito
das competências dos designers.
Quando se tiver toda esta informação de forma definitiva é que se deverá
começar a criar e a aplicar os estilos CSS.
O design de páginas Web é assunto para outro livro, e existem diversas opi-
niões abalizadas no que diz respeito à escolha de cores. Por exemplo, alguns
entendidos na ‘arte’ dizem que se deve utilizar uma paleta com as cores
extraídas do logótipo, ou com cores complementares. Já outras pessoas afir-
mam a pés juntos que o que está a dar é a utilização de cores contrastantes
com as do logótipo.
Em relação à utilização de tipos de letra, dado que existem poucos tipos de
letra que podem ser utilizados sem problemas nos sítios Web, muitos desig-
ners recorrem a imagens para criar cabeçalhos com tipos de letra exóticos.
O ícone NEW CSS RULE, existente no canto inferior direito deste painel,
274 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Aqui escolhe-se o selector, isto é, o(s) elemento(s) ao(s) qual(is) se vai aplicar
o estilo CSS. A lista disponibiliza as seguintes opções:
Esta lista contém os tags de todos os elementos HTML que podem ser utiliza-
dos numa página Web.
Repare que o Dreamweaver, na textarea existente logo abaixo do campo
SELECTOR NAME, apresenta uma descrição dos elementos aos quais o estilo
CSS vai ser aplicado.
Finalmente, é necessário informar o Dreamweaver relativamente ao local onde
pretendemos que o estilo CSS que vamos criar seja armazenado:
Caso pretenda ver uma lista alfabética de todas as propriedades CSS que
estão disponíveis, clique no ícone SHOW LIST VIEW:
O resultado é:
Podemos também inserir estilos CSS recorrendo ao código, mas como a maior
parte dos web designers não gosta de mexer
em código, então o ideal é mesmo recorrer à
caixa de diálogo CSS RULE DEFINITION. Para
alterarmos os estilos CSS clique no botão EDIT
RULE que se encontra no canto inferior direito
do painel CSS STYLES (ou, em alternativa,
efectuar um duplo clique em cima do nome do
estilo):
11. CSS 281
Pode confirmar que a regra que inserimos no painel CSS STYLES aparece
nesta caixa de diálogo:
Caso efectue alterações aos estilos CSS directamente em código, convém que
depois clique no botão REFRESH que aparece no painel CSS STYLES:
Repetimos o procedimento para os parágrafos (p), mas desta vez vamos utili-
zar a cor preta (#000000). Pode parecer esquisito que se defina a cor para
preto dado que, por omissão, é utilizado o preto quando não se especifica
nenhuma cor. Mas o problema, como iremos ver mais à frente, é que os ele-
mentos HTML herdam propriedades CSS dos elementos que são seus paren-
tes, e isso significa que se um elemento parente dos parágrafos (<body>, por
exemplo) tiver uma cor associada, então o parágrafo herdará essa cor.
11. CSS 283
Foi criada uma paleta de 216 cores que foi designada como ‘standard’. Não se
utilizaram 256 cores, porque normalmente os sistemas operativos reservam
entre 16 e 20 cores para utilização própria. O número 216 também foi selec-
cionado porque permite 6 tonalidades de vermelho, verde e azul, que mistura-
das (6x6x6) dão as 216 cores.
Actualmente todos os computadores suportam 16 milhões de cores, por isso
as cores web-safe já não fazem qualquer sentido. A única razão para ainda se
utilizar cores web-safe é se estivermos a desenvolver páginas para smartpho-
nes ou outros equipamentos que estejam limitados a 256 cores.
Quando se escolhe uma cor no color picker o Dreamweaver converte a cor
num número hexadecimal composto por 3 letras e/ou algarismos, cada uma
das quais corresponde a uma cor do modelo RBG (Red, Green, Blue). Mas
normalmente são utilizadas 6 letras e/ou algarismos para identificar uma cor. A
conversão do modelo de 3 para 6 letras e/ou algarismos, faz-se duplicando
cada uma das letras e/ou algarismos. Por exemplo, se tivermos a cor #C62 o
equivalente em 6 letras e/ou algarismos é #CC6622.
Na notação hexadecimal utilizam-se os ‘algarismos’ de 0 a F
(0123456789ABCDEF), correspondendo o F ao 15. Não é necessário fazer
contas (deixamos isso para os informáticos), porque a maior parte dos pro-
gramas de desenho apresenta estes valores quando seleccionamos uma cor.
Uma alternativa menos utilizada, se bem que tenha ganho visibilidade com as
normas CSS3 e HTML5, e que é mais lógica para a maior parte dos web
designers, é utilizar valores entre 0 e 255 para cada uma das cores do modelo
RGB. Nesse caso, utiliza-se uma sintaxe do tipo:
rgb(vermelho, verde, azul)
como, por exemplo:
rgb(255,0,0)
Como podemos utilizar 256 valores distintos (0 a 255) para cada uma das
cores base, isso significa que podemos utilizar 16777216 cores
(256x256x256).
Existe ainda a possibilidade de utilizar o nome da cor em inglês, como red ou
green, se bem que só existe uma meia dúzia de nomes que podiam ser utili-
286 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
zados, mais exactamente 16, que foram definidos pela norma HTML 4.01. A
norma CSS2.1 juntou mais uma cor, o orange.
Os browsers modernos reconhecem muitos mais nomes de cores sobretudo
por causa da lista de cores definida na especificação CSS3.
Este tipo de selector começa por ‘#’ e, por omissão, o respectivo estilo aplica-
-se apenas a um único objecto na página. Embora possa existir mais de um
objecto na página com o mesmo id, tal não é aconselhável.
Para substituir os atributos H SPACE e ALIGN de HTML vamos utilizar as pro-
priedades margin e float, respectivamente:
O resultado é:
288 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Mais uma vez não tivemos necessidade de aplicar o estilo CSS que criamos.
A propriedade float informa o browser que o objecto ao qual se aplica vai
flutuar para a esquerda ou para a direita. Todo o conteúdo da página que vir a
seguir à imagem vai-se colocar à esquerda ou direita da imagem, dependendo
do valor da propriedade.
Lista de estilos que criamos até agora:
Dica
Para remover um elemento HTML que esteja a envolver texto ou outro objecto,
selecciona-se o elemento no TAG SELECTOR,
Claro que, no nosso caso, é bem mais fácil de remover o elemento <strong>.
Basta seleccioná-lo e clicar no ícone no PROPERTY INSPECTOR, em modo
HTML.
No campo SELECTOR NAME temos de ser nós a atribuir um nome à classe que
tem de começar por um ponto:
Falta agora definir a que objecto da página é que queremos atribuir a classe.
Seleccionamos a primeira ocorrência do nome da empresa, mas desta vez
não utilizamos o TAG SELECTOR, recorrendo ao tradicional clicar-e-arrastar:
11. CSS 291
Note que, embora já tenhamos criado 5 estilos CSS apenas aparece um deles
na lista, dado que esta lista apenas lista as classes CSS. Com o tempo vai
verificar que o nome da classe aparece formatado com algumas das proprie-
dades que lhe estão associadas. No caso da nossa classe aparece a negrito
(bold).
O resultado é (aplicamos a classe a duas ocorrências da palavra AutoVende):
Mas existe uma forma mais fácil de fazer esta operação, basta seleccionar, no
painel CSS STYLES, os estilos que se pretendem mover para um ficheiro CSS
externo,
294 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
No painel CSS STYLES utilize a tecla SHIFT para seleccionar estilos seguidos e
a tecla CTRL para seleccionar estilos não seguidos.
Aparece a caixa de diálogo MOVE TO EXTERNAL STYLE SHEET,
que pode aparecer misturado com estilos CSS internos da página, mas nesse
caso tem de ser o primeiro comando dentro do elemento <style>.
Este tipo de referenciação de ficheiros CSS externos utilizando o comando
import não é suportado pelos browsers mais antigos. Pode ser utilizado para
criar folhas de estilos modulares, isto é, cria-se diversos ficheiros .css, cada
um com o seu fim específico e depois utiliza-se o @import para referenciar os
ficheiros que pretendermos a partir de um único ficheiro .css.
Cada um destes métodos de referenciar um ficheiro CSS é apresentado de
forma diferente no painel CSS STYLES. No caso da opção LINK o aspecto é,
Repare que, devido à inclusão de uma animação Flash, a página também refe-
rencia o ficheiro swobject_modified.js.
A partir do momento em que um ficheiro .css está referenciado numa página,
quando criamos um novo estilo CSS temos a possibilidade de informar o
Dreamweaver que pretendemos que o estilo seja criado nesse ficheiro:
11. CSS 297
O penúltimo ícone diz respeito ao elemento <link> e o último ícone diz res-
peito ao elemento <style>. Ao clicarmos no ícone associado ao elemento
<link>, aparecem as propriedades que podemos alterar no PROPERTY
INSPECTOR:
11.7 Cascading
Agora que temos os estilos h1, h2 e p no ficheiro estilos.css, todas as
páginas do nosso sítio Web podem usufruir desses estilos. Mas se repararmos
nestes três estilos, notamos que todos têm a seguinte propriedade:
font-family: Arial, Helvetica, sans-serif;
Isto significa que, salvo raras excepções, o texto utilizado nas páginas do sítio
Web é deste tipo. Mas então podemos remover esta propriedade dos três
estilos e aplicá-la num estilo relativo a um elemento que é o pai de todos os
elementos numa página, o <body>:
298 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
h1 {
color: #DC000B;
}
body {
font-family: Arial, Helvetica, sans-serif;
}
h2 {
font-weight: bold;
color: #BC0010;
}
p {
color: #000;
}
Quando criamos um novo estilo através do ícone NEW CSS RULE do painel
CSS STYLES, ele é inserido a seguir ao estilo que esteja seleccionado. Como
tínhamos o primeiro estilo seleccionado (o h1), o estilo body ficou logo a
seguir:
Como existe uma precedência na aplicação dos estilos, o ideal é o body ser o
primeiro estilo. Para isso, arrastamos o estilo body para entre a identificação
do ficheiro estilos.css e o estilo h1:
Este botão dá acesso a uma caixa de diálogo PAGE PROPERTIES que permite
definir um conjunto de propriedades CSS para diversos elementos na página:
Repare que neste caso até foi criado um novo elemento style. Para o código
não ficar todo ‘baralhado’ e para evitar problemas, devemos passar este estilo
para o primeiro elemento <style> (basta arrastá-lo) e depois devemos elimi-
nar o elemento <style> que fica sem estilos.
No código, passamos a referência ao ficheiro estilos.css,
<link href="../estilos.css" rel="stylesheet"
type="text/css" />
No código HTML:
<p style="font-style: italic">"Estou muito
satisfeito com o automóvel que comprei na
AutoVende. Nunca me deu qualquer tipo de problema,
e tenho efectuado as revisões nas oficinas da
empresa."</p>
11. CSS 303
Nos estilos inline é utilizado o atributo style para definir e aplicar estilos CSS.
11.7.3 Precedência
Se visualizar agora o menu associado ao campo TARGETED RULE, com o
comentário seleccionado, poderá verificar que existem três estilos na área
CASCADE. Nesta área, o Dreamweaver lista todos os estilos CSS que são apli-
cados ao elemento corrente/seleccionado, sendo a ordem a da definição:
Por isso, quando se definem propriedades para o elemento <body>, elas são
herdadas por todos os elementos da página, excepto os que se encontram na
secção <head>.
Além disso, o comentário do cliente também herda a propriedade aplicada a
todos os parágrafos da página, dado que o comentário se encontra dentro de
um parágrafo.
Mas o que acontece se alterarmos a cor e/ou o tipo de letra ao nível do estilo
inline:
Como o estilo inline está mais próximo do elemento é o que tem precedência
sobre os outros.
Como regra geral a ordem de preferência na aplicação de estilos (cascading)
é:
• Estilos inline
• Estilos internos ou embedded
• Estilos externos
Partindo deste pressuposto se pretendermos que todos os parágrafos de uma
determinada página tenham uma cor diferente, basta definir um estilo interno
nessa página:
<head>
<style type="text/css">
p {
color: #333;
}
</style>
</head>
Esta cor vai-se sobrepor à cor que é definida no ficheiro externo esti-
los.css.
A noção de precedência e cascading permite que tenhamos estilos globais em
ficheiros CSS externos e depois possamos ‘alterar’ alguns desses estilos glo-
bais localmente em páginas específicas.
Como nota final, o facto de não ser aconselhável a utilização de estilos inline
dado que provocam muitas dores de cabeça quando se pretende alterar o
valor de uma propriedade em muitos desses estilos. São contudo muito utili-
11. CSS 305
Por acaso, no nosso exemplo apenas temos um único elemento com o atributo
style e é esse elemento que pretendemos alterar.
Podemos ser mais específicos jogando com as opções SEARCH e WITH
ATTRIBUTE.
Mas talvez seja mais lógico converter o estilo inline para um estilo interno.
Seleccione o parágrafo que contém a primeira opinião e depois, no menu de
contexto (botão direito do rato no Windows e CONTROL+CLIQUE no Macintosh),
escolha a opção CSS STYLES > CONVERT INLINE CSS TO RULE:
Vamos optar por criar um novo selector que possui a seguinte identificação:
À primeira vista este selector pode parecer esquisito, dado que é composto
por dois elementos HTML separados por um espaço. Mas o que isto significa é
que existe uma relação hierárquica entre os dois elementos. Este selector sig-
nifica: «aplica o estilo a todos os parágrafos que se encontrem dentro de um
elemento <blockquote>». O estilo não será aplicado a outros parágrafos da
página. Relembre-se que as opiniões estão contidas dentro de um elemento
<blockquote>:
<h2><a name="opinioesdosclientes"
id="opinioesdosclientes"></a>Opiniões dos
clientes</h2>
<p>Algumas das opiniões dos nossos clientes:</p>
<blockquote>
<p>"Estou muito satisfeito com o automóvel que
comprei na AutoVende. Nunca me deu qualquer tipo de
problema, e tenho efectuado as revisões nas
oficinas da empresa."</p>
<p>Pedro Remoaldo</p>
<p>"Embora inicialmente tenha ficado satisfeita
com o automóvel que comprei na AutoVende,
posteriormente tive alguns problemas com ele, mas
que foram prontamente resolvidos, dentro da
garantia."</p>
<p>Elsa Bessa</p>
</blockquote>
308 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
No painel CSS Styles podemos verificar que foi acrescentado um novo estilo,
blockquote p, ao elemento <style> da página:
O resultado é:
Pode alterar directamente o nome do estilo sem passar por este menu, cli-
cando no estilo, esperando 1 segundo, e depois voltando a clicar. Ou ainda em
alternativa, após clicar no estilo, teclar F2.
Vamos mudar o nome do estilo para:
Muitos peritos em CSS acham que se deve sempre qualificar o elemento que
está associado a um selector do tipo id, o que implicaria um nome de estilo:
blockquote#opinioes p
Neste caso, existe um estilo CSS, o #opinioes p, que define a mesma pro-
priedade, font-family, e como é um estilo interno tem precedência sobre o
estilo externo.
Se passar o cursor por cima desse ícone, o Dreamweaver informa que se cli-
car nesse ícone aparecerá o CODE NAVIGATOR:
No lado esquerdo acede em código ao estilo CSS, que pode estar num ficheiro
CSS. No lado direito, a regra em causa é seleccionada no painel CSS STYLES.
Como o próprio tooltip indica, também é activada a LIVE VIEW quando se clica
no botão INSPECT.
Aparece normalmente uma mensagem abaixo da barra NAVIGATION,
com dois links associados. Clicando no link MORE INFO, ficamos a saber a
razão da mensagem:
Isto é, no lado esquerdo aparece uma vista CODE em que está seleccionado o
código referente ao elemento corrente. No meio aparece a vista Design em
que se pode ‘seleccionar’ elementos passando o cursor por cima. E no lado
direito o painel CSS STYLES está aberto em modo CURRENT.
A função do modo INSPECT é possibilitar ver rapidamente os estilos que estão
associados a um determinado elemento da página. Basta passar o cursor por
cima desse elemento na vista DESIGN, para os estilos respectivos aparecerem
no painel CSS STYLES, e para o código aparecer seleccionado na vista CODE.
Na vista DESIGN o Dreamweaver utiliza cores específicas para assinalar as
propriedades que estão associados ao chamado CSS box model, e que
incluem margin, padding e border.
Por exemplo, se passarmos o cursor por cima do logótipo,
podemos ver que o elemento é colocado num rectângulo azul turquesa (cyan),
enquanto a margem é identificada pela cor verde amarelado.
Se fizermos o mesmo processo para um cabeçalho de nível 2 (isto é, um ele-
mento <h2>),
11. CSS 317
vemos a cor azul turquesa para o conteúdo, a cor verde amarelado para as
margens intrínsecas do cabeçalho e a cor lilás para o padding-bottom de 5
píxeis entre o conteúdo e a moldura (border).
Este modo INSPECT permite assim descobrir muitas vezes porque é que deter-
minados elementos estão afastados um do outro.
Quando se passa o rato por cima de um elemento, ele fica identificado com as
cores e podemos efectuar alterações no painel CSS STYLES que elas serão
repercutidas imediatamente nas duas vistas. Neste caso continuamos em mo-
do INSPECT.
É também possível clicar num determinado elemento para a selecção ficar
bloqueada e podermos fazer alterações aos valores das propriedadas CSS
sem correr o risco de mudarmos de elemento inadvertidamente, mas neste
caso saímos do modo INSPECT, embora continuemos em modo LIVE VIEW.
Outra funcionalidade deste modo é a possibilidade de identificar o elemento
parente de um elemento. Quando o elemento está seleccionado, isto é,
quando o cursor está por cima dele, se carregarmos na tecla seta esquerda
(Í), o elemento pai ficará em realce.
Por exemplo, se estivermos com o cursor por cima do item HABITÁCULO e car-
regarmos na tecla seta esquerda (Í), ficará em realce a lista (isto é, o ele-
mento <UL>) a que o item pertence:
O modo INSPECT é especialmente útil para páginas cujo conteúdo é gerado por
JavaScript ou por uma linguagem server-side, como o PHP ou o ColdFusion,
dado que permite visualizar e editar rapidamente os estilos CSS de conteúdo
que não está visível nas vistas CODE e DESIGN.
Para sair do modo INSPECT basta clicar outra vez no respectivo botão. Mas
tenha em atenção que não sairá do modo LIVE VIEW.
margin-top: 10px;
margin-right: 10px;
margin-bottom: 10px;
margin-left: 10px;
Esta barra pode ser visualizada seleccionando a opção VIEW > TOOLBARS >
STYLE RENDERING,
A aparência da barra é:
Os primeiros seis botões têm a ver com tipos de média: screen, print, han-
dheld, projection, TTY e TV. O botão seguinte ( ) permite mostrar a
página com as CSS activadas ou com as CSS desactivadas. A seguir, aparece
o botão que permite aceder à definição de DESIGN-TIME STYLE SHEETS, que
abordaremos na secção seguinte. Os três botões seguintes permitem aumen-
tar ou diminuir o tamanho da letra de todo o texto da página, mas sem alterar
nenhuma propriedade CSS. Finalmente, os últimos cinco botões são utilizados
principalmente com links e serão abordados no capítulo seguinte.
Neste momento, se clicar em qualquer um dos seis primeiros botões da barra
STYLE RENDERING a página que aparece no ecrã não mudará. Isso acontece
porque não só não existe nenhum estilo CSS definido especificamente para
um tipo de média, como o elemento <link> que referencia o ficheiro de esti-
los CSS utilizado por todas as páginas do nosso sítio Web não tem a proprie-
dade media definida:
<link href="../estilos.css" rel="stylesheet"
type="text/css" />
Partindo de uma página que tem o seguinte aspecto com os estilos CSS apli-
cados para o tipo de média screen,
11. CSS 325
Neste caso, não criamos um conjunto de estilos CSS específico para o tipo de
média print. O que fizemos foi definir um tipo de média (screen) para os
estilos existentes. O efeito secundário desta acção foi que todos os tipos de
média, excepto o screen, deixaram de ter estilos CSS associados.
326 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Repare que este menu possui mais dois tipos de média, aural e braille
(utilizados para sintetizadores de fala/som e para equipamentos braille, res-
pectivamente), além do all que abrange todos os tipos de média.
Como vamos criar estilos para o tipo de média print, clicamos no respectivo
ícone na barra STYLE RENDERING.
11. CSS 327
Uma das nossas primeiras acções vai ser remover o menu de links, que não
faz qualquer sentido numa página impressa. Este menu de links que vamos
estilizar no próximo capítulo, está dentro de um elemento <div> que tem o id
conteudo.
Definimos um selector do tipo id, chamado #conteudo, e no campo RULE
DEFINITION não podemos esquecer-nos de seleccionar o ficheiro print_
quemsomos.css:
Podemos agora definir mais estilos CSS de forma a criar uma página que
tenha bom aspecto quando for impressa. Algo que deve ter em mente é que
as unidades utilizadas em documentos impressos são os points e não os
pixels.
O ficheiro .css que criamos para o tipo de média print também pode ser
aproveitado para outros tipos de média. Nesse caso, temos de atribuir à pro-
priedade media do elemento <link> a lista de tipos de média separados por
vírgulas, como, por exemplo:
media="print, handheld"
Pode-se utilizar, em alternativa, a opção FORMAT > CSS STYLES > DESIGN-TIME,
ou a opção DESIGN-TIME do menu de contexto do painel CSS STYLES.
Em qualquer dos casos aparecerá a caixa de diálogo DESIGN-TIME STYLE
SHEETS:
Para remover qualquer ficheiro das duas listas, basta seleccioná-lo e clicar no
botão -.
que permite efectuar uma análise à página corrente para detectar possíveis
problemas com determinados browsers. As mensagens aparecem no separa-
dor BROWSER COMPATIBILITY do painel RESULTS:
330 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
CENTRO
As famílias tipográficas sem serifas são conhecidas como sans-serif. Um
exemplo de um tipo de letra sans-serif é o ARIAL:
CENTRO
Tradicionalmente, os textos serifados são usados em blocos de texto pois as
serifas tendem a guiar o olhar através do texto. O ser humano lê palavras ao
invés de letras individuais, e as letras serifadas parecem juntar-se devido aos
seus prolongamentos, unindo as palavras.
Por outro lado, os tipos sem-serifa costumam ser usados em títulos e chama-
das, pois valorizam cada palavra individualmente e tendem a ter maior peso e
presença para os olhos, já que parecem mais limpos.
Porém, a utilização de tipos de letra serifados em texto de páginas Web não é
aconselhável dado que a resolução actual dos monitores de computador não
permite que as letras fiquem com bom aspecto visual, mesmo utilizando técni-
cas como o anti-aliasing.
Neste caso, o browser do visitante do nosso site em primeiro lugar vai ver se o
sistema operativo tem instalado o tipo de letra Arial, que está disponível por
omissão no Windows. Caso tenha instalado, utiliza-a no texto, senão vai ver o
segundo tipo de letra, Helvetica, que é comum no Macintosh. Se mesmo assim
334 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
não tiver esse tipo de letra instalado, utilizará o tipo de letra sans-serif por
omissão do browser ou do sistema operativo.
Para saber o tipo de letra utilizado por omissão pelo Internet Explorer aceda à
caixa de diálogo INTERNET OPTIONS [OPÇÕES DA INTERNET] (pode fazê-lo tam-
bém através do PAINEL DE CONTROLO [CONTROL PANEL]), e clique no botão
FONTS [TIPOS DE LETRA] que se encontra na parte de baixo da categoria
GENERAL [GERAL]:
Tenha em atenção que a ordem dos tipos de letra é importante. Devemos co-
locar em primeiro lugar os tipos de letra que têm mais possibilidades de estar
disponíveis no computador da maior parte dos visitantes do nosso sítio Web.
Se pretender escrever um font stack directamente no código não se esqueça
que os tipos de letra cujo nome seja constituído por mais de uma palavra têm
de aparecer entre aspas ou entre plicas ('), como no exemplo seguinte:
font-family: 'Times New Roman', Times, serif;
Seria expectável que a única unidade disponível fosse o píxel (unidade px),
dado que os monitores são divididos nesses pequenos pontos (em inglês,
picture element). Porém, como pode verificar pela lista, existem diversas uni-
dades que se podem dividir em duas categorias:
• Absolutas – tamanho fixo
• Relativas – relacionadas com um elemento parente ou com a janela do
browser utilizando esse valor base para determinar o tamanho.
As unidades absolutas são:
• POINTS (pt) – os ‘pontos’ são a unidade típica utilizada nos documen-
tos impressos. Um point é 1/72 de uma polegada, o que implica mais
uma conversão para gerar um valor em píxeis. Não é recomendada a
sua utilização em páginas Web, a não ser em folhas de estilo de
impressão (print style sheets).
• PICAS (pc) – uma pica é equivalente a 12 pontos. Outra unidade utili-
zada em documentos impressos.
• INCHES (in) – as polegadas são, tal como os points, adequados a
documentos impressos.
• CENTIMETERS (cm) – mais uma vez, uma unidade, centímetros, que não
resulta bem no ecrã.
• MILLIMETERS (mm) – outra unidade, milímetros, que também não resulta
bem no ecrã.
Unidades relativas:
• EMS (em) – é praticamente equivalente ao tamanho de um M maiúsculo
em todos os tipos de letra. É a unidade aconselhada para o tamanho
do texto dado que é relativa ao tipo de letra.
• EX (ex) – é relativa à altura do carácter x minúsculo (conhecido por x-
height) de qualquer tipo de letra. Tem muitas das vantagens dos ems,
mas não é muito utilizada.
12. FORMATAR TEXTO COM CSS 337
Isto significa que 1em é igual a 16px na maior parte dos browsers. Mas se
mudarmos o tamanho por omissão a equivalência também muda. Então
podemos assumir que 1em é igual ao tamanho por omissão do tipo de letra do
browser.
O recomendado é definir o estilo associado ao elemento body utilizando como
unidade a percentagem (por exemplo, font-size: 100%, para utilizar o
tamanho por omissão do browser) e nos outros elementos, como parágrafos e
cabeçalhos, utilizar os em como unidade da propriedade font-size.
Desta forma ao aumentar ou diminuir o tamanho da página (com o zoom), todo
o tamanho do texto é relativo um ao outro. Isto significa que os cabeçalhos
diminuem de tamanho na mesma proporção que o texto.
338 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
12.2.1 Font-weight
A primeira é a font-weight que permite colocar em negrito (bold) partes do
texto ou todo um parágrafo. Vimos num capítulo anterior que é possível utilizar
o elemento <strong> do HTML para efectuar esta operação. Mas nem sem-
pre os dois são sinónimos, dado que cabe ao browser interpretar o elemento
<strong>, não sendo obrigatório que utilize o negrito.
A propriedade font-weight permite-nos vários níveis de negrito:
12.2.2 Font-style
A propriedade font-style permite atribuir itálico a texto:
12.2.3 Font-variant
Algumas vezes é necessário dar uma ênfase diferente a determinado texto,
quando o negrito não é apropriado e não se pretende utilizar itálico. Neste
caso pode-se utilizar small caps (abreviatura de small capitals) em que os
caracteres minúsculos são convertidos em maiúsculos mas têm o mesmo
tamanho do dos minúsculos. Muitas vezes é utilizado para que palavras
escritas em maiúsculas não sobressaiam no meio do texto. Tipicamente, a
altura de um carácter em small caps é um ex (ver unidades), a mesma altura
da maior parte dos caracteres num tipo de letra.
340 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
12.2.4 Text-transform
Outra propriedade que altera o aspecto do texto é a text-transform que
permite converter todos os caracteres para maiúsculas (uppercase), para
minúsculas (lowercase), ou apenas o primeiro caracter de cada palavra para
maiúsculas (capitalize):
12.2.5 Text-decoration
Uma série de alterações do aspecto do texto está agrupada na propriedade
text-decoration:
Os três primeiros valores têm a ver com linhas que aparecem por baixo do
texto (sublinhado – underline), por cima do texto (overline) e que cortam
12. FORMATAR TEXTO COM CSS 341
A norma CSS diz que o valor por omissão para a propriedade line-height
deve ser entre 1.0 e 1.2. Diferentes browsers possuem valores diferentes den-
tro deste intervalo de valores. Por isso, definir explicitamente a propriedade
line-height para 1.0 ou outro valor assegura consistência entre diferentes
browsers.
Esta propriedade é útil quando temos cabeçalhos que possuem cor de fundo e
se pretende definir uma determinada altura.
12. FORMATAR TEXTO COM CSS 343
Era ideal dar mais espaço entre o texto Informação e o topo e o fundo da
‘caixa’ em que está inserido. Podemos fazer isso com a propriedade padding
de que iremos falar mais à frente. Mas também é possível resolver o problema
recorrendo à propriedade line-height à qual vamos atribuir o valor 2 (sem
unidade), o que significa duas vezes o espaçamento entre linhas por omissão
(também atribuímos o valor 0 à propriedade margin-top):
344 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Podíamos ter utilizado píxeis como unidade, mas nesse caso a caixa à volta
do texto não redimensionaria quando o visitante reduzisse ou aumentasse o
tamanho do tipo de letra no browser.
O resultado é:
e aplicando-a ao parágrafo:
<p class="paragrafos ultimo_paragrafo">
346 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
} 20px
} 10px
Na categoria BOX, como as opções SAME FOR ALL para PADDING e MARGIN
estão activadas por omissão, basta escrever o valor 0 nos respectivos campos
TOP:
line-height: 1;
color: black;
background: white;
}
12.6.1 Padding
O padding serve para afastar o conteúdo da sua moldura (border). No exemplo
de menu que formatamos anteriormente,
350 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
em vez do line-height: 2.
No caso do elemento <div> também podíamos ter utilizado um padding-
left, não necessitando de utilizar a margin-left nos parágrafos:
#conteudo {
font-family: Arial;
width: 200px;
border: 1px solid #000;
padding-bottom: 5px;
padding-left: 10px;
}
O resultado é:
Se achar que está muito em baixo ou muito em cima pode especificar um valor
numérico e depois escolher uma unidade. Esse valor pode ser negativo, como
-0.2em para ‘empurrar’ o 2 mais para baixo, ou positivo, para ‘puxar’ o 2 mais
para cima.
Caso insira um valor negativo, o Dreamweaver apresenta uma mensagem de
aviso,
dado que as versões iniciais das CSS não suportavam estes valores. Clique
em YES.
Se pretender efectuar alinhamentos verticais de elementos então o melhor é
utilizar margin, padding e line-height e evitar o vertical-align.
12.8 Listas
As listas de itens são dos elementos que mais podem ser alterados através
das CSS. Para exemplificarmos, vamos converter a lista de links existentes na
354 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O estilo a criar é do tipo ID, e, caso tenha o elemento <ul> seleccionado não
necessita de preencher nada na caixa de diálogo NEW CSS RULE, dado que o
Dreamweaver preenche automaticamente o campo SELECTOR NAME:
12. FORMATAR TEXTO COM CSS 355
Assegure-se que está a criar o estilo no próprio documento e não num ficheiro
CSS.
Na caixa de diálogo CSS RULE DEFINITION acedemos à categoria LIST e depois
seleccionamos a opção NONE da lista LIST-STYLE-TYPE:
Com esta propriedade e este valor vamos remover as marcas (bullets) que
aparecem antes de qualquer item:
A lista de itens ainda está afastada do lado esquerdo da página e isso deve-se
ao padding-left associado à lista. Voltando ao estilo #menu, utilizamos a
categoria BOX e a propriedade PADDING para remover todos os ‘espaços’ à
volta da lista:
12. FORMATAR TEXTO COM CSS 357
Vamos agora atribuir uma cor de fundo aos itens da lista (alterando o estilo
#menu li),
colocar uma moldura de cor branca, apenas no lado direito de cada item,
O resultado está quase como o pretendido, dado que depois vamos alterar os
links:
Existe só muito espaço entre os itens. Isso deve-se ao facto de, no código, os
elementos <li> estarem em linhas separadas:
<ul id="menu">
<li><a href="destaques.html">Destaques</a></li>
<li><a href="info/quemsomos.html">Quem Somos</a></li>
<li><a href="info/faq.html">FAQ</a></li>
<li><a href="info/contactar.html">Contactar</a></li>
<li><a href="registo.html">Registo</a></li>
</ul>
Veremos no próximo capítulo como é que podemos criar o mesmo menu hori-
zontal recorrendo à propriedade float com o valor left, em vez de utilizar a
propriedade display.
O menu que criamos, quando o browser é redimensionado e a largura da
janela não comporta todo o menu, é desdobrado em duas linhas, sobretudo
porque existe um espaço no item «Quem Somos»:
12. FORMATAR TEXTO COM CSS 359
Desta forma o browser não quebra nenhum texto evitando-se assim a mu-
dança de linha.
Na caixa de diálogo CSS RULE DEFINITION existem outras opções, na categoria
LIST, que podem ser utilizadas com listas:
Uma lista de definições é composta por três elementos: <dl> para a lista,
como um todo; <dt> para a palavra a definir; e <dd> para a definição. No
nosso caso o elemento <dt> é utilizado para a questão e <dd> para a res-
posta.
Embora a página contenha apenas uma única lista de definições, é sempre
conveniente atribuir-lhe um nome:
12. FORMATAR TEXTO COM CSS 361
O primeiro estilo que vamos criar, #faq dt, é para formatar o aspecto das
questões:
Ainda permanecendo no estilo #faq dt, vamos afastar as perguntas das res-
postas utilizando a propriedade margin:
362 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Como existe uma lista não numerada na terceira pergunta e dois parágrafos, o
espaço entre a pergunta e a resposta é maior do que o habitual. Podemos
atribuir um estilo inline ao primeiro parágrafo da terceira resposta com a pro-
priedade margin-top: 0px.
A lista não numerada também necessita de formatação. Atribuímos-lhe um id
igual a criterios, e depois criamos um estilo #criterios li que define
um espaçamento maior entre os itens da lista:
Isto é, vamos definir um estilo para todos os links que se encontrem dentro de
elementos <li> existentes dentro de um elemento com o id igual a menu.
Podíamos ter utilizado apenas #menu a, dado que todos os links se encon-
tram dentro de elementos <li> e não existem outros elementos dentro da lista
menu.
Como vamos definir o estado normal de um link o nome correcto a atribuir
seria #menu li a:link (ou #menu li a:link na versão abreviada). Mas
nesse caso também teríamos de definir um estilo para a:visited, a:hover
e a:active com outros valores (ou não) para as mesmas propriedades.
366 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Neste caso apenas pretendemos afectar o estado hover dos links que pos-
suem aplicada a classe opcoes.
Vamos retirar o sublinhado aos links (propriedade text-decoration:
none), mudar-lhes a cor para branco (propriedade color: #FFFFFF), definir
um tamanho de letra de 1em (propriedade font-size), e colocar o texto a
negrito (propriedade font-weight: bold):
O problema é que agora quando passamos por cima de um dos links, a cor
vermelha não preenche todo o rectângulo onde o link se encontra:
Para obter esta barra de ferramentas aceda à opção VIEW > TOOLBARS > STYLE
RENDERING ou clique com o botão do direito do rato (CONTROL+CLIQUE no
Macintosh) em cima da barra DOCUMENT e seleccione a opção STYLE
RENDERING:
Ao clicarmos num dos cinco últimos ícones vemos o que acontece quando o
respectivo estado está activo. Por exemplo, para o estado hover:
Cabeçalho
Menu Conteúdo
Rodapé
Aproveitamos para fazer a mesma operação para a célula que contém o texto,
embora neste caso não fosse necessário:
Não se esqueça de aplicar este estilo às três células (excepto a célula que
contém o menu).
Atribuindo o valor 0 ao atributo border da tabela (pode fazê-lo no PROPERTY
INSPECTOR) temos a nossa página pronta (visualizada em LIVE VIEW):
374 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Ainda podíamos inserir no cabeçalho uma nova tabela com 2 colunas e 1 linha
para colocar o logótipo e o título em cada célula. Teríamos primeiro de remo-
ver o atributo align da imagem e o estilo CSS que lhe está aplicado.
Tentou-se utilizar o máximo de elementos e atributos HTML para demonstrar
como é que se utilizavam tabelas para criar layouts no passado. Este conhe-
cimento de como se criam layouts com tabelas é importante porque ainda
existem na Web muitas páginas desenhadas desta forma, e muitas vezes
temos de as alterar.
Contudo, esta forma de criar layouts está completamente ultrapassada e foi
substituída pela utilização de CSS.
13.2 Frames
Uma frame é uma região na janela do browser que pode apresentar um docu-
mento HTML independentemente do que está a ser apresentado no resto da
janela do browser. As frames disponibilizam então uma forma de dividir a
janela do browser em múltiplas regiões, cada um das quais com um docu-
mento HTML diferente. Na utilização habitual das frames, uma frame apre-
senta um documento que contém os controlos de navegação, enquanto outra
frame apresenta o conteúdo de outros documentos.
Um frameset é um ficheiro HTML que define o layout e as propriedades de um
conjunto de frames, incluindo o número de frames, o tamanho e localização
das frames e o endereço (URL) da página que aparece inicialmente em cada
frame. O ficheiro frameset não possui conteúdo HTML que seja apresentado
no browser excepto a secção noframes que contém a informação a apre-
sentar em browsers que não suportam frames.
A maior parte dos web designers (e a própria Adobe) desaconselha a utiliza-
ção de frames, devido a várias razões:
• Dificuldade no alinhamento de elementos existentes em frames
diferentes;
• Problemas em fazer o bookmarking de uma determinada página, dado
que o endereço (URL) que aparece na barra ADDRESS [ENDEREÇO] é
sempre o mesmo.
• Problemas na impressão de todo o conteúdo visível na janela do brow-
ser.
• Problemas com o botão de REFRESH e o botão BACK [RETROCEDER]
dos browsers.
13. LAYOUT DE PÁGINAS WEB 375
Embora a maior parte destes problemas não ocorra nos browsers mais
recentes, a má fama associada às frames é muito difícil de combater e por
isso caíram em desuso.
A utilização mais comum das frames é para facilitar a navegação dentro de um
sítio Web. Normalmente, uma das frames possui um menu, e outra frame
recebe as páginas destino dos links que existem no menu.
A possibilidade de utilizar barras de deslocamento independentes em frames
distintas evita que, para se navegar para outra página, se tenha sempre que
voltar ao início da página. A frame que possui o menu está sempre acessível e
visível.
No nosso sítio Web a página index.html parece a candidata ideal para ser
convertida para frames obedecendo ao layout que definimos anteriormente.
Além de criar a página que corresponde ao frameset, temos também de criar 4
páginas diferentes para o cabeçalho, para o menu, para a área de conteúdo e
para o rodapé.
No Dreamweaver existem duas formas de criar um frameset:
• Pode seleccionar um dos framesets predefinidos;
• Ou pode desenhar o seu próprio frameset.
Para utilizar um dos framesets predefinidos aceda à opção FILE > NEW. Na
caixa de diálogo NEW DOCUMENT,
Mas, neste caso, primeiro terá de criar uma página HTML ‘em branco’.
O aspecto do frameset na janela de documento do Dreamweaver é:
13. LAYOUT DE PÁGINAS WEB 377
As linhas cinzentas que dividem as frames podem ser escondidas (ou mostra-
das) seleccionando a opção FRAME BORDERS do menu VISUAL AIDS:
Pode-se agora começar a introduzir conteúdo em cada uma das frames. Mas
antes de o fazer, convém guardar as 4 páginas, utilizando para isso a opção
FILE > SAVE ALL. Primeiro o Dreamweaver pede-lhe o nome a atribuir ao fra-
meset e depois o nome para cada frame. À medida que vai pedindo os nomes,
o Dreamweaver assinala na janela DOCUMENT a frame que vai guardar:
378 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Em alternativa pode clicar em cada uma das frames e utilizar o comando FILE
> SAVE FRAME ou FILE > SAVE FRAME AS.
Os nomes que atribuímos foram: index.html, cabecalho.html, menu.
html, conteudo_inicial.html. Guardamos estes ficheiros numa pasta
com o nome frames. Optamos por não criar o rodapé.
Vamos agora copiar o conteúdo da página index.html, que tínhamos criado
anteriormente no root folder, para as diversas frames. Cada frame funciona
como uma página independente. Para inserir conteúdo basta colocar o cursor
dentro da frame e escrever texto ou inserir imagens.
A aparência do nosso frameset neste momento é:
Tenha em atenção que seleccionar uma frame não é o mesmo que colocar o
cursor dentro da frame.
As propriedades disponíveis no PROPERTY INSPECTOR para uma frame são:
O nome das frames (campo FRAME NAME) é utilizado em vários locais nomea-
damente na propriedade target dos links.
Por omissão, as frames não possuem molduras (campo BORDERS), não podem
ser redimensionadas (campo NO RESIZE) e não têm barras de deslocamento
(campo SCROLL), mas no PROPERTY INSPECTOR estes valores podem ser alte-
rados.
Para seleccionar um frameset tem de utilizar o painel FRAMES, clicando numa
das molduras mais grossas:
O frameset principal está dividido em duas linhas (que são frames), como
atesta o atributo rows, cujo valor ‘80,*’ define que a linha superior tem uma
altura de 80 píxeis e a linha de baixo tem como altura o resto do espaço dis-
ponível (é isso que significa o *).
A linha de baixo está dividida em duas colunas (que são frames) por um outro
frameset. A primeira frame deste frameset tem uma largura de 80 píxeis.
No PROPERTY INSPECTOR, com o frameset principal seleccionado, também
obtém esta informação:
Agora, para cada link temos de definir a página destino e seleccionar em que
frame é que se pretende que essa página seja apresentada, que no nosso
caso é na frame com o nome mainFrame (se quiser pode mudar o nome da
frame para conteudo, para ser mais fácil de identificar):
13. LAYOUT DE PÁGINAS WEB 381
Escolhemos o link FAQ dado que a página faq.html não tem grande forma-
tação e não possui o logótipo. Tente agora o link QUEM SOMOS e verá que
382 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O menu VIEW > TRACKING IMAGE possui diversas opções que nos permitem
controlar a visualização e o posicionamento da tracing image:
384 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
A caixa de diálogo INSERT DIV TAG permite-nos definir onde é que vamos inse-
rir o elemento <div> (campo INSERT), o que nos vai ser útil mais para a frente:
386 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
escolha essa opção e depois, na caixa de diálogo que aparece, repare que o
valor seleccionado na lista INSERT é W RAP AROUND SELECTION,
o que significa que o elemento div vai ser colocado ‘à volta’ do conteúdo
seleccionado:
As quatro ajudas só são aplicadas aos CSS LAYOUT BLOCKS que é o nome
genérico atribuído no Dreamweaver aos elementos div ou a qualquer ele-
388 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Repare que o texto segue o fluxo normal do documento e por isso passa para
debaixo da imagem. Para conseguirmos que o resto da lista apareça na
sequência dos itens que se encontram ao lado da imagem, temos de atribuir
um valor à propriedade margin-bottom do estilo associado à imagem:
Dica
Durante este exercício convinha que estivesse activada a opção CSS LAYOUT
BACKGROUNDS do menu VISUAL AIDS (barra DOCUMENT), para que seja atri-
buída uma cor de fundo a cada elemento div que criarmos. Evitamos assim a
utilização de cores de fundo para conseguir distinguir entre os vários elemen-
tos div que vamos criar.
Em primeiro lugar temos de criar cinco elementos div. Um para cada área
(cabeçalho, menu, conteúdo e rodapé), mais um que envolve estes quatro.
Este elemento div ‘exterior’, que na gíria se chama wrapper, e envolve todo o
conteúdo da página, possibilita, entre outras coisas, centrar o conteúdo da
página na janela do browser.
Permite também definir uma largura para o conteúdo da página, e fornecer um
ponto de referência para esse conteúdo. Dentro do wrapper coloca-se todo o
conteúdo da página pela ordem pela qual se pretende que seja acedido, para
o caso do visitante não utilizar estilos CSS.
No nosso caso, a ordem dos elementos div será (utilizamos os nomes que
vamos atribuir a cada um deles:
• wrapper
• cabecalho
• menu
• conteudo
• rodape
Visualmente, o layout pretendido é:
Wrapper
Cabeçalho
Menu Conteúdo
Rodapé
392 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Atribuímos uma altura de 100px a este elemento div porque o nosso logótipo
tem uma altura de 72px, mas podíamos não ter atribuído nenhum valor, que o
conteúdo do elemento div definiria a altura a utilizar. A largura é idêntica à do
div wrapper.
O div que vai conter o menu, é definido para aparecer a seguir ao div do
cabeçalho (repare no campo INSERT):
13. LAYOUT DE PÁGINAS WEB 395
Neste div não vamos definir a altura, deixando que o conteúdo a defina. A
largura é idêntica à do div wrapper, embora, como se trata de um elemento
block-level, ajustava-se automaticamente à largura do seu elemento parente
que é o wrapper.
396 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
#rodape {
width: 930px;
border-top: solid 1px #000;
margin-top: 10px;
}
E em código:
<body>
<div id="wrapper">
<div id="cabecalho">Content for id "cabecalho" Goes
Here</div>
<div id="menu">Content for id "menu" Goes Here</div>
<div id="conteudo">Content for id "conteudo" Goes
Here</div>
<div id="rodape">Content for id "rodape" Goes
Here</div>
</div>
</body>
Repare que o conteúdo de cada div aparece centrado. Isso deve-se à utiliza-
ção de text-align: center no elemento body por causa de problemas
com o Internet Explorer. Temos então de acrescentar a seguinte propriedade
ao estilo aplicado ao elemento wrapper:
#wrapper {
margin-top: 0px;
margin-right: auto;
margin-bottom: 0px;
margin-left: auto;
width: 930px;
text-align: left;
}
• Opera Mac/Windows 8 e 9
• Safari 2, 3 e 4
Para se criar um destes layouts acede-se à caixa de diálogo NEW DOCUMENT,
através da opção FILE > NEW:
O ideal é colocar os estilos CSS num ficheiro separado para que possa ser
utilizado em outras páginas do sítio Web. Terá de atribuir um nome ao ficheiro,
como, por exemplo, estilos.css.
402 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Escolhendo então a starter page «2 COLUMN FIXED, LEFT SIDEBAR, HEADER AND
FOOTER», o que aparece na janela DOCUMENT do Dreamweaver é o seguinte:
Repare que à medida que vai criando novos elementos AP Div o Dreamwea-
ver vai-lhes atribuindo um valor de z-index mais alto.
Para o nosso layout, o primeiro AP Div que vamos criar é o cabecalho.
Desenhamos um elemento AP Div na página e depois atribuímos os seguintes
valores ao estilo CSS associado:
13. LAYOUT DE PÁGINAS WEB 407
Só falta agora criar o AP Div para o rodape. Mas agora é que temos um pro-
blema sério. Que valor vamos atribuir à propriedade top deste elemento? É
que não temos forma nenhuma de saber qual vai ser a altura dos elementos
menu e conteudo.
Esta é uma grande limitação de apenas utilizarmos posicionamento absoluto
para criarmos um layout de uma página. Claro que é possível criar um layout
desta forma, mas apenas se soubermos de antemão as dimensões (largura e
altura) dos elementos AP Div que vamos utilizar. Além disso é impossível criar
layouts flexíveis que se adaptam às dimensões da janela do browser do visi-
tante do nosso sítio Web e à resolução do respectivo ecrã.
A maior parte das vezes os elementos posicionados de forma absoluta utili-
zam-se em conjunto com os floats e o posicionamento relativo para criar
determinados ‘efeitos’ que são impossíveis de obter de outra forma.
Outra utilização é a criação de pseudo-pop-ups como os que são actualmente
utilizados para apresentar publicidade criada em Flash por cima do conteúdo
da página. O sítio Web do jornal Público é um dos utilizadores dessa técnica.
Não é alterada a aparência da página dado que não mexemos nas proprieda-
des top, right, bottom e left do cabecalho. A propriedade position
com o valor relative, possibilitou-nos apenas posicionar elementos de
forma absoluta dentro do elemento cabecalho.
Vamos agora posicionar de forma absoluta a lista não numerada:
O menu ainda não encosta à parte de cima da página. Isso acontece devido à
forma como foi construído. A solução é manipular a margem superior do ele-
mento ul:
412 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
O resultado final é:
Será que o posicionamento deste menu podia ser efectuado de outra forma?
Podia, mas não era a mesma coisa!
Por exemplo, podíamos criar dois elementos div, um com a imagem e outro
com a lista. Aplicávamos um float: left ao div que tinha a imagem e um
float:right ao div que tinha a lista. Em seguida alinhávamos o texto à
direita no div que continha a lista, e fazíamos as contas para definir o valor a
aplicar à margin-bottom da lista ou utilizávamos as propriedades dis-
play:table-cell e vertical-align:middle, que só são suportadas
nos browsers mais modernos. Parece-nos bastante mais complicado e pouco
lógico.
14 Behaviors JavaScript
Os eventos associados ao teclado podem ser utilizados com a maior parte dos
elementos de uma página, mas são mais utilizados com elementos de um
formulário.
Eventos associados com formulários:
submit – Ocorre quando se submete um formulário clicando num
botão de Submit ou num image field. Só se aplica ao
elemento form.
reset – Ocorre quando se faz reset a um formulário clicando num
botão de Reset. Só se aplica ao elemento form.
select – Ocorre quando o utilizador selecciona algum texto de um
campo de texto. Pode ser utilizado com os elementos
input e textarea.
change – Ocorre quando o utilizador altera algum valor num campo de
um formulário e ‘abandona’ esse campo utilizando a tecla
TAB ou clicando em outro campo/objecto da página. Pode
ser utilizado com os elementos input, select e
textarea.
Outros eventos:
focus – Ocorre quando um elemento recebe o foco de atenção do
utilizador, por este ter clicado no elemento ou utilizado a
tecla TAB para aceder ao elemento. Este evento pode ser
utilizado com os elementos a, area, label, input,
select, textarea e button.
blur – Ocorre quando um elemento perde o foco de atenção do
utilizador, por este ter clicado em outro elemento ou utilizado
a tecla TAB para aceder a outro elemento. Pode ser utilizado
com os mesmos elementos do evento onfocus.
abort – Ocorre quando o carregamento de uma imagem é
interrompido. É associado apenas a imagens (img).
error – Ocorre quando um erro é detectado no carregamento de um
documento ou de uma imagem. Foi analisado no capítulo
anterior.
resize – Ocorre quando a janela do browser ou uma frame são
redimensionadas.
De forma a se poderem associar event handlers com elementos HTML
utilizam-se atributos cuja designação corresponde ao evento precedido de on.
Por exemplo, onclick tem a ver com o clique do rato num elemento da
página.
416 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Este elemento a não acede a nenhuma página, dado que utiliza no atributo
href o seguinte valor (chama-se um null link): href="javascript:;".
Embora não seja habitual, é possível que a imagem de troca tenha dimensões
diferentes das da imagem original. Neste caso, a acção SWAP IMAGE redimen-
sionará a imagem de troca para a altura e largura da primeira imagem.
Neste nosso exemplo, inserimos na página uma capa de um livro que é basea-
da em níveis de cinzento:
424 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Quando passamos o cursor por cima da imagem aparece a capa com as cores
originais. Ao clicar na imagem acedemos a uma página com informação sobre
o livro (ummundodestetamanho.html).
14.9 Go to URL
Uma das tarefas mais complicadas quando se utilizam frames é actualizar
duas ou mais frames em simultâneo com apenas um clique. A acção GO TO
URL pode efectuar este processo e também pode ser utilizada como
‘redireccionador’ que envia o utilizador para outra página Web depois do
evento onLoad ter terminado a sua execução. A caixa de diálogo GO TO URL,
432 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
A acção DRAG AP ELEMENT pode ser utilizada para criar puzzles e outro tipo de
jogos. A página Jessus Dress Up (http://www.jesusdressup.com) é um exemplo de
uma página que pode ser criada recorrendo a esta acção.
436 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
14.12.1 Appear/Fade
Este efeito permite que um elemento apareça ou desapareça de forma gradual
ao longo de um determinado período de tempo. Pode, por exemplo, fazer com
que um elemento AP apareça de forma gradual com informação adicional
quando um utilizador clica num ícone de ajuda. Da mesma forma, dado que a
behavior permite que o efeito seja ‘invertido’ (toggled), o elemento AP pode
desaparecer de forma gradual com outro clique no mesmo ícone.
Na caixa de diálogo APPEAR/FADE:
14.12.2 Blind
Este efeito simula os estores de uma janela, baixando para esconder conteúdo
específico ou levantando para o revelar. Só pode utilizar este efeito com os
seguintes elementos HTML: address, dd, div, dl, dt, form, h1, h2, h3, h4,
h5, h6, p, ol, ul, li, applet, center, dir, menu e pre.
Na caixa de diálogo BLIND,
14.12.3 Grow/Shrink
Este efeito reduz ou alarga o tamanho de um determinado elemento da
página. Este efeito pode ser utilizado para temporariamente tornar uma
imagem maior quando o visitante passa o rato por cima de uma versão
‘pequena’ da imagem (thumbnail) e torná-la mais pequena quando o visitante
move o rato para fora do thumbnail.
14. BEHAVIORS JAVASCRIPT 439
14.12.4 Highlight
Este efeito permite ‘animar’ o fundo de um elemento, começando numa
determinada cor e depois apresentando as cores intermédias até chegar a
uma cor final. Funciona bem para atrair a atenção de um visitante para um
determinado elemento da página sem afectar o layout da página. Pode utilizar
440 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
este efeito com qualquer elemento HTML excepto: applet, body, frame,
frameset, ou noframes.
Na caixa de diálogo HIGHLIGHT:
14.12.5 Shake
Se já se enganou a escrever uma palavra-passe no ecrã de login do Mac OS
X, já visualizou o efeito SHAKE. Este efeito abana rapidamente o elemento
referenciado para a esquerda e para a direita. É garantido que obterá a
atenção do utilizador. Não pode contudo definir a duração e a distância aplica-
da pelo efeito.
Só pode utilizar este efeito com os seguintes elementos HTML: address, dd,
div, dl, dt, fieldset, form, h1, h2, h3, h4, h5, h6, iframe, img,
object, p, ol, ul, li, applet, dir, hr, menu, pre e table.
Para utilizar o efeito SHAKE basta seleccionar o elemento ao qual o pretende
aplicar:
14. BEHAVIORS JAVASCRIPT 441
14.12.6 Slide
Este efeito é semelhante ao efeito BLIND dado que esconde ou revela
conteúdo, contudo neste caso é o próprio conteúdo que parece que apa-
rece/desaparece da vista do utilizador.
Relativamente ao elemento referenciado pelo efeito é necessário que esteja
dentro de um elemento div com um id. Por exemplo:
<div id="divexterior">
<div id="conteudo">
<p>...</p>
</div>
</div>
14.12.7 Squish
Este efeito é semelhante a uma utilização especializada do efeito GROW/
SHRINK. Quando um efeito SQUISH é desencadeado, o elemento referenciado
reduz o respectivo tamanho de 100% para 0% na direcção do canto superior
esquerdo do elemento; desencadeando o efeito outra vez o elemento cresce
para 100% na direcção oposta.
442 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Só pode utilizar este efeito com os seguintes elementos HTML: address, dd,
div, dl, dt, form, img, p, ol, ul, applet, center, dir, menu, e pre.
O único parâmetro definido pelo utilizador é a escolha do elemento ao qual se
pretende aplicar o efeito:
pode pesquisar extensões (ou behavior), aceder a uma página onde pode
efectuar uma pesquisa mais avançada, ou pode navegar por categoria a partir
do menu existente no lado direito da página. Algumas das extensões/
behaviors são gratuitas enquanto outras são pagas.
Depois de localizar a extensão pretendida e clicar no botão DOWNLOAD
respectivo aparecerá uma página de SIGN IN (o procedimento poderá ser
diferente dependendo da extensão seleccionada). Para poder transferir exten-
sões/behaviors para o seu computador necessita de estar registado no sítio
Web da Adobe.
Aparecerá então a página que efectuará a transferência da extensão para o
seu computador. Dependendo do seu browser pode ser-lhe dada a opção de
instalar o ficheiro da extensão directamente a partir do sítio Web ou guardá-lo
primeiro em disco e instalá-lo a partir daí.
repare que com o ITEM 1 seleccionado na primeira lista, aparecem três itens na
segunda lista. Se remover estes itens (basta seleccioná-los e clicar no botão ‘-’
que se encontra na parte de cima da lista) e também remover os subitens do
ITEM 3, terá uma barra de navegação sem submenus.
Para alterar o texto de qualquer item do menu, seleccione o item no PROPERTY
INSPECTOR e introduza um novo valor no campo TEXT:
Para adicionar uma tooltip a um item de menu (isto é, apresentar uma mensa-
gem debaixo do cursor quando este se encontra por cima de um item), selec-
cione o item e introduza o texto para a tooltip no campo TITLE.
Uma forma fácil de modificar rapidamente o texto dos itens, os links e a estru-
tura é clicar no botão TURN STYLES OFF. Os estilos CSS serão desactivados e
verá a lista de itens que constituem o menu:
Evite adicionar itens nesta vista dado que terá de se lembrar de associar os
estilos correctos, nomeadamente o .MenuBarItemSubmenu. Clicando no bo-
tão TURN STYLES ON volta a repor os estilos.
Para fazer ajustes aos itens de um menu ou submenu:
1. Para adicionar um novo item ao menu, clique no botão + localizado
acima da respectiva lista. É adicionado um novo item de menu com o
texto UNTITLED ITEM, logo abaixo do item seleccionado (se não tiver
nenhum item seleccionado, o novo item será adicionado ao fim da
lista):
Para todas as opções, excepto para a opção QUEM SOMOS, vamos definir um
link que corresponde à página que é invocada quando o botão é clicado:
452 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Para a opção QUEM SOMOS o valor do campo LINK tem de ser #, dado que vai
ter associado um sub-menu. Aproveitamos também para atribuir um TITLE a
cada opção.
Como apenas a opção QUEM SOMOS vai ter associado um sub-menu, remo-
vemos todas as opções de sub-menu de todas as outras opções:
O campo LINK de cada uma destas cinco opções aponta para a página
quemsomos.html e para a âncora respectiva nessa página:
../info/quemsomos.html#precosbaixos
Isto é, os links apontam todos para a mesma página, mas para secções dife-
rentes.
A estrutura do menu está definida, temos agora de nos concentrar no seu
aspecto.
Podemos ver por esta imagem que a primeira opção do menu tem associados
quatro estilos, todos genéricos. Um dos estilos diz respeito à lista
(ul.MenuBarHorizontal) o outro aos itens da lista (ul.MenuBar-
Horizontal li), o terceiro aos links associados às opções (ul.MenuBar-
Horizontal a), e finalmente um estilo para os estados hover e focus dos
links (ul.MenuBarHorizontal a:hover, ul.MenuBarHorizontal a:
focus).
Para alterar as propriedades de um determinado estilo poderá seleccioná-lo na
secção CASCADE do campo TARGETED RULE no PROPERTY INSPECTOR e depois
clicar no botão EDIT RULE para invocar a caixa de diálogo CSS RULE DEFI-
NITION. Em alternativa pode editar o estilo a partir do painel CSS STYLES, no
modo CURRENT.
Se preferir trabalhar em código, os ficheiros SpryMenuBarHorizontal.css
e SpryMenuBarVertical.css possuem comentários detalhados sobre os
estilos utilizados numa SPRY MENU BAR.
O problema de se trabalhar directamente com os ficheiros CSS é que estamos
a alterar os estilos para todas as SPRY MENU BAR existentes no nosso sítio
Web. Se pretendermos ter widgets SPRY MENU BAR com cores de fundo dis-
tintas em páginas diferentes, não podemos alterar os ficheiros SpryMenuBa-
rHorizontal.css e SpryMenuBarVertical.css. Temos de criar, na pró-
pria página, os mesmos estilos existentes nesses ficheiros, mas apenas com
as propriedades que pretendemos alterar.
Vamos agora identificar os estilos que estão associados aos itens/botões de
uma SPRY MENU BAR. Existem dois tipos diferentes de botões num menu Spry:
um botão básico do menu e um botão de submenu. Um botão básico é um
botão que não possui um submenu agarrado – é simplesmente um botão que
o visitante carrega para ir para uma nova página. Um botão de submenu é
qualquer botão que produz um menu de pop-up quando o visitante passa o
cursor por cima. Além disso, cada um destes tipos de botões possui dois esta-
dos: o estado normal e o estado quando o cursor passa por cima (evento
mouseover).
Os estilos utilizados são então:
2
6
1
5
4
3
ul.MenuBarHorizontal a.MenuBarItemHover,
ul.MenuBarHorizontal a.MenuBarItemSubmenuHover,
ul.MenuBarHorizontal a.MenuBarSubmenuVisible.
Se, pelo contrário, pretende que o submenu ainda se sobreponha mais, pode
mudar de -5% para -10% a margem de topo e de 95% para 85% a margem
esquerda.
Um submenu horizontal aparece directamente debaixo do botão de submenu
que o desencadeia. A respectiva margem é 0. Se pretender que esse menu se
sobreponha ao botão do submenu, pode alterar a margem de topo para -0.5%
e a margem esquerda para 5%, por exemplo.
A aparência dos sub-submenus de um menu horizontal é controlada pelo estilo
ul.MenuBarHorizontal ul ul.
Agora vamos mudar a cor de fundo que também se encontra no estilo ul.
MenuBarVertical a. Mudamos para #F90:
Pode colocar um SPRY TABBED PANEL em qualquer parte de uma página Web.
Mas dado que os separadores formam uma linha única no topo do grupo de
painéis, necessitará de espaço para acomodar todos os separadores.
Para adicionar um widget SPRY TABBED PANEL a uma página:
1. Coloque o cursor onde pretende que o menu apareça. Por exemplo,
dentro de um elemento <div>;
2. A partir das categorias SPRY ou LAYOUT da barra INSERT, escolha SPRY
TABBED PANEL BAR. Em alternativa pode utilizar a opção INSERT > SPRY
> SPRY TABBED PANELS. Por omissão, o painel possui dois separado-
res:
clique nesse olho para trazer o painel respectivo para a frente dos outros pai-
néis.
Em HTML, um SPRY TABBED PANEL é composto por um elemento div que
agrupa uma lista não numerada (elemento ul) e um conjunto de elementos
div, que correspondem aos conteúdos de cada painel:
<div id="TabbedPanels1" class="TabbedPanels">
<ul class="TabbedPanelsTabGroup">
<li class="TabbedPanelsTab" tabindex="0">Tab 1</li>
<li class="TabbedPanelsTab" tabindex="0">Tab 2</li>
<li class="TabbedPanelsTab" tabindex="0">Tab 3</li>
</ul>
<div class="TabbedPanelsContentGroup">
<div class="TabbedPanelsContent">Content 1</div>
<div class="TabbedPanelsContent">Content 2</div>
<div class="TabbedPanelsContent">Content 3</div>
</div>
</div>
Dado que não existe outro painel associado, apenas o separador fica visível
quando o painel é escondido. O painel pode estar aberto ou fechado quando a
página é apresentada inicialmente. Um SPRY COLLAPSIBLE PANEL é óptimo
para manter a informação fora do ‘caminho’ de um visitante até que ele queira
essa informação – como um formulário para assinar uma newsletter via e-mail
ou direcções para deslocar-se à sua empresa. Adicione um painel aberto
quando pretender apresentar uma informação importante, que uma vez lida,
possa ser rapidamente escondida com o clique de um rato.
Os SPRY COLLAPSIBLE PANEL funcionam particularmente bem quando inseridos
dentro de elementos div posicionados de forma absoluta (elemento AP), dado
que quando abertos não interferem com o resto dos elementos da página
(apenas os poderão tapar). E, se o elemento AP estiver associado à acção
DRAG AP ELEMENT, então poderemos ter um menu que pode ser deslocado
pelo utilizador na janela do browser de forma a estar sempre à mão.
Para adicionar um widget SPRY COLLAPSIBLE PANEL a uma página:
1. Coloque o cursor onde pretende que o menu apareça, por exemplo,
dentro de um elemento <div>;
2. A partir das categorias SPRY ou LAYOUT da barra INSERT, clique no
botão SPRY COLLAPSIBLE PANEL. Em alternativa pode utilizar a opção
INSERT > SPRY > SPRY COLLAPSIBLE PANEL. É inserido na página um
conjunto separador/painel, com Content como conteúdo do painel e
um separador azul Spry acima do separador:
Dentro da tooltip pode inserir o conteúdo que muito bem entender incluindo
imagens.
Ao guardar a página em que a SPRY TOOLTIP existe, serão copiados os fichei-
ros SpryTooltip.css e SpryTootip.js para a pasta SpryAssets.
O PROPERTY INSPECTOR permite alterar a funcionalidade da SPRY TOOLTIP:
15. NAVEGAÇÃO COM SPRY WIDGETS 477
Uma das opções que mais impacto tem no visitante da página é a opção
FOLLOW MOUSE, que faz com que a tooltip siga o ponteiro do rato enquanto
este estiver por cima do elemento que está associado à SPRY TOOLTIP.
As propriedades HORIZONTAL OFFSET e VERTICAL OFFSET permitem definir, em
píxeis, a distância entre o ponteiro do rato e a tooltip. Se utilizar valores nega-
tivos a tooltip passa para o lado esquerdo e para cima do ponteiro do rato. Por
exemplo, se utilizarmos -30 para o HORIZONTAL OFFSET:
Não convém mexer no estilo .iframeTooltip, por isso o estilo que devemos alte-
rar é o .tooltipContent. Por omissão apenas possui definida a proprie-
dade background-color com o valor #FFFFCC que é a cor tradicionalmente
associada às tooltips.
Como o que podemos colocar dentro de uma tooltip é qualquer conteúdo
HTML com estilos CSS aplicados, podemos fazer algo do género:
478 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Terá de fazer o login no Adobe Exchange (clique no link SIGN IN) para poder
pré-visualizar e ver informação sobre widgets.
Clicando num dos widgets disponíveis, abre uma página específica desse wid-
get, onde pode obter diversa informação:
480 O GUIA PRÁTICO DO DREAMWEAVER CS5 COM HTML, CSS E JAVASCRIPT
Na página principal do widget pode clicar no botão SAVE WIDGET FILES para
guardar numa pasta em disco os ficheiros necessários para utilizar o widget,
bem como uma página exemplo, para poder testar no seu browser.
No Dreamweaver, os widgets instalados através do WIDGET BROWSER, estão
disponíveis a partir da opção INSERT > WIDGET:
Também pode ter acesso a esta caixa de diálogo através do ícone W IDGET na
categoria COMMON da barra INSERT:
Muitos destes widgets recorrem à biblioteca jQuery, por isso não se admire de
ver uma pasta js criada no seu sítio Web com um ficheiro do tipo, jquery-
1.4.2.js.
Caso tenha definido uma ou mais configurações para um widget, elas apare-
cem disponíveis no campo PRESET:
16 Validação de formulários
<tr>
<td>Nome:</td>
<td><span id="sprytextfield1">
<input type="text" name="nome" id="nome" />
<span class="textfieldRequiredMsg">A value is
required.</span></span></td>
<td> </td>
</tr>
O problema é que este rearranjo do código faz com que já não seja depois
possível aceder ao PROPERTY INSPECTOR do widget Spry, por isso é recomen-
dável que todos os ajustes ao widget sejam efectuados antes de mover o
código.
Para mudar entre estados, escolha um valor diferente na lista PREVIEW STATES
no PROPERTY INSPECTOR:
Carácter Representa
0 Algarismos entre 0 e 9.
? Qualquer carácter
Por exemplo, se pretender especificar como formato um código com três letras
seguidas de três algarismos, o padrão seria AAA999. Pode também especifi-
car caracteres que serão utilizados de forma literal como acontece com o
padrão associado aos números de telefone americanos que é (000) 000-000.
Neste caso, se a opção ENFORCE PATTERN estiver seleccionada, o parêntesis
de abertura aparecerá depois do primeiro número ser introduzido e os outros
caracteres não numéricos aparecem à medida que o utilizador introduz os
algarismos – não são aceites caracteres não numéricos.
Para alterar as cores de fundo do campo para cada um dos estados disponí-
veis, utilize os seguintes estilos:
VALID – .textfieldValidState input,
input.textfieldValidState
16. VALIDAÇÃO DE FORMULÁRIOS 491
O resultado será:
Para alterar as cores de fundo do campo para cada um dos estados disponí-
veis, utilize os seguintes estilos:
VALID – .textareaValidState textarea,
textarea.textareaValidState
INVALID (inclui estados REQUIRED, MIN. # OF CHARS NOT MET e
EXCEEDED MAX. # OF CHARS) –
textarea.textareaRequiredState,
.textareaRequiredState textarea,
textarea.textareaMinCharsState,
.textareaMinCharsState textarea,
textarea.textareaMaxCharsState,
.textareaMaxCharsState textarea
FOCUS – .textareaFocusState textarea,
textarea.textareaFocusState
Caso esta opção esteja activa isso significa que não pode ter na lista
itens que ao serem seleccionados pelo utilizador, como -- SELECCIONE
UM PAÍS --, não possuam um valor associado (isto é, o atributo value é
igual a ""). No caso de não seleccionar a opção BLANK VALUE poderá
incluir itens sem nenhum valor associado, como, por exemplo:
<option value="" selected="selected">-- Seleccione um
país --</option>
Para formatar a aparência dos campos select e das mensagens de erro utilize
a informação apresentada na secção sobre a SPRY VALIDATION TEXT FIELD.
A única diferença reside no nome dos estilos e no ficheiro que contém os esti-
los – SpryValidationSelect.css. O estilo que permite formatar as men-
sagens de erro é:
.selectRequiredState .selectRequiredMsg,
.selectInvalidState .selectInvalidMsg
Para alterar as cores de fundo do campo para cada um dos estados disponí-
veis, utilize os seguintes estilos:
VALID – .selectValidState select,
select.selectValidState
INVALID (inclui estado REQUIRED) –
select.selectRequiredState,
.selectRequiredState select,
select.selectInvalidState,
.selectInvalidState select
FOCUS – .selectFocusState select,
select.selectFocusState
Para alterar as cores de fundo do campo para cada um dos estados disponí-
veis, utilize os seguintes estilos:
VALID – .passwordValidState input,
input.passwordValidState
INVALID (inclui estados REQUIRED, MIN. # OF CHARS NOT MET,
EXCEEDED MAX. # OF CHARS e INVALID STRENGTH) –
input.passwordRequiredState,
.passwordRequiredState input,
input.passwordInvalidStrengthState,
.passwordInvalidStrengthState input,
input.passwordMinCharsState,
.passwordMinCharsState input,
input.passwordCustomState,
.passwordCustomState input,
16. VALIDAÇÃO DE FORMULÁRIOS 501
input.passwordMaxCharsState,
.passwordMaxCharsState input
FOCUS – .passwordFocusState input,
input.passwordFocusState
Para alterar as cores de fundo do campo para cada um dos estados disponí-
veis, utilize os seguintes estilos:
VALID – .confirmValidState input,
input.confirmValidState
INVALID (inclui estado REQUIRED) –input.confirmRequiredState,
.confirmRequiredState input,
input.confirmInvalidState,
.confirmInvalidState input
FOCUS – .confirmFocusState input,
input.confirmFocusState
16.9 Conclusão
Ao longo do livro abordamos as três principais tecnologias que são utilizadas
para o desenho e criação de páginas Web (HTML, CSS e JavaScript), na
óptica da sua utilização no Dreamweaver CS5.
Os assuntos abordados e os exercícios realizados permitem que o web desig-
ner passe a criar páginas Web suficientemente sofisticadas. Mas, como é
óbvio, a qualidade das páginas Web produzidas depende da capacidade artís-
tica e técnica de cada pessoa.
O conteúdo deste livro é um bom ponto de partida para o aprofundamento dos
conhecimentos técnicos sobre CSS e, sobretudo, JavaScript.
São imensas as possibilidades de utilização da JavaScript, mas a maior parte
das vezes envolvem conhecimentos adicionais dessa linguagem, o que está
fora do âmbito deste livro, cuja abordagem se baseou no desenho de páginas
Web sem recorrer a código (ou, pelo menos, recorrer a código de programa-
ção de forma muito pontual).