Académique Documents
Professionnel Documents
Culture Documents
2
CAPÍTULO 1: Introdução...................................................................................................2
O que é HTML?..............................................................................................................2
O que é o CSS?...............................................................................................................2
O que é W3C?.................................................................................................................2
Exercicios........................................................................................................................3
CAPÍTULO 2: Tags............................................................................................................4
O que são TAGS?............................................................................................................4
Estrutura básica de um HTML........................................................................................4
TAGS de texto.................................................................................................................8
Tags de estrutura...........................................................................................................15
Tags de tabela................................................................................................................18
Propriedades das tabelas...............................................................................................28
Tags de formulário........................................................................................................32
Linkagem de páginas.....................................................................................................37
Exercício.......................................................................................................................39
CAPÍTULO 3: CSS...........................................................................................................40
Seletores........................................................................................................................40
Propriedades do CSS.....................................................................................................48
Exercício.......................................................................................................................64
HTML
CAPÍTULO 1: Introdução
O que é HTML?
HTML, HyperText Markup Language, é uma linguagem criada para manipular e formatar a
informação de texto na internet, onde através de tags conseguirmos organizar e formatar
nosso texto, deixando ele justificado, em itálico, alinhado à esquerda ou qualquer outra
formatação que se queira.
Através desta formatação conseguimos também diagramar nossos sites, dividir o conteúdo,
criar link`s enfim, dar forma e cor ao nosso site, porém para exibir isso ao usuário,
precisamos de um software que interprete estas marcações e desenhe tudo que
configuramos na tela, estes software`s são chamados de Browsers, ou navegadores.
Os Navegadores mais famosos hoje em dia são FireFox, Internet Explorer e Google
Chrome, cada um tem sua maneira de interpretar o HTML, porém todos seguem os padrões
e especificações da W3C tornando assim mais fácil o desenvolvimento de sites para
diversas plataformas.
O que é o CSS?
CSS ou Cascading Style Sheets é uma forma de organizarmos as formatações de nosso site,
organizando toda a estrutura e cores de forma modular, facilitando assim criação de
estruturas diversas. O CSS assim como HTML também é um arquivo de texto, com uma
formatação específica, o CSS é interpretado linha por linha, aonde cada linha é executada
em tempo real e cada configuração aplicada de acordo com os itens expostos na pagina.
Básicamente devemos utiliza-lo para alterar os estilos da pagina, que podem ser, bordas,
fontes, margens internas, margens externas e etc..
O que é W3C?
W3C é um consórcio de várias empresas que tenta estabelecer os padrões de como o
HTML, CSS e JavaScript devem ser interpretados, fazendo assim que os navegadores
tenham parâmetros à seguir e não implementem os comando da forma como bem
entenderem.
O consórcio foi formado pois existia uma grande divergência sobre o que e como as
paginas deveriam ser construidas e não havia um padrão concreto, na época de sua criação
Netscape e Internet Explorer faziam uma corrida pelas funcionalidades implementadas,
como não tinhamos nenhuma especificação cada um implementava as funções e parâmetros
como bem entendiam, fazendo com que as paginas feitas com funcionalidades especificas
de um Navegado não funcionasse no outro e vice-versa.
A guerra vencida e com a saída do Netscape do mercado de Navegadores, sobrou para o
Internet Explorer a culpa e a marca de vilão da bagunça que a WEB tinha se tornado, aonde
era uma prática herculeana construir sites para diversos navegadores. Desde então a
Microsoft vem trabalhando para se adequar aos padrões de forma que as funcionalidades
presentes até então somente no Internet Explorer parassem de funcionar pouco-a-pouco nas
versões seguintes, mas ainda não é uma tarefa nada fácil construir um site dentro dos
padrões que funcione perfeitamente em todos os navegadores, mas agora com os padrões
bem definidos da W3C já é possível construir um site bem estruturado com funcionalidades
básicas.
Exercicios
1. Porque o Internet explorer tem uma fama de péssimo navegador para os
desenvolvedores?
4. O que é W3C?
CAPÍTULO 2: Tags
O que são TAGS?
Tag é a forma que encotramos para formatar nosso texto de forma que este pudesse ser
fácilmente editado e entendido, possibilitando criar também tabelas, inserir imagens,
vídeos, animações FLASH e outros itens normais de uma pagina.
Todas as tags em HTML iniciarão com um caracter < (menor que) e terminará com >
(maior que) e para cada coisa que se deseja fazer existe uma tag correspondente, devendo
assim utilizar cada uma de forma adequada.
DOCTYPE
Na época anode cada empresa criava seu padrão de processamento do HTML não havia
maneira de identificar em qual versão eu estava escrevendo meu código então ficava a
encargo do Navegador processar o código e identificar qual a melhor forma de trabalhar
esta informação, sendo assim foi criado o DOCTYPE, estavamente para especificar o tipo
de documento, facilitando na tradução do mesmo.
Hoje em dia por padrão utiliza-se HTML 4.1 e para identificar este documento utilizaremos
o seguinte código:
Como este é um código comum em todas as paginas não precisamos decorar ele, basta
copiar das paginas já feitas, para consultar quais as restrições de utilizar esta versão do
HTML acesse o site http://www.w3.org/TR/html401/struct/global.html ele mostra toda a
documentação do HTML 4.01
<html>
Esta é a tag que marca o inicio do HTML, todo o conteúdo do site deverá estar dentro desta
TAG, por regra, o que estivesse fora dele não deveria ser processado pelo navegador, o que
infelizmente não ocorre na maioria dos navegadores.
Código:
<head>
Esta tag demarca o inicio do cabeçalho HTML, tudo aqui será processado antes do corpo do
da pagina em si e é aonde devemos especificar o tipo de caracteres que vamos trabalhar,
além do titulo e outras informações que devem vir apenas no <HEAD>, como vemos a
seguir.
Código:
A tag HEAD deverá ser utilizada para agrupar algum conjunto de tags que podem ser
utilizados ou não, dependendo do conteúdo desta.
<meta> - Esta é uma tag com diversas funcionalidades, mas servirá neste curso
básicamente para especificarmos o charset com o qual a pagina deve ser processado.
Durante este curso iremos utilizar o charset UTF-8, mas existem vários outros que podem
ser utilizados, para obter mais informações sobre charset acesse o seguinte endereço:
http://www.w3.org/TR/REC-html40/charset.html
Código:
<title> - Como o próprio nome já explica, através desta tag podemos definir qual será o
título de nossa pagina, este titulo será mostrado pelo navegador, como titulo da janela.
Código:
Resultado:
Código:
type – Esta propriedade servirá para indicar ao navegador que tipo de arquivo ou conteúdo
se trata este script, neste curso trabalharemos somente com JavaScript que é o padrão atual
em todos os navegadores portanto preencheremos a tag sempre com text/javascript.
<link> - A tag link é semelhante a tag <script> porém ela servirá para importarmos uma
folha de estilo (.CSS), que utilizaremos para especificar as formas e cores das nossas
paginas.
Código:
<link href="css/default.css" rel="stylesheet" type="text/css">
Este código é bastante simples, sendo necessário especificar 3 propriades para a tag sendo:
rel – a propriedade rel é bem comum no HTML, serve para relacionarmos determinada tag
com algo, sendo assim sempre preencheremos neste caso com stylesheet, para que o
navegador consiga relacionar o <link> como uma folha de estilos.
type – assim como no <script> temos que especificar como este arquivo deverá ser
interpretado para o navegador e mais uma vez temos o valor padrão text/css.
<body>
A tag body especifica o inicio do corpo de nosso HTML, portanto tudo que especificarmos
dentro desta tag será interpretado como conteúdo da pagina, além disso podemos
especificar aqui algumas propriedades de nosso corpo, porém é recomendado utilizar o CSS
na maioria dos casos, sendo alguns:
onload – esta é uma propriedade que chamamos de trigger html ou podemos chamar de
evento, enfim, quando especificamos um onload para o body indica que ao término do
processo da pagina será executado o seu conteúdo, como podemos ver no código a seguir:
Código:
Resultado:
TAGS de texto
<p> - A tag P indica um paragrafo, toda vez que a iniciarmos, será dado um espaço
equivalente ao mesmo, sendo que para indicar o fim do paragrafo devemos utilizar </p>
como mostra o exemplo
Código:
Resultado:
<strong>, <b> - A tag Strong nos permite colocar parte de um texto em negrito e para
informamos que a parte em negrito acabou devemos utilizar </strong>
Código:
Resultado:
Observe que somente a parte que esta entre a tag <strong> foi colocado em negrito,
tornando assim mais fácil formatarmos nosso texto.
<i>, <em> - A tag I ou EM servirá para definirmos um texto como itálico, da mesma forma
que o <strong> devemos encerrar a tag com </i>, observe que em todas as tags o
encerramento é o seu nome, porém no ínicio colocamos uma / que indica ao navegador que
aquela tag em específico indica o término de outra.
Código:
Resultado:
<u> - A tag U deverá ser utilizada para deixar parte do texto com sublinhado, que da
mesma forma dos anteriores deverá ser encerrado com sua tag porém acrescentando uma
barra (/)
Código:
Resultado:
<font> - Alguns programadores acreditam que as tag`s <strong>, <b>, <i>, <em> e <u>
deveriam ser substituidas pela tag font pois com esta somada ao CSS é possível fazer as
funcionalidades de todas as outras tags, a vantagem da eliminação das outras seria que o
estilo estaria focado no CSS e a desvantagem é que o estilo estaria focado no CSS, explico,
imagine que você tem um texto enorme e todas as vezes que precisarmos um texto negrito
tenhamos o seguinte código <font class=’fBold’></font> a principio parece simples
identificar que aquela class em especifico é para deixar o texto negrito, mas com o decorrer
do textos, surgiram tantas variações de classes, que ficou algo assim <font
class=’fBoldGreenItalic’>, já fica complicado saber o que a class faz, certo? Ao contrário
de: <strong><i><font style=’color: green;’> você consegue fácilmente saber o que este
código esta fazendo. Porém a manutenção deste código é horrivel, imagine que tenhamos
que mudar todos os textos que estão negrito, itálico e verde para normal, sublinhado e azul,
com CSS bastaria mudar o class e estaria modificado em todo o documento, já no outro
teriamos que modificar item por item.
Por padrão utilizaremos o CSS, pois prezamos aqui pela facilidade de manutenção e não
pela legibilidade do código, veja um exemplo de código utillizando a tag font.
Código:
<style type="text/css">
.bold {
font-weight: bold;
}
.italic {
font-style: italic;
}
</style>
<p>Este é um <font class="italic">parágrafo</font></p>
<p>Este é outro <font class="bold">parágrafo</font></p>
Resultado:
<h1>, <h2>, <h3> e etc.. – As tags listada a esquerda são para identificarmos os titulos do
texto, para cada nível de título podemos ter um estilo diferente, configurado no próprio
CSS.
Código:
<h1>Título 1</h1>
<h2>Sub-Título</h2>
<p>Este é um <i>parágrafo</i></p>
<h2>Sub-Título</h2>
<h3>Outro Sub-Título</h3>
<p>Este é outro parágrafo</p>
Resultado:
<ul>, <li>, <ol> - Estas tags são utilizadas para criação de listas ou de menus de navegação
do site, podendo ser facilmente estilizadas com CSS é a melhor forma de organizar o
conteúdo do site.
Código:
<ul>
<li>Item 1</li>
<ol>
<li>Sub-item 1
<ol>
<li>Sub-item 1</li>
<li>Sub-item 2</li>
<li>Sub-item 3</li>
<li>Sub-item 4</li>
<li>Sub-item 5</li>
</ol>
</li>
<li>Sub-item 2</li>
<li>Sub-item 3</li>
<li>Sub-item 4</li>
<li>Sub-item 5</li>
</ol>
<li>Item 2</li>
<li>Item 3</li>
<li>Item 4</li>
<li>Item 5</li>
</ul>
Resultado:
<br /> - BR é uma tag diferente das outras já sitadas, ela não tem nenhum conteúdo dentro,
por isso ela já é fechada logo em sua declaração inicial, a tag <br> é básicamente para gerar
uma quebra de linha em um parágrafo.
Código:
Resultado:
Tags de estrutura
<div> - A div define um bloco aonde podemos ter textos, listas ou imagens ou até mesmo
um agrupamento de outras divs, desta forma, então podemos definir que tudo que estiver
dentro deste bloco deverá seguir uma determinada regra, veja o exemplo:
Código:
<style type='text/css'>
.redText {
color:red;
}
</style>
<div class='redText'>
<p>Este é um parágrafo</p>
<p>Este é outro parágrafo</p>
</div>
<p>Este é um parágrafo</p>
<p>Este é outro parágrafo</p>
Resultado:
Observe que somente os parágrafos que estavam dentro da DIV mudaram de cor.
A div é uma das tags mais importantes na formatação do nosso layout, pois utilizaremos ela
para construir a estrutura no nosso site, definindo através dela as áreas de navegação.
<span> - O span tem um funcionamento parecido com o da DIV, porém ele é utilizado não
para formar um bloco e sim uma linha.
Código:
<style type='text/css'>
.redText {
color:red;
border: 1px solid;
}
</style>
<span class='redText'>
Este é um parágrafo
</span>
<p>Este é um parágrafo</p>
<p>Este é outro parágrafo</p>
Resultado:
Observe que coloquei apenas uma linha dentro do Span, e coloquei uma borda para
destacar bem qual área ele esta ocupando, vejamos agora qual seria o comportamento dele
com duas linhas:
Código:
<style type='text/css'>
.redText {
color:red;
border: 1px solid;
}
</style>
<span class='redText'>
Este é um parágrafo<br />
Este é um parágrafo<br />
</span>
<p>Este é um parágrafo</p>
<p>Este é outro parágrafo</p>
Como o SPAN não é feito para ter mais de uma linha, cada navegador tenta resolver o
“problema” de uma forma, não gerando um resultado muito agradável em nenhum dos
casos, sendo que no Firefox é gerado o resultado mais correto e que é utilizado em outros
navegadores como Chrome ou Flock.
Tags de tabela
As tabelas, originalmente concebidas para organizar a informações no formato de linha e
coluna, foram amplamente utilizadas no começo do HTML para criação das estruturas do
site, o que deixava o código bem sujo e desorganizado, em meados de 2003 começaram a
surgir varias frentes pelo mundo, doutrinando e evangelizando a utilização de div`s para a
criação da estrutura.
Na época foi considerado uma maluquisse que nunca seria viável, tudo isso pelas
complicações geradas na utilização de divs, agora era necessário utilizar CSS para
estruturar o site, um modelo de estruturação tão pouco difundido agora era fundamental
para os programadores “modernos”, então iniciou-se a busca pelo conhecimento de como
utilizar de forma correta esta linguagem que aprendemos agora e a tabela voltou a ser
somente uma tabela.
<table> - Indica o ínicio de uma tabela, sendo necessário encerrar ela com </table>, a tabela
apenas agrupa outras tags de tabela na formação de sua estrutura, não podendo ser incluido
nenhum conteúdo nela.
Código:
<table>
</table>
Resultado:
Como podemos ver, a tag sozinha não representa nada, servindo apenas para estruturar
nossa tabela.
<thead> - Indica que estamos iniciando o cabeçalho de nossa tabela, também sendo
obrigatório encerramos esta tag com </thead> e como na tag <table> não é possível inserir
conteúdo servindo apenas para agrupar outras tags, obrigatóriamente estar dentro de uma
tag <table>
Código:
<table>
<thead>
</thead>
</table>
Resultado:
<tbody> - Mais uma tag de agrupamento, esta será utilizada para agruparmos as linhas e
colunas referentes ao conteúdo da tabela e como a tag <thead> deverá estar sempre dentro
da tag <table> e sempre deverá ser encerrada com </tbody>.
Código:
<table>
<thead>
</thead>
<tbody>
</tbody>
</table>
Resultado:
Como todas as tags de agrupamento o resultado não influencia no visual da pagina.
<tfoot> - Esta assim como <tbody> e <thead> é uma tag para agruparmos as linhas e
colunas referentes ao rodapé da pagina e deverá sempre ser encerrada como </tfoot>
Código:
<table>
<thead>
</thead>
<tbody>
</tbody>
<tfoot>
</tfoot>
</table>
Resultado:
<caption> - Uma tag não muito utilizada, porém muito útil, ela serve para indicarmos um
“titulo” para a nossa tabela, sendo mais fácil centralizar e apresentar do que criar um
<span> ou <p> para isso
Código:
<table>
<caption>Título</caption>
<thead>
</thead>
<tbody>
</tbody>
<tfoot>
</tfoot>
</table>
Resultado:
<tr> - O TR servirá para criarmos uma linha na tabela, ele também é uma tag de
agrupamento, mas desta vez ele irá agrupar nossas colunas.
Código:
<table>
<caption>Título</caption>
<thead>
<tr>
</tr>
</thead>
<tbody>
<tr>
</tr>
</tbody>
<tfoot>
<tr>
</tr>
</tfoot>
</table>
Resultado:
Como podemos ver assim como todas as tags de agrupamento ela não representa nada em
nossa pagina.
<th> - A tag TH é uma coluna responsável por criar uma coluna de cabeçalho, a diferença
desta para as outras colunas é que por padrão seu conteúdo será em negrito e centralizado,
ele deverá ser encerrado com o </th> e deverá sempre estar dentro de uma tag <tr>
Código:
<table width="100%">
<caption>Título</caption>
<thead>
<tr>
<th>Coluna Cab. 1</th>
<th>Coluna Cab. 2</th>
</tr>
</thead>
<tbody>
<tr>
</tr>
</tbody>
<tfoot>
<tr>
</tr>
</tfoot>
</table>
Resultado:
A tag th também pode ser utilizada no rodapé da tabela, dando assim o mesmo efeito do
cabeçalho.
Código:
<table width="100%">
<caption>Título</caption>
<thead>
<tr>
<th>Coluna Cab. 1</th>
<th>Coluna Cab. 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>1:1</td>
<td>1:2</td>
</tr>
<tr>
<td>2:1</td>
<td>2:2</td>
</tr>
</tbody>
<tfoot>
<tr>
<th>Rodapé Col 1</th>
<th>Rodapé Col 2</th>
</tr>
</tfoot>
</table>
Resultado:
<td> - Esta é uma coluna padrão, seu conteúdo virá sem nenhuma formatação e sempre
deverá ser encerrada com </td>, toda <td> deverá sempre estar dentro de uma <tr>(linha)
Código:
<table width="100%">
<caption>Título</caption>
<thead>
<tr>
<th>Coluna Cab. 1</th>
<th>Coluna Cab. 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>1:1</td>
<td>1:2</td>
</tr>
<tr>
<td>2:1</td>
<td>2:2</td>
</tr>
</tbody>
<tfoot>
<tr>
</tr>
</tfoot>
</table>
Resultado:
as TD`s poderão ser utilizadas também no rodapé caso não precisem de destaque
Código:
<table width="100%">
<caption>Título</caption>
<thead>
<tr>
<th>Coluna Cab. 1</th>
<th>Coluna Cab. 2</th>
</tr>
</thead>
<tbody>
<tr>
<td>1:1</td>
<td>1:2</td>
</tr>
<tr>
<td>2:1</td>
<td>2:2</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Rodapé Col 1</td>
<td>Rodapé Col 2</td>
</tr>
</tfoot>
</table>
Resultado:
Propriedades das tabelas
<table cellspacing=”5”>
O cellspancing irá atuar com a disância entre uma celula e outra e será aplicado a toda a
tabela.
Código:
<table cellpadding=”5”>
Com o cellpedding poderemos mudar o espaço interno de cada celula (TD), permitindo
assim afastar ou aproximar as informações da borda.
Código:
<TD colspan=’2’>
Com o colspan poderemos unir duas colunas, de forma que esta se torne uma só, como se a
linha tivesse apenas uma coluna.
Código:
Resultado:
<TD rospan=’2’>
O rowspan fará o mesmo que o colspan, porém irá unir 1 ou mais colunas entre as linhas.
Código:
Resultado:
Tags de formulário
<form> - A Tag Form é um agrupador de campos (fields) e portanto não gera nenhuma
interferência no visual da pagina, todos os campos que corresponderem a um determinado
formulário devem estar entre a tag <form> e </form> e nunca poderemos ter um <form>
dentro de outro.
O Form também é responsável por definir como os dados serão enviados e para onde ele
será enviado devendo passar estas informações através do parâmetros method e action
respectivamente.
Method
O atributo method define como os dados serão enviados, podendo ser post ou get, sendo
que POST irá enviar os dados através do cabeçalho e o get irá formar uma querystring com
os campos sendo:
Exemplo 1:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method=”get” action=”index.php”>
<input type=”text” name='teste' value='teste' />
<input type='submit' name='enviar' value='Enviar' />
</form>
</body>
</html>
Neste primeiro exemplo estamos enviando o campo teste com o valor teste para index.php
através do método POST.
Exemplo 2:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method=”get” action=”index.php”>
<input type=”text” name='teste' value='teste' />
<input type='submit' name='enviar' value='Enviar' />
</form>
</body>
</html>
Já este exemplo estamos enviando o campo teste com o valor teste para index.php via
método GET, observe que neste exemplo, ao clicar em submit a pagina será encaminhada
para index.php, porém teremos o campo get especificado no endereço, então seriamos
encaminhados para index.php?teste=teste&enviar=Enviar
<input> - Input é o principal tipo de campo que nós temos e será utilizado na maior parte
das vezes sendo sua sintax bem simples e contando com algumas poucas propriedades.
Id – a propriedade ID é única em cada campo, sendo que ao decidirmos que o campo X terá
o id txtCampoX não poderá haver outro id igual na pagina, seu preenchimento deve seguir
o padrão que não permite caracteres especiais nem espaço e o primeiro caracter não pode
ser numérico.
name – Name serve para definirmos o nome do campo dentro daquele formulário, desta
forma poderemos identificar quando tivermos que processar as informações no PHP. Este
pode ser preenchido com qualquer coisa, e para decidir seu nome seguimos as mesmas
regras do campo id.
value – aqui será armazenado o valor do inserido no campo, ele pode iniciar já com algum
valor ou, caso o usuário digite algo no campo este valor poderá ser recuperado através desta
propriedade.
Type – Existem vários tipos de de input`s, sendo cada um para uma utilidade, sendo que
por padrão o input será do tipo text que permite a inserção de texto livre, veja abaixo outros
tipos:
Text – como já citado o campo com type igual a text permite a digitação de texto livre.
radio – Este tipo é do tipo de seleção, ele permite que você relacione outros inputs
deixando assim que somente um seja selecionado pelo usuário.
checkbox – Semelhante ao radio, porém permite que várias opções sejam selecionas.
file – Esta tag nos permite selecionar um arquivo para ser enviado junto com a pagina,
como na maioria dos portais aonde enviamos nossas fotos, porém para ele funcionar
devemos informar uma outra propriedade na tag form sendo esta
enctype='multipart/form-data' assim informamos ao navegador que o form esta enviando
arquivos também.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method=”get” enctype='multipart/form-data' action=”index.php”>
<input type="file" name='foto_produto' id='foto_produto'></textarea>
<input type='submit' name='enviar' value='Enviar' />
</form>
</body>
</html>
Resultado:
<select> - O campo Select, comumente chamado de combobox ele permite crier uma lista
de opções permitindo que o usuário selecione uma ou mais opções, como este campo
também é tratado como um input ele possui as mesmas propriedades do input, tendo
também como propriedades obrigatórias o Id e o Name.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method=”get” action=”index.php”>
<select name="nomedoselect" id="nomedoselect">
<option value=1>Carro</option>
<option value=2>Moto</option>
<option value=3>Barco</option>
</select>
<input type='submit' name='enviar' value='Enviar' />
</form>
</body>
</html>
Resultado:
Observe que para cada opção que apresentamos no select também utilizamos a tag
<option> a tag option é formada apenas da proidade value e seu conteúdo.
<textarea> - Agora com o nosso último tipo de input, assim como os outros ele tem como
propriedade obrigatória o name e o id seguindo as regras de nomeclatura, além destas
propriedades também podemos especificar as rows ou seja, o número de linhas que serão
apresentadas em tela e as cols que são o número de colunas apresentadas, determinando
assim o tamanho do input.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<form method=”get” action=”index.php”>
<textarea name='de_produto' id='de_produto'></textarea>
<input type='submit' name='enviar' value='Enviar' />
</form>
</body>
</html>
Resultado:
Linkagem de páginas
O grande avanço na internet foi a criação de hyperlinks que com um clique nos permitia
abrir uma nova pagina, os hyperlinks podem estar em textos, palavras ou imagens e para
criarmos eles precisamos utililizar a tag <a>
Esta tag pode ser utilizada para links para outra pagina ou dentro da própria pagina, as
chamadas âncoras.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<a href="http://www.terra.com.br">Página do Terra</a>
</body>
</html>
Resultado:
Âncora
As âncoras é muito útil para navegação dentro do texto, ou dentro de uma pagina pequena,
aonde não se justifica a criação de um novo arquivo para aquele conteúdo em especifico,
para criarmos uma âncora devemos ter duas tags <a> sendo que uma é o link e a outra é o
destino do link, veja o exemplo a seguir.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
</head>
<body>
<a href="#titulo1">Título 1</a>
<br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br
/><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br
/><br /><br /><br /><br /><br />
<a name='titulo1' />
<h1>Título 1</h1>
<p>
texto texto texto
</p>
</body>
</html>
Resultado:
Após o click:
Exercício
1) Defina para que serve as seguintes tags:
a. <body>
b. <form>
c. <input>
d. <ul>, <li>
e. <tr>
f. <td>, <th>
g. <span>
h. <p>
2) Monte um arquivo HTML com uma lista de itens presentes na sala de aula
separados em sub-itens por: Informática, papelaria e outros.
3) Monte em outro arquivo HTML uma tabela com 4 colunas e 10 linhas que
contenham, os nomes, sobrenome, idade e email das pessoas da sala.
5) Agora vamos definir a estrutura inicial de nosso site, aonde teremos na index a
seguinte estrutura que será seguida em todas as páginas:
#Cabeçalho
#Outras ofertas
#Categorias e #Destaques e promoçoes
sub-categorias #Formulário de login
#Lançamentos
#Rodapé
Esta estrutura deverá ser criada através de <DIVS> e outras tags, a formatação será
feita num próximo capítulo
Esta é a visão final que será data, dê um id para cada DIV e preencha pelo menos
com um <h1> com o título de cada área.
CAPÍTULO 3: CSS
Seletores
O CSS básicamente modela a estrutura do site através das propriedades das tags, sendo
estas geralmente as id e class, cada uma com seu devido proposito sendo o id utilizado
quando queremos mudar o estilo de um único item na página e o class de um conjunto de
itens.
Além das propriedades, podemos usar também a tag para agrupar diversos itens com a
mesma tag em um grupo.
Nos exemplos a seguir utilizaremos um código padrão (que foi baseado no último exercício
do capítulo 2) para acompanharmos a mudança no layout e suas implicações.
Cödigo:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<script type="text/javascript" src="/js/jquery.js"></script>
<link href="css/default.css" rel="stylesheet" type="text/css">
<style>
</style>
</head>
<body>
<div id='main'>
<div id='header'>
<h1>Header</h1>
</div>
<div id='nav'>
<h1> Menu</h1>
</div>
<div id="body">
<h1>Body</h1>
<p>Texto de exemplo Texto de exemplo Texto de exemplo Texto de exemplo
Texto de exemplo Texto de exemplo Texto de exemplo Texto de exemplo Texto de
exemplo <br /> Texto de exemplo Texto de exemplo Texto de exemplo Texto de
exemplo Texto de exemplo </p>
</div>
<div id='offer'>
<h1>Ofertas</h1>
</div>
<div id='foot'>
<h1>Rodapé</h1>
</div>
</div>
</body>
</html>
Resultado:
O primeiro seletor que utilizaremos será o seletor que modifica o layout através da tag,
neste exemplos modificaremos todos os itens que utilizam da tag <h1>.
Para facilitar a leitura o código padrão só será modificado dentro da tag <style> e só esta
será mostrada nos exemplos.
Código
<style>
h1 {
font-family: Verdana;
text-decoration: underline;
}
</style>
Resultados:
Veja que apenas utilizando o selector h1, conseguimos mudar a fonte e sublinhar o texto.
h1 {
font-family: Verdana;
text-decoration: underline;
}
na primeira linha declaramos qual tag queremos modificar, no caso h1, em seguida abrimos
as chaves ({) demos um enter e inserimos as propriedades que queriamos mudar naquela
tag e logo fechamos com uma outra chave (}).
A sintax é bem simples e nos permite entender bem o que aquelas 4 linhas fazem com o
código, lembrando que podemos aplicar as mesmas propriedades a outras tags que ficaria
da seguinte forma:
h1, p {
font-family: Verdana;
text-decoration: underline;
}
e o resultado seria:
Mas por enquanto vamos manter a modificação apenas no H1 e vamos modificar outras
divs, para formatarmos melhor nossa pagina.
Código:
<style>
h1 {
font-family: Verdana;
text-decoration: underline;
}
div {
float:left;
width: 100%;
}
</style>
Resultado:
Observe que mandamos que todas as div`s “flutuassem” a esquerda e logo em seguida
pedimos que elas tivessem 100% de largura, fizemos isso pois o float é a única forma de
conseguirmos que uma div fique do lado de outra e colocamos 100% de largura, pois não é
todas que queremos que fiquem desta forma, agora vamos fazer com que algumas
especificas fiquem uma do lado da outras, faremos isto utilizando o método seletor pelo id.
Código:
<style>
h1 {
font-family: Verdana;
text-decoration: underline;
}
div {
float:left;
width: 100%;
}
#nav {
width: 20%
}
#body {
width: 60%
}
#offer {
width: 20%
}
</style>
Veja que colocamos uma tralha (#) ao lado do ID de cada div que queriamos modificar,
desta forma o navegador ao interpretar sabe que estamos especificando uma div e em
seguida modificamos a largura delas, especificando que as laterais ocupariam 20% do
espaço e o “body” ocuparia 60%, totalizando 100% do espaço da pagina.
Resultado:
Agora sim conseguimos posicionar cada div da forma que queriamos, deixando ela do lado
uma da outra.
Agora no próximo exemplo veremos como selecionar uma tag especifica dentro de um id,
neste caso modificaremos o texto (<p>) que esta dentro da id body.
Código:
<style>
h1 {
font-family: Verdana;
text-decoration: underline;
}
div {
float:left;
width: 100%;
}
#nav {
width: 20%
}
#body {
width: 60%
}
#offer {
width: 20%
}
#body p {
font-weight: bold;
}
</style>
aqui especifcamos os níveis que queremos acessar, primeiro o navegador irá procurar pelo
id body e logo após ira selecionar todos as tags <p> dentro dele e efetuar o que estamos
pedindo de forma bem prática e organizada.
Resultado:
e assim podemos proceder de diversmas maneiras e formas até chegarmos ao resultado
esperado.
Propriedades do CSS
Como explicado as propriedades do CSS devem ficar entre chaves ({ }) após
especificarmos quais itens eles devem modificar e agora vamos especificar as principais
propriedades do CSS, para que possamos elaborar nossa estrutura.
Float – Esta é a propriedade faz com que o item da pagina comece a flutuar, desta forma
podemos posicionalo com maior facilitade, porém ao especificar float para um elemento da
pagina devemos ter em mente que todos os outros elementos também terão que ter um float
definido para que os itens não fiquem desalinhados.
Código:
<div>
<h1> Menu</h1>
</div>
<div>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Existem dois valores possíveis para o float, sendo que acima definimos como left e
podemos definir como right que ficaria desta forma:
Observe que além de mudar o lado em que os itens estavam, isto ocorre pois menu foi
definido antes de body, portanto é “jogado” para a direita antes, ficando assim, mais a
direita.
border – Com esta propriedade podemos especificar a borda de diversas formas, sendo a
mais comum, ao definirmos esta propriedade devemos especificar sua largura em pixels e
seu modelo, no código abaixo utilizamos o tipo solid mas também podem ser utilizadas
dotted, dashed, double, groove, ridge, inset, outset, cada uma forma a borda, que pode
ser testada por você a partir do exemplo a seguir.
Código:
<div>
<h1> Menu</h1>
</div>
<div>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
border-color – Aqui podemos definir a cor da borda, a cor pode ser definida em
hexadecimal.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<style>
div {
float: left;
border: 1px solid;
border-color: #C5C5C5;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
E da mesma forma que podemos definir somente a borda que desejar, a sintax será
Border-lado-color: #c5c5c5;
Exemplo:
border-left-color: #c5c5c5;
Resultado:
margin – A propriedade margin especifica uma distância entre um item e outro do html,
sendo que podemos especificar a disância da margem que quisermos, para isto basta
especificar como por exemplo margin-left, assim especificamos somente a margem
esquerda.
Código:
<div>
<h1> Menu</h1>
</div>
<div>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
Neste exemplo veja que a borda de todos as divs da pagina se afastaram, inclusive a borda
mais externa da pagina ficou mais afastado da borda do navegador.
Outro elemento importante que podemos especificar a margin é o body, ficando assim:
Código:
<div>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
padding – esta propriedade especifica a disância interna entre os itens, sendo que podemos
por exemplo estabelecer que as bordas estarão sempre a distância N dos textos, da mesma
forma das outras propriedades podemos especificar qual dos lados iremos aplicar o
padding, bastando especificar da seguinte forma padding-left.
Código:
<div>
<h1> Menu</h1>
</div>
<div>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
display – com esta propriedade podemos configurar se queremos que nosto item seja
exibido ou não Para sumir com um item basta setar ele como hidden.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<style>
body {
margin: 0px;
}
div {
float: left;
border: 1px solid;
border-left-color: #C5C5C5;
margin: 5px;
padding: 5px;
}
.allDiv {
display: none;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div class='allDiv'>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
font-family – Através desta propriedade podemos especificar qual fonte será utilizada nos
itens daquela pagina.
Código:
.allDiv {
display: none;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div class='allDiv'>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
.allDiv {
display: none;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div class='allDiv'>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
width – Nesta propriedades devemos especificar a largura do elemento.
Código:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Título da página</title>
<style>
body {
margin: 0px;
font-family: Tahoma;
}
h1 {
font-size: 12px;
}
div {
width: 300px;
float: left;
border: 1px solid;
border-left-color: #C5C5C5;
margin: 5px;
padding: 5px;
}
.allDiv {
display: none;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div class='allDiv'>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
Observe que todos os itens da div pegaram a propriedade, como a div interna obedece a
regra de padding da outra div ela acaba “saindo” da div mãe, isso não é correto acontecer
podendo ser corrigido de várias maneiras, dependendo do navegador, o ideal é que as divs
ocupem a largura máxima da div mãe.
height – neste podemos especificar a altura dos itens, esta especificação não é comum nos
elementos de estrutura, pois nem sempre é interpretado da forma correta.
Código
.allDiv {
display: none;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div class='allDiv'>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado:
background-color – aqui devemos especificar a cor do fundo do elemento esta pode ser
especificada em hexadecimal.
Código:
.allDiv {
display: none;
}
</style>
</head>
<body>
<div id='main'>
<div>
<h1> Menu</h1>
</div>
<div class='allDiv'>
<h1>Body</h1>
</div>
</div>
</body>
</html>
Resultado
Exercício
1) Especifique para que serve os seguintes elementos
a. font-family
b. font-size
c. text-align
d. background-color
e. border
f. padding
3) Crie uma página HTML com cabeçalho, menu esquerdo e conteúdo à direita.
4) Crie uma lista de forma que cada item fiquem 4 pixels afastados um do outro.
Tabela de cores: