Programação para Web - HTML e CSS
Programação para Web - HTML e CSS
verificar o valor da tecla e checar a condição. OBS: Cada tecla do teclado tem um
código correspondente.
No exemplo abaixo, a validação é feita para permitir que apenas caracteres
Esta apostila tem por objetivo mostrar de
numéricos sejam aceitos na entrada de dados.
modo fácil como criar websites utilizando
<label>Nome: </label> as linguagens HTML e CSS; e através do
<input type="text" name="nome" desenvolvimento de exemplos práticos, o
onkeydown="if (event.keyCode< 48 || event.keyCode > leitor conhecerá de forma resumida e
57){alert('Você só pode digitar números neste campo.'); return direta os principais recursos que envolve o
false;}" desenvolvimento de layouts web.
Apostila de
programação
para web:
HTML e CSS
comercialização.
setTimeout('mostrarhora();', 1000);}
No HTML:
<body onload="iniciarrelogio();" >
A função setTimeout("instruções",atraso) Executa uma ou mais instruções 4.3. Vídeo e áudio .................................................................................................................. 30
JavaScript após um período de atraso em milissegundos. 4.4. O elemento DIV .............................................................................................................. 32
A função retorna um número de identificação que pode ser passado como 4.5. O box-model CSS: margem, borda e espaçemento ....................................................... 33
argumento do método clearTimeout() para executar a operação imediatamente, 4.6. Exercícios práticos .......................................................................................................... 45
ignorando o tempo que falta. 5. ESTILIZAÇÃO DE TEXTOS, LISTAS E PSEUDO-ELEMENTOS ................................................. 48
5.1. Estilização de textos ....................................................................................................... 48
5.2. Estilização de listas ......................................................................................................... 52
A função clearTimeout(id) cancela a temporização de uma operação
setTimeout() cujo número de identificação foi passado como parâmetro, e faz com que 5.3. Pseudo-elementos .......................................................................................................... 53
as instruções do setTimeout() sejam interpretadas e executadas imediatamente. 5.4. Exercícios práticos .......................................................................................................... 56
6. POSICIONAMENTO E LAYOUT COM CSS ............................................................................ 59
6.1. Posicionamento .............................................................................................................. 59
No exemplo a seguir é criada uma função que abre uma janela e fecha a mesma
em 3 segundos. 6.2. Layout.............................................................................................................................. 63
6.3. Exercícios práticos .......................................................................................................... 66
function abrirJanela(){
janela = window.open("teste.html"); 7. FORMULÁRIOS WEB ........................................................................................................... 69
setTimeout('janela.close();', 3000); 7.1. Exercícios práticos .......................................................................................................... 77
}
8. JAVASCRIPT ......................................................................................................................... 80
8.1. Noções Gerais ................................................................................................................. 80
Para executa-la, usaremos o método onclick da tag body.
8.2. Sintaxe e estrutura ......................................................................................................... 84
8.3. Manipulando objetos HTML com JavaScript ................................................................. 89
8.4. Exemplos práticos ........................................................................................................... 95
1. INTRODUÇÃO ABRIR JANELA DO NAVEGADOR
O código das páginas está escrito em uma linguagem chamada HTML, que indica JANELA DE ALERTA APÓS CARREGAMENTO OU SAÍDA DO NAVEGADOR
basicamente onde colocar cada texto, cada imagem ou cada vídeo e a forma que terão ao
serem colocados na página.
Cascading Style Sheets (ou simplesmente CSS) é uma linguagem de estilo utilizada para Podemos inserir uma mensagem de alerta ao carregar uma página ou quando o
definir a apresentação de documentos escritos em uma linguagem de marcação, como HTML usuário sair dela. Usamos os métodos onunload ou onload da tag body.
ou XML. Seu principal benefício é prover a separação entre o formato e o conteúdo de um
documento.Ao invés de colocar a formatação dentro do documento, o desenvolvedor cria um
link (ligação) para uma página que contém os estilos, procedendo de forma idêntica para todas <body
as páginas de um portal. Quando quiser alterar a aparência do portal basta portanto modificar onload="alert('Bem vindo');"
apenas um arquivo. Cabem a CSS todas as funções de apresentação de um documento e ao onunload="alert('Obrigado pela visita, volte sempre!');">
HTML todas as funções de marcação e estruturação de conteúdos. Uma página web é
composta então de CSS + HTML. MENSGEM DE CONFIRMAÇÃO
JavaScript é uma linguagem de programação criada principalmente para as funções de
validação de formulários no lado cliente (programa navegador) e interação com a página.
Para exibir uma mensagem de confirmação usamos a função
Assim, foi feita como uma linguagem de script. Javascript tem sintaxe semelhante à do
Java, mas é totalmente diferente no conceito e no uso. Podemos fazer com JavaScript as
seguintes operações: Veja exemplo:
Tags são pares de sinais destinados a englobar conteúdos e têm finalidade informar ao
navegador sobre qual o tipo de conteúdo está nela contido.
A sintaxe geral da HTML segue o modelo mostrado acima, ou seja, uma marcação
indicando o início e outra mostrando o fim de um conteúdo. As marcas inicial e final são
chamadas de tags, que, além de delimitar conteúdos, informam a natureza desses conteúdos.
Um par de tags constitui um elemento.
Exemplo:
OBS: A função parseFloat converte uma string para um valor numérico com
casa decimal. Este é um cabeçalho de nível 1
Este é um cabeçalho de nível 2
<script language=JavaScript>
function soma() { Este é um cabeçalho de nível 3
a = document.f1.val1.value; Este é um cabeçalho de nível 4
b = document.f1.val2.value;
document.f1.val3.value = parseFloat(a) + parseFloat(b); Este é um cabeçalho de nível 5
} Este é um cabeçalho de nível 6
</script>
Exemplo:
<li>
Insira o CD-ROM no seu drive de CD-ROM. </li>
<li>
Selecione EXECUTAR. </li>
<li>
Digite a letra para o drive do seu CD-ROM. </li>
<li>
Siga as instruções do programa de instalação. </li>
<li>
Reinicie o seu computador depois de instalar todos os
arquivos.</li>
<li> Cruze os dedos </li>
</ol>
Em JavaScript também temos a estrutura Array(vetores).O tipo Array representa
coleções de qualquer tipo, na forma de vetores ordenados e indexados. Para criar um
novo vetor em JavaScript, é preciso usar o operador new e o construtor Array(): As listas não classificadas, são listas nas quais cada item é representado por
marcadores (bullets). Para a lista não-classificadas utiliza-se a tag <ul>...</ul> e para os itens
direcao = new Array(4); lista utiliza-se a tag <li>...</li>. Exemplo:
<body>
Vetores começam em 0(zero) e terminam em length 1. length é a única <p> Coisas que eu gostaria de fazer de manhã. </p>
propriedade do tipo Array. Esta propriedade ontém um número com o comprimento <ul>
do vetor. Os elementos do vetor são acessíveis através de índices passados entre <li> Tomar uma xícara de café. </li>
colchetes ([ e ]). <li> Ver o sol nascer. </li>
<li> Ouvir o canto dos pássaros. </li>
Para acessar qualquer um dos elementos do vetor, por exemplo, usa-se o nome <li> Ouvir o vento assobiando nas árvores. </li>
da variável seguida do índice do elemento entre colchetes: <li> Amaldiçoar os barulhos de construção por trazerem o
mau humor.</li>
x = direcao[2]; // copia o conteúdo do terceiro elemento de
</ul>
direcao em x
</body>
Todos os objetos criados em HTML estão automaticamente disponíveis em Coisas que eu gostaria de fazer de manhã.
JavaScript, mesmo que um nome não seja atribuído a eles.
Tomar uma xícara de café.
Por exemplo, se há três blocos <form>...</form> em uma página, há três
objetos do tipo Form no JavaScript Ver o sol nascer.
Ouvir o canto dos pássaros.
Se eles não tem nome, pode-se ter acesso a eles através da propriedade forms
Ouvir o vento assobiando nas árvores.
definida em document.
Amaldiçoar os barulhos de construção por trazerem o mau for: As estruturas for e while são usadas para repetições baseadas em condições. O
humor. bloco for contém de três parâmetros : uma inicialização, uma condição e um
incremento. A sintaxe é a seguinte:
Uma lista de glossário possue duas partes.
Um termo;
for(inicialização; condição; incremento) {
A definição do termo.
// instruções a serem realizadas enquanto condição for true
}
Para o termo usa-se a tag <dt> e para a definição do termo usa-se a tag <dd>. Toda
lista de glossário é indicada entre as tags <dl>...</dl>. Exemplo: Por exemplo:
for (i = 0; i < 10; i = i + 1) {
<body> }
<dl>
<dt> Manjericão </dt>
<dd> A primeira coisa realizada no bloco for é a inicialização e é feita uma vez
Anual. Pode crescer até quatro pés de altura, o apenas. A condição é testada cada vez que o loop é reiniciado. O incremento é
perfume de suas pequenas flores brancas é paradisíaco. realizado no final de cada loop.
</dd>
<dt> Orégano </dt> while: O mesmo que foi realizado com for pode ser realizado com uma estrutura
<dd> while, da forma:
Perene. Espalha raízes no subsolo e é difícil de ser
evitado quando se estabelece.
</dd> while(condição) {
</dl> // instruções a serem realizadas enquanto condição for true
</body> incremento;
}
O código HTML apresentado acima, será apresentado assim no navegador: Veja como fica o o exemplo de repetição mostrado através do comando for e
agora usando while:
Manjericão
i = 0
Anual. Pode crescer até quatro pés de altura, o perfume de while (i < 10) {
suas pequenas flores brancas é paradisíaco.
i++;
Orégano }
Comentários:
/* Esta função retorna a
* média dos argumentos passados
*/
function media(a, b)
{
return (a + b)/2; // a e b devem ser números
}
Variáveis são usadas para armazenar valores temporários na maior parte das
instruções em JavaScript. Para definir uma variável, basta escolher um nome que não Figura 3. Site folha.com.br
seja uma palavra reservada e lhe atribuir um valor:
preco = 12.6;
2.4. Exercícios práticos
produto = "Livro";
Uma variável também pode ser declarada sem que receba um valor. Para isto é Questão 01. Com base nas TAGS já estudas, desenvolver o código HTML para a
necessário usar a palavra-chave var: estrutura abaixo. Observações: Utilize lista de definição para os termos e definição
var preco; das doenças listas
Art. 5. São requisitos básicos para investidura em cargo público: Por exemplo function, Function e FUNCTION são três nomes distintos e
tratados diferentemente em JavaScript.
I. a nacionalidade brasileira;
II. o gozo dos direitos políticos; Há duas formas de incluir comentários em JavaScript:
III. a quitação com as obrigações militares e eleitorais;
IV. o nível de escolaridade exigido para o exercício do cargo; Qualquer texto que aparece depois de duas barras (//) é ignorado pelo
V. a idade mínima de dezoito anos; interpretador até o final da linha.
VI. aptidão física e mental.ível do músculo cardíaco.
3. O ELEMENTO <IMG> E NOÇÕES FUNDAMENTAIS DE CSS: FORMATAÇÃO DE FONTE E A linguagem JavaScript permitem a captura de eventos disparados pelo usuário,
BACKGROUND como o arrasto de um mouse, o clique de um botão, etc. Quando ocorre um evento,
um procedimento de manuseio do evento é chamado. O que cada procedimento irá
fazer pode ser determinado pelo programador.
3.1. Imagens: <img>
Os atributos de eventos se aplicam a elementos HTML específicos e e sempre
Para inserir uma imagem em um documento web, utilizamos a tag <img>>. O
elemento <img> insere imagens que são apresentadas juntamente com os textos presente no JavaScript. Por exemplo:
documento. Um atributo SRC especificando o caminho físico onde encontra-se a imagem deve
estar presente, da seguinte forma:
<form>
<input type="button"
onclick="alert('oh não, você acionou o sistema de
Podemos referenciar imagens do nosso próprio servidor, ou imagens localizadas em autodestruição!')"
outro servidor. As imagens usadas na Web são armazenadas em arquivos com extensão *.gif, value="não aperte este botão">
*.jpg (ou *.jpeg), *.png. </form>
BORDER: Cria uma borda ao redor da imagem. Para retirar a borda, configure com
valor 0(zero). Quanto maior o valor, mais larga será a borda.
Muitas vezes é necessário realizar um mesmo tipo de tarefa mais de uma vez.
Uma regra CSS é uma declaração que segue uma sintaxe própria e que define como
Para esse tipo de problema JavaScript permite que o programador crie funções que
será aplicado estilo a um ou mais elementos HTML . Um conjunto de regras CSS formam uma
podem ser chamadas de outras partes da página várias vezes.
Folha de Estilos. Uma regra CSS, na sua forma mais elementar, compõe-se de três partes: um
Se várias páginas usam as mesmas funções JavaScript definidas pelo autor da seletor, uma propriedade e um valor e tem a sintaxe conforme mostrado abaixo:
página, uma boa opção é colocá-las em um arquivo externo e importá-lo nas páginas seletor{propriedade:valor;}
que precisarem delas.
Seletor: é o elemento HTML identificado por sua tag, ou por uma classe, ou
deve ter descritores HTML, como <script>). Por exemplo, suponha que o arquivo por uma ID, ou etc., e para o qual a regra será válida (por exemplo: <p>, <h1>,
biblio.js possua o seguinte código JavaScript: <form>, .minhaclasse, etc...);
Propriedade: é o atributo do elemento HTML ao qual será aplicada a regra (por
exemplo: font, color, background, etc...).
function soma(a, b)
Valor: é a característica específica a ser assumida pela propriedade (por
{
exemplo: letra tipo arial, cor azul, fundo verde, etc...)
return a + b;
} Na sintaxe de uma regra CSS, escreve-se o seletor e a seguir a propriedade e valor
separados por dois pontos e entre chaves { }.
Quando mais de uma propriedade for definida na regra, deve-se usar ponto-e-vírgula
para separá-las.
Para carregar esta função e permitir que seja usada em outra página, usa-se o
atributo src do descritor <script>: Veja exemplos:
p {
font-size: 12px;
<script LANGUAGE=JavaScript SRC="biblio.js" >
}
resultado = soma(5, 6);
body
</script>
{
color: #000000; 8. JAVASCRIPT
background: #FFFFFF;
font-weight: bold; 8.1. Noções Gerais
}
JAVASCRIPT É UMA LINGUAGEM de programação interpretada criada em 1995,
No exemplo abaixo, o seletor é o corpo da página(body), a propriedade é a cor do como uma extensão do HTML para o browser Navigator 2.0. Hoje existem
texto e o valor é a cor azul. implementações JavaScript nos browsers dos principais fabricantes.
h1, h2, h3, h4, h5, h6 { Dentro de blocos HTML <script> ... </ script > em várias partes da
color: #00FF00; página.
} Em um arquivo externo, importado pela página: para definir funções
que serão usadas por várias páginas de um site.
Dentro de descritores HTML sensíveis a eventos: para tratar eventos do
Nos exemplos já apresentados, usamos as próprias tags HTML como seletor. Seletores
usuário em links, botões e componentes de entrada de dados, durante a
CSS não estão restritos às tags, e podem ser diversas entidades da marcação ou a combinação
exibição da página.
delas. Seletores podem ser atributos do HTML e seus valores, combinações de tags, entre
outros.
Em um site com CSS é comum criar um objeto chamado classe e definir as regras CSS
azul claro com texto na cor preta. A outra célula da mesma linha deverá ter cor de independente de uma tag HTML.
fundo azul escuro
As classes podem ser aplicadas a qualquer elemento HTML. Podemos ainda aplicar
O campo UF, deverá vir com as siglas de todos os Estados Brasileiros para o usuário
estilos diferentes para o mesmo tipo de elemento do HTML, usando classes diferentes para
escolher
cada um deles.
O campo Est. Civil deverá vir com os seguintes dados: Solteiro, Casado, Viúvo e
Divorciado No CSS a sintaxe consiste na combinação do sinal de ponto (.) imediatamente seguido
O campo senha deverá ter os dados escondidos. Ou seja, ao digitar os valores para do nome da classe.No código HTML deverá ser criado um atributo para a classe (class)
Pode-se ainda usar o nome do elemento HTML para completar a grafia do seletor.
.nome_da_classe{propriedade:valor;}
Ou:
elemento_html.nome_da_classe{propriedade:valor;}
O objetivo de criar uma classe é aplicar uma regra comum a somente alguns tipos em
diferentes seletores. No CSS a sintaxe consiste na combinação do sinal de ponto (.)
imediatamente seguido do nome da classe.
No código HTML deverá ser criado um atributo para a classe (class). Pode-se ainda usar
o nome do elemento HTML para completar a grafia do seletor. Veja exemplo a seguir:
formatacao1
{
color:#0099FF;
border-color:#000000;
border:thin;
}
p.formatacao2
{
color:#99CC33;
border-color:#00FF00;
border:medium;
}
OBS: Todas as imagens utilizadas na página acima estão em uma pasta compactada junto
com a atividade. No documento HTML as regras são aplicadas conforme abaixo:
formatação.</p>
> este parágrafo com a segunda
formatação. </p>
Outro seletor bastante utilizado é o seletor ID. Este seletor difere do seletor de classe, Questão 03. Construir um formulário em HTML e aplicar as regra css de forma que fique
por ser ÚNICO. Um seletor ID deve ser aplicado a UM e somente UM elemento HTML dentro semelhante a imagem abaixo:
do documento.
#nome_do_id{propriedade:valor;}
Você pode inserir comentários nas CSS para explicar seu código, e principalmente
ajudá-lo a relembrar de como você estruturou e qual a finalidade de partes importantes do
código.
/* COMENTÁRIOS
DE MÚLTIPLAS
LINHAS */
Uma folha de estilo é dita externa, quando as regras CSS estão declaradas em um
documento a parte do documento HTML. A folha de estilo é um arquivo separado do arquivo
html e que tem a extensão .css
Uma folha de estilo externa é ideal para ser aplicada a várias páginas. Com uma folha Questão 04. Desenvolver o seguinte formulário de cadastro com as seguintes características.
de estilo externa , podemos alterar a aparência de um site inteiro mudando um arquivo
7.1. Exercícios práticos apenas (o arquivo da folha de estilo). Para incluir um arquivo externo .css a um documento
html, usamos a tag <link> entre as tags <head> </head> de acordo com a seguinte sintaxe:
Questão 01. O formulário a seguir é um formulário padrão para comentários em Blogs. Utilize
as tags de formulário para desenvolvê-lo conforme abaixo: <head>
</head>
Uma folha de estilo é dita interna, quando as regras CSS estão declaradas no próprio
documento HTML.
Uma folha de estilo interna, é ideal para ser aplicada a uma única página, dessa forma
podemos alterar a aparência de somente um documento.
No estilo interno as regras são declaradas na seção <head> do documento com a tag
de estilo <style> e são aplicadas no documento inteiro.
<head>
<style type="text/css">
p{
color:#993366;
}
Questão 02. O formulário abaixo representa uma página de cadastro de um usuário em um
</style>
sistema interno de uma universidade. Utilize as tags de formulário para desenvolvê-lo
</head>
conforme abaixo:
Uma folha de estilo é dita inline, quando as regras CSS estão declaradas dentro da tag
do elemento HTML. No estilo inline as regras são aplicadas diretamente nas tags html e
modifica os atributos de uma tag específica no documento, com isto ele perde muitas das
vantagens de folhas de estilo pois mistura o conteúdo com a apresentação. Veja exemplo:
<p style="color:#0066CC;font-size:20px">
Regilan Meira
</p>
Como as definições de estilo podem ser feita de formas por métodos diferentes,
podem existir situações onde os estilos são conflitantes. Neste caso existe uma prevalência nos
métodos segundo a regra abaixo:
Prevalência na seleção de métodos: Alguns novos tipos de componentes de entrada surgiram com a HTML 5,
listaremos a seguir alguns dos principais:
1. Seletor
2. Class
3. ID
date:
range:
Exemplos:
h4 { font-style: italic; }
h2 { font-variant: small-caps; } <input type="range" min="0" max="10">
body { font-weight: bold; }
search:
h1 { font-size: 15pt; }
p { font-family: serif; }
h6 { font-family: Arial, Verdana, Helvetica; }
h5 { font: italic normal bold 14pt Arial; }
<input type="search" />
time:
A propriedade background define as características do fundo dos elementos HTML. Elas
são representadas de acordo com a relação abaixo:
a {
<form> color: #0000FF;
Nome:<br> <input type="text" size="53"> <br> background-color: #FFFF00;
Comentário:<br> <textarea name="identificador" rows="10" }
cols="50"> Texto da Caixa de Formulário body
textarea </textarea> {
<br> background-image: url(fundo.gif);
<input type="submit" value="Enviar"> background-repeat: no-repeat;
</form> background-attachment: scroll;
background-position: center top;
}
A marcação HTML apresentada no slide anterior produz o seguinte resultado: h3
{
background: #0000FF url(fundo.gif) no-repeat scroll center
top;
}
Questão 01. Criar uma regra CSS para formatação de parágrafo abaixo com as
seguintes configurações:
Para a regra acima você deverá criá-la utilizando as três formas vistas em aula:
a. Método externo A tag <option> representa os itens da lista, que será visível assim que o usuário
b. Método interno clicar na lista
c. Método inline
Também é possível estabelecer uma escolha-padrão, através do atributo
Questão 02. Em relação às propriedades de background, criar uma classe para cada SELECTED
regra CSS abaixo: <option selected> creme </option>
a. Cor de fundo de uma página azul claro
b. Cor de fundo de um parágrafo em verde claro Com o atributo SIZE, escolhe-se quantos itens da lista serão mostrados (no
c. Colocar uma imagem de fundo que permita a repetição em qualquer estilo e
exemplo, SIZE=4):
que não acompanhe o deslocamento da página
d. Colocar uma imagem de fundo e repeti-la na vertical <select name="sabor" size=4>
e. Colocar uma imagem de fundo e não repeti-la
f. Colocar uma imagem de fundo sem repeti-la e centralizada
g. Formatar o fundo de uma página na cor amarela, uma figura de fundo, sem Veja o resultado da marcação acima:
repetição, centralizada e que acompanhe o deslocamento da página
Ao final crie uma página HTML com vários elementos (cabeçalho ou parágrafos) para
testar cada uma das regras acima.
Questão 03. Em relação às propriedades de fonte, criar um id para cada uma das
regras CSS abaixo:
a. Tipo de letra Arial e cor vermelha Com o atributo MULTIPLE, define-se que se pode selecionar mais de um item
b. Tipo de letra Times, com tamanho 22 e na cor verde (pressionando a tecla Shift do teclado enquanto se selecionam os itens):
c. Tipo de letra Comic Sans Serif, com tamanho 20, na cor azul e estilo itálico <select name="sabor" size=4 multiple>
d. Formatar a fonte de uma página na cor amarela, em negrito, de tamanho 14,
com espessura média e tipo de letra Verdana
A tag responsável pela criação do botão de envio é o <input> e os seus
atributos são:
Ao final crie uma página HTML com vários elementos (cabeçalho ou parágrafos) para
testar cada uma das regras acima. type:
o indica que a função desse botão e de enviar o
formulário.
o indica que os dados preenchidos serão todos
apagados e o formulário não será enviado.
o esse type não tem nenhuma função e
normalmente é utilizado em conjunto com um comportamento
de Javascript que será acionado pelo evento onClick.
text: texto que aparecerá no botão.
name= texto para identificar esse input.
Considere a marcação HTML abaixo: 4. LINKS E TABELAS HTML E PROPRIEDADES CSS PARA FORMATAÇÃO DE BORDAS,
ESPAÇAMENTO E MARGENS.
CSS
Margin: margem
Padding: espaçamento interno
Border: bordas
As tags <select>...</select> apresentam uma lista com diversos itens que 4.1. Links
podem ser selecionados.
É possível configurar essa tag para aceitar uma seleção simples ou múltiplas
Um link é uma conexão para uma página externa ao documento. Pode direcionar o
seleções.
visitante para outra página do mesmo site ou conduzí-lo à uma página externa ao site. Os links
Dentro de <select>...</select> fica as tags <option> responsáveis por têm sua sintaxe geral conforme a seguinte marcação abaixo:
apresentarem os itens da lista, e o atributo value guarda o valor quando o item é
selecionado. Regilan </a>
Veja a marcação HTML abaixo: A referência ao documento pode ser feita por:
Caminho Relativo: quando o documento a ser acessado está no mesmo servidor que a
A marcação acima, produz o seguinte resultado: página atual
Exemplo:
Para criar um link com uma página utilizaremos a tag <a> e alguns atributos como href <input name="esporte" value="natacao" type="checkbox"
e target checked="checked">Natação<br>
O atributo HREF determina a localização do arquivo da sua página ou do local da WEB Considere a marcação HTML abaixo:
a que o link se referencia. Você tem mais de 30 anos?<br/>
<form>
A URL (Uniforme Resource Locator) é o endereço do link. O texto entre as tags
Sim <input type="radio" name="cor" value="sim">
aparecerá sublinhado, indicando que é um link de hipertexto. Não <input type="radio" name="cor" value="nao">
O atributo TARGET refere-se a forma como o link será aberto: na mesma página ou em </form>
nova página no navegador.
Podemos colocar uma imagem e configurá-la como link para outra página. Para isso A marcação HTML do slide anterior, produz o seguinte resultado:
usaremos a tag <a> com a tag <img>
Veja exemplo:
<html>
<head><title>Instituto Federal da Bahia</title></head>
<body> Assim como acontece na checkbox, pode ser usado o atributo CHECKED, que
<h3>Clique na imagem abaixo para ir ao site do IFBahia
marca uma escolha inicial, isto é, se o usuário não escolher nenhuma opção, o
</h3>
formulário irá considerar a alternativa "pré-escolhida".
<a href="http://www.ifbahia.edu.br">
<img src="logomarca_ifbahia.png"/> A marcação TEXTAREA não utiliza o formato convencional INPUT TYPE="text"
</a> dos exemplos anteriores.
<br><br>
Ao contrário, uma marcação <TEXTAREA> delimita o seu início e a marcação
</body> </TEXTAREA> o seu fim.
</html>
<textarea> </textarea>
Uma âncora é um ponto de referência ou endereço que será acessado por um link.
O tamanho da caixa de texto é determinada pelos atributos de colunas (cols) e
Uma âncora é usada dentro do documento para marcar o início de uma seção do de linhas ( rows).
documento.
O atributo name é responsável por identificar esse campo.
Suponha que seu texto seja muito grande, o que tornaria trabalhoso para quem estiver
vendo a página conseguir se movimentar entre um tópico e outro. Então faça o seguinte:
etc...
</a>
Depois disso escreva a parte da página que você quer associar a esse Nome. Agora crie
usuário pode ter mais de uma resposta possível. um link para chegar até esta parte, usando a tag :
Ao clicar na mensagem "Clique Aqui" de sua página , o usuário irá até a parte que você
nomeou.
O sinal de cerquilha/tralha (#) é necessário para a âncora, pois avisa ao browser para
Considere a marcação HTML abaixo: procurar o link no documento atual !!!
ou
Um dos recursos mais interessantes da linguagem Html é a possibilidade de Tabelas são utilizadas para apresentação de dados em forma de linhas e colunas.
criar formulários eletrônicos.
O elemento para se inserir uma tabela é <table>; para iniciar uma linha devemos
Usando um formulário o usuário pode interagir com o servidor, enviando dados introduzir a tag <tr> e para uma célula (alguns preferem dizer coluna) <td>.
que serão processados no servidor e posteriormente devolvidos ao cliente.
Todos estes comandos são encerrados como </table> , </tr> e </td> respectivamente.
Esses comandos são os principais responsáveis pela viabilização da troca de
Existe ainda o comando <th> </th> que permite criar uma coluna de título(cabeçalho
informações entre o cliente e o servidor. Eles podem ser usados em qualquer tipo de
da tabela).
atividade.
<table>
Os formulários são iniciados com a tag de abertura <form> e encerrados com a
<tr>
tag de fechamento </form>. <td> </td>
É muito importante que todo o conteúdo do corpo do formulário esteja entre </tr>
</table>
essas duas tags de abertura e fechamento.
<form> </form>
Estas tags definem que o conteúdo que está entre elas deve ser organizado na forma
Os formulários podem conter qualquer formatação - parágrafos, listas, tabelas,
de tabela. Para a formatação da tabela podem ser colocados junto da tag <TABLE> os
imagens - exceto outros formulários.
seguintes atributos abaixo:
Em especial, colocamos dentro da marcação de <FORM> as formatações para
campos de entrada de dados, que são três:
align=(left/center/right): alinhamento da tabela em relação ao documento.
<input>
bgcolor: define uma cor para o segundo plano da tabela.
<select>
border=n: coloca uma borda com espessura n (padrão: sem borda).
<textarea>
cellspacing=n: espaçamento entre as células
A forma mais simples de campo de entrada é a marcação text utilizando a tag cellpading=n: espaçamento entre a borda de uma célula e seu conteúdo (padrão:
<input>. 1).
cols=n: número de colunas de uma tabela. permite o carregamento mais rápido de
A tag <input> tem um atributo TYPE, ao qual atribuímos seis valores diferentes
tabela muito grandes.
para gerar seis tipos diferentes de entrada de dados:
width=n/n%: largura da tabela.
Text
Radio
Checkbox Para criar uma linha em uma tabela, utilizamos a tag: <tr> ... </tr>. A abertura de uma linha da
Password tabela, possui as seguintes opções:
Hidden align=(left/center/right): alinhamento horizontal do conteúdo, tornando-se padrão
File para toda linha.
valign=(top/middle/bottom/baseline): alinhamento vertical do conteúdo, tornando-se
padrão para toda linha.
Além do atributo type, a tag <input> apresenta os seguintes atributos: bgcolor: define uma cor para o segundo plano para a linha.
<tr> </tr>
Uma tabela é formadas por linhas que são representadas pela tag <tr> e por células
(colunas) que são representadas pelas tags <th> ou <td>
As tags <th> e <td> também possuem os mesmos atributos da tag table: align,border,width,
bgcolor, etc.
<td> </td>
<th> </th>
<table border=1>
<tr>
<td>primeira coluna </td>
<td>segunda coluna </td>
<td>terceira coluna </td>
</tr>
<tr>
<td> primeira coluna</td>
<td>segunda coluna </td>
<td>terceira coluna </td>
<tr>
</table>
É possível englobar colunas e linhas, através dos atributos colspan (para colunas) e
rowspan (para linhas). Estes atributos são muito importantes pois nos possibilitam remodelar a
disposição das células dentro da tabela.
Veja exemplo:
b)
Apesar dos atributos HTML, presente nos elementos para criação de tabelas, estarem
disponíveis para formatação de cores, bordas, espaçamento, largura, altura e outros, a
recomendação é que TODAS AS FORMATAÇÕES POSSÍVEIS SEJAM REALIZADAS ATRAVÉS DO
CSS.
Veremos ainda neste capítulo os elemtnos CSS para formatação de bordas, margens e
espaçamentos e que podem ser aplicadas a formatação de tabelas.
DIV na verdade não causa nenhuma diferença visual no código. Ele é considerado um
"container", ou seja, uma espécie de "caixa" não visual que você pode, através de script,
alterar o conteúdo dele, alterando o código HTML dinamicamente. Ou então é usado para
aplicar um estilo (css) em todo o bloco HTML contido dentro do
Os sites atuais estão sendo produzidos, com a utilização de uma coleção de mais e
mais elementos div, em substituição as antigas tabelas que eram usadas para criar o layout de
c) um site. Para cada div é criada uma classe ou id no código css que contém o estilo de uma
determinada div no documento HTML. Nos próximos capítulos estudaremos com criar layouts
com DIVs e regras CSS.
#le As caixas podem conter ou estar contidas dentro de outras caixas. As caixas CSS são
{ constituídas por 04 (quatro) áreas retangulares, que se desenvolvem de dentro para fora, na
width:200px; ordem listada abaixo:
height:500px;
background-color:#F00; conteúdo;
} espaçamentos (padding);
bordas (border);
margens (margin).
O centro e a lateral direita possui a seguinte codificação CSS
#centro
{
width:400px;
height:500px;
background-color:#0FF;
position:absolute;
top:160px;
left:200px;
}
#ld
{
width:200px;
height:500px;
background-color:#630;
position:absolute;
top:160px;
left:600px;
}
Resultado:
Neste momento, vale ressaltar sobre as unidades de medidas que podem ser relativas
ou absolutas.
#cabecalho
Exemplos: {
width:800px;
div { margin: 1.5em; } height:130px;
h4 { margin: 2ex; } background-color:#06F;
p { font-size: 14px; } }
.classe { padding: 90%; }
h1 { line-height: 1.2em }
O containerGeral deverá ter uma regra de posicionamento. Usaremos o
p { font-size: 10px } posicionamento do fluxo do documento, posicionamento relative.
A margin é invisível, não possui cor de fundo e não esconde elementos. O menu, rodapé e lateral esquerda ficará assim:
A border permite visualizar os limites visíveis da box. #menu,#rodape
O padding define o espaço entre o conteúdo e o border. {
width:800px;
height:30px;
A única parte visível da box apresentada na imagem seria o border, portanto toda a
background-color:#0F6;
zona a tracejado não estaria visível. Veja exemplo do código CSS de uma classe chamada .box: }
.box
{
width: 100px;
</div> height: 50px;
border: 10px solid #ccc;
padding: 20px;
Se definirmos uma regra CSS position: relative para a div1 e position: absolute margin: 20px;
para a div2, a partir de agora a div2 se posicionará absolutamente em relação a div1, }
não mais em relação ao body da página.
Dessa forma ao configurarmos as propriedades: left, top, bottom e right, elas Agora o código HTML:
serão configuradas em relação a div1.
<p class="box">CONTEÚDO</p>
O esquema de posicionamento FIXO, posiciona um elemento fixadamente na
página em relação a janela, ou seja, independente de a pagina conter um scroll ou não,
o elemento sempre ficará visível ao usuário em relação as medidas definidas.
6.2. Layout
O primeiro passo para construir um layout css é definir como será o design da
página. O design de uma página pode ser feito em ferramentas(Fireworks, CorelDrawn,
Photoshop) apropriadas pra criação de design de páginas WEB ou mesmo em uma
folha de papel.
A PROPRIEDADE PARA MARGENS, define um valor para espessura das margens dos
elementos HTML.
.box
{
margin: 20px /* margem de 20px nos quatro lados */
margin: 15px 10px /* margem superior e inferior de 15px e
direita e esquerda de 10px */
margin: 15px 5px 10px /* margem superior 5px, direita e
esquerda 5px e inferior de 10px */
margin: 15px 5px 10px 20px /* margem superior 5px, direita
5px, inferior 10px e esquerda de 20px */
}
A PROPRIEDADE PARA ESPAÇAMENTOS, define um valor para os espaçamentos entre Considere a seguinte marcação HTML:
o conteúdo e as bordas dos elementos HTML.
Exemplos:
.box
Para que as imagens não sejam sobrepostas, podemos alterar o código CSS
{
para a seguinte forma:
padding-top: 20px;
padding-right: 30px;
padding-bottom: 5px;
#pos2{ padding-left: 10px;
position:absolute; }
top:100px;
left:143px;}
A propriedade padding também admite a sintaxe abreviada, a qual consiste em
declarar uma lista de valores separados por um espaço. Há quatro modos de se declarar
Como a imagem apresenta largura de 143px, o posicionamento a esquerda da abreviadamente os espaçamentos:
segunda imagem estará configurado com 143px, de forma que aparecerá logo em
seguida a apresentação da primeira imagem. padding: valor1 - os 4 espaçamentos terão valor1;
padding : valor1 , valor2 - espaçamento superior e inferior terão valor1 -
espaçamento direita e esquerda terão valor2
padding : valor1 , valor2 , valor3 - espaçamento superior terá valor1 -
espaçamento direita e esquerda terão valor2 - espaçamento inferior terá valor3
padding : valor1 , valor2 , valor3 , valor4 - espaçamento superior, direita, inferior e
esquerda nesta ordem.
.box
{
padding: 20px /* espaçamento de 20px nos quatro lados */
padding : 15px 10px /* espaçamento superior e inferior de
15px e direita e esquerda de 10px */
padding : 15px 5px 10px /* espaçamento superior 5px,
direita e esquerda 5px e inferior de 10px */
padding : 15px 5px 10px 20px /* espaçamento superior 5px, Podemos também alterar as referências do elemento posicionado, mudando as
direita 5px, inferior 10px e esquerda de 20px */ propriedades para right(direita) e bottom (inferior). Dessa forma, podemos fazer
} combinações para os quatro cantos da tela.
Qualquer unidade de medida CSS pode ser usada para posicionar, inclusive
A PROPRIEDADE BORDER define a espessura, a cor e o estilo das bordas do box. As
medidas relativas como são aquelas expressas em porcentagens.
propriedades para as bordas são as listadas abaixo:
Considere a marcação HTML a seguir. Para marcação HTML foi desenvolvida
border-width: espessura da borda
duas regras CSS.
border-style: estilo da borda
border-color: cor da borda Marcação HTML
Cada uma destas três características da borda pode ser declarada separadamente para
cada lado do box, conforme o slide a seguir: <img id="pos2" src="posicionamento.png"/>
Regra CSS
Borda superior:
#pos1
border-top-width: espessura da borda superior {position:absolute;
border-top-style: estilo da borda superior top:100px;
border-top-color: cor da borda superior left:0px;
}
Borda direita:
Borda esquerda:
Como as duas id criadas possuem posicionamento absoluto, e o
border-left-width: espessura da borda esquerda
posicionamento a esquerda é de 100px, as imagens se sobrepõem, ou seja são
border-left-style: estilo da borda esquerda
posicionadas uma em cima da outra.
border-left-color: cor da borda esquerda
color:
img
{
position:absolute;
top:100px;
left:100px;
}
Exemplos da propriedade border: Cor do texto vermelho
Fonte verdana de tamanho 12px
A borda inferior os itens do da lista serão traçadas, de espessura 1px e cor vermelha;
p {
border-style: solid; Após criar a regra acima, você deverá criar outra regra css
border-bottom-style: dashed; (efeito hover) de forma que ao passar o mouse sobre os
border-color:#00FF33 elementos da lista, a imagem de marcador da lista, a borda
border-top-color:#FF00BB inferior o texto estejam na cor verde.
border-bottom-width: 10px;
border-top-width: 0px; border-right-width: 0px; Para testar a regra acima, crie uma lista não numerada com
border-left-width: 0px; 5 itens: Exemplo:
}
1 Kg de Batatas
2 Ovos
Podemos declarar todas as três propriedades das bordas em uma regra única. A
1 Xícara de Leite
sintaxe geral é:
200 gramas de farinha de trigo
border: size style color 1 colher de sopa de manteiga
Exemplo:
p { border: thick groove #FF0033 } Questão 06: O site Globo.Com utiliza um efeito hover para adicionar uma borda a uma
imagem e sublinhar o texto relativo a um link que irá direcionar a uma outra página.
A seguir será apresentado uma série de efeitos em cabeçalhos que podem ser
Veja exemplo:
realizados através da configuração de bordas.
BORDA SIMPLES:
h1
{
border-bottom-style:solid;
border-bottom-width:1px;
border-bottom-color:#009966;
}
BORDA DUPLA:
h1
{
border-bottom-style:solid;
border-bottom-width:1px; Utilizando o exemplo acima, crie uma página HTML que produza o mesmo efeito
border-bottom-color:#009966;
apresentado.
BORDAS COM ESTILOS DIFERENTES E FUNDO: 5.4. Exercícios práticos
h1
{ Questão 01. Criar uma regra CSS para formatação de parágrafos utilizando as
background-color:#CCCCCC; seguintes configurações:
border-bottom-style:solid;
border-bottom-width:2px; Borda Esquerda: Espessura de 20em, na cor verde e estilo solid.
border-bottom-color:#009966; Borda Direita: Espessura de 20em, na cor vermelha e estilo solid.
border-top-style:dotted; Largura: 60%
border-top-width:2px; Altura: 400px;
border-top-color:#009966; Tamanho da fonte: 12px;
} Espaçamento entre letras: 3em;
Espaçamento entre palavras: 4ex;
Altura dos blocos: 3em;
Alinhamento do texto: justificado
Tipo de fonte Verdana
Endentação do texto: 25px;
BORDAS COM IMAGEM DE FUNDO: Por fim adicione aos pseudo-elementos :firstletter e :firstline, as
seguintes configurações:
h3 :firstletter
{ Tamanho da Fonte: 36px
border-bottom-style:solid; Cor da fonte: azul
border-bottom-width:2px; Decoração do texto: overline
border-bottom-color:#999999;
padding-left:25px; :firstline
background-image:url(square_arrow.gif); Decoração do texto: underline
background-repeat:no-repeat; Capitalização do texto: todos os caracteres em caixa alta
}
Questão 02. Criar regras css para os seguintes links:
a:hover,a:active
{
text-decoration:underline; A propriedade border-radius disponibilizada na versão CSS 3 permite criar bordas
} arredondadas.
Como exemplo usaremos uma DIV e configuramos o código Css para apresentação da
Além de alterar o sublinhado, podemos alterar cor, fundo, fonte entre outras borda.
propriedades css usando estas pseudoclasses.
#bordasArredondadas
Efeitos rollover: para criar um efeito rollover simples podemos definir uma cor de {
fundo para o estado hover do link. Veja na regra css abaixo: width:400px;
height:150px;
background-color:#09F;
border-radius:10px;
a:link,a:visited
}
{
text-decoration:none;
border-width:1px; <div id="bordasArredondadas">
border-color:#000000;
border-style:solid;
background-color:#009900; Assim como as propriedades margin, padding e border, é possível definir valores
color:#FFFF00 diferentes para cada canto:
}
border-radius-topleft: para o canto superior esquerdo
table
{
border-style:solid;
border-color:#0066FF;
OBSERVAÇÃO IMPORTANTE: As pseudoclasses podem ser utilizadas em qualquer border-width:2px;
seletor css. Podem ser aplicados várias regras CSS aos efeitos HOVER em links, a citar: }
tr td,tr th
Alterar plano de fundo {
Alterar tamanho da fonte do texto border-style:solid;
Alterar fonte border-color:#0099FF;
border-width:1px; p:first-line
} {
color: #0000FF;
font-variant: small-caps;
text-decoration:overline;
font-family:"Courier New", Courier, monospace;
}
O elemento âncora juntamente com o atributo href têm a função de criar links em um
documento. Para estilizarmos links em uma página, é fundamental a utilização de pseudo-
classes.
5.3. Pseudo-elementos
A sintaxe dos pseudo-elementos é: Questão 03. Utilizando Divs/Tabelas e regras CSS, cria uma página HTML para
seletor:pseudo-elemento {propriedade: valor;}
apresentar um menu conforme a imagem abaixo:
Adicione também links externos ou internos (OBS: De livre escolha) para cada um
O pseudo-elemento first-letter é usado para obter um efeito especial na primeira letra dos itens do menu.
de um texto.
Questão 04. Utilizando tabelas e regras CSS, crie uma página HTML que apresente o resultado
p:first-letter mostrado na imagem a seguir:
{
font-size:300%;
color:#6666FF ;
font-weight:bold;
border-width:2px;
border-style:solid;
border-color:#009966;
}
HTML aceita listas que podem ser numeradas e não numeradas, sendo possível,
inclusive, incluir sub-itens nas listas.
As listas não numeradas são declaradas no HTML pelas tags <ul> <li>
Exemplo:
ul
{
list-style-type:circle;
}
ol, ul{list-style-type:circle;}
Além dos tipos padrões de marcador de uma lista, podemos definir uma pequena
imagem como marcador de uma lista. Essa propriedade substitui automaticamente o
marcador padrão por uma imagem construída.
ul
{
list-style-type:none;
list-style-image:url(target.png);
font-weight:bold;
color:#FF0000;
}
A propriedade letter-spacing controla o espaçamento entre letras de um texto. Veja 5. ESTILIZAÇÃO DE TEXTOS, LISTAS E PSEUDO-ELEMENTOS
exemplo:
p
{ 5.1. Estilização de textos
letter-spacing:10px;
}
As propriedades para textos, definem as características dos textos inseridos dentro dos
elementos HTML:
p
{
word-spacing:30px; Em relação ao alinhamento, temos a propriedade text-align que controla o
} posicionamento horizontal do conteúdo de um elemento nível de bloco. Os valores possíveis
são:
left
right,
Center
justify
inherit(um valor herdado).
A propriedade line-height controla a altura dos blocos contidos dentro de um elemento nível Esta propriedade coloca os textos às esquerda, direita, centralizado ou justificados em
de bloco. relação ao container onde está localizado. No exemplo abaixo, foi criado quatro classes para
p alterar o alinhamento do texto através da propriedade text-align:
{
line-height:30px;
} .centro
{text-align:center;}
.direita
{text-align:right;}
.esquerdo
{text-align:left;}
.justificado
{text-align:justify;}
Outra propriedade de alinhamento é a text-indent que define uma endentação para Outro efeito em texto é a propriedade text-transform que controle os efeitos de
primeira linha do texto contida em um bloco. Para configurá-lo, adicionamos um medida CSS capitalização dos textos. Os valores possíveis dessa propriedade são:
de comprimento,porcentagem ou um valor herdado.
none;
CSS capitalize(primeiro caractere em caixa alta);
.exemplo{text-indent:100px;} uppercase(todos os caracteres em caixa alta);
lowercase(caracteres em caixa baixa)
inherit
HTML:
<p
Exemplo:
Os dois primeiros valores são as coordenadas top left, para onde a sombra será
No CSS: projetada. O terceiro valor é o efeito blur da sombra e q quarto valor é a cor da sombra.
.linhacortando{text-decoration:line-through;} Por último temos ainda a propriedade direction controla a direção do texto e apresenta os
.duaslinhas{text-decoration: overline underline;} seguintes valores:
.piscar{text-decoration:blink;}
ltr: texto escrito da esquerda para a direita
rtl: texto escrito da direita para a esquerda
No HTML:
Exemplo:
<p class="linhacortando">Linha cortando</p>
<p class="duaslinhas">Duas linhas</p> p{
<p class="piscar">Piscar</p> direction:rtl;
}
Resultado no Navegador:
As regras CSS dispõem de mecanismos para controle de espaçamentos em fontes e
textos, seja na vertical quanto na horizontal. Para controlar o espaçamento entre letras e
parágrafos de um texto utilizamos as propriedades:
letter-spacing;
word-spacing;
line-height