Programação Web com HTML e CSS

149

description

Oficina realizada em 2011. Apresenta as linguagens HTML/XHTML/HTML5 e CSS/CSS3. Contém vários exercícios práticos e demos além de referências úteis.

Transcript of Programação Web com HTML e CSS

Page 1: Programação Web com HTML e CSS
Page 2: Programação Web com HTML e CSS

Victor Adriel de J. Oliveira

Ciência da Computação – UESC

Associação Empresa Júnior de Computação

Programação Web:

[HTML/CSS (tableless), jQuery, PHP, Smarty]

Contato: [email protected]

Page 3: Programação Web com HTML e CSS

Introdução

W3C

HTML◦ Introdução

◦ Sintaxe

◦ XHTML

◦ HTML 5

CSS◦ Sintaxe

◦ Propriedades

◦ Novidades

Page 4: Programação Web com HTML e CSS

A função da linguagem de marcação, nesse caso o (X)HTML, é definir a estrutura e a semântica. O CSS foi criado com o objetivo de se separar o conteúdo das informações de estilo.

Nesse curso estudaremos a utilização do HTML e do CSS além das novidades decorrentes do surgimento do HTML 5 e do CSS 3.

Page 5: Programação Web com HTML e CSS

O Consórcio World Wide Web (W3C) é uma comunidade internacional que desenvolve padrões com o objetivo de garantir o crescimento da web e é responsável pela definição das especificações do CSS.

Page 6: Programação Web com HTML e CSS

Motor de renderização é um software que transforma conteúdo em linguagem de marcação e informações de formatação (como CSS) em um conteúdo formatado para ser exibido na tela.

Gecko – Firefox

WebKit – Chrome e Safari

Trident – Internet Explorer

Presto - Opera

Page 7: Programação Web com HTML e CSS

A HTML - HyperText Markup Language(Linguagem de Marcação de Hipertexto) é uma linguagem de marcação usada para a construção de páginas na web.

O HTML é baseado no conceito de Hipertexto. Hipertexto são conjuntos de elementos – ou nós – ligados por conexões. Estes elementos podem ser palavras, imagens, vídeos, áudio, documentos etc.

Page 8: Programação Web com HTML e CSS

Todo documento HTML apresenta etiquetas, elementos entre os sinais ‘<‘ e ‘>’.

Esses elementos são os comandos de formatação da linguagem. A maioria das etiquetas tem sua correspondente de fechamento:

<etiqueta>...</etiqueta>

Page 9: Programação Web com HTML e CSS

As etiquetas servem para definir a formatação de uma porção do documento, e assim marcamos onde começa e termina o texto com a formatação especificada por ela. Alguns elementos são chamados “vazios”, pois não marcam uma região de texto, apenas inserem algum elemento no documento:

<etiqueta>

Page 10: Programação Web com HTML e CSS

Uma etiqueta é formada por comandos, atributos e valores:

<img src=“../imgs/imagem.png” />

atributocomando valor

Page 11: Programação Web com HTML e CSS

Estrutura básica:

<!DOCTYPE HTML>

<html>

<head>

<title>Título do Documento</title>

</head>

<body>

texto, imagem, links, ...

</body>

</html>

Page 12: Programação Web com HTML e CSS

Copie a estrutura básica do HTML em um arquivo de texto e salve com o nome index e a extensão .html

Essa página será utilizada posteriormente.

Page 13: Programação Web com HTML e CSS

<body>

<h1>This is heading 1</h1>

<h2>This is heading 2</h2>

<h3>This is heading 3</h3>

<h4>This is heading 4</h4>

<h5>This is heading 5</h5>

<h6>This is heading 6</h6>

</body>

Page 14: Programação Web com HTML e CSS

<b> - Define o texto como negrito

<big> - Define o texto como “grande”

<em> - Define o texto como “ênfase”

<i> - Define o texto como itálico

<small> - Define o texto como “pequeno”

<strong>- Define o texto como “forte”

<sub> - Define o texto como subscrito

<sup> - Define o texto como sobrescrito

Page 15: Programação Web com HTML e CSS

<body>

<p><b>Texto - bold</b></p>

<p><strong>Texto - strong</strong></p>

<p><big>Texto - big</big></p>

<p><i>Texto - italic</i></p>

<p><em>Texto - emphasized</em></p>

<p><code>Texto - code</code></p>

<p>Texto <sub> subscrito</sub>

e texto<sup> sobrescrito</sup></p>

</body>

Page 16: Programação Web com HTML e CSS

<a href="url">texto link</a>

Especificando URLs◦ URL relativa

background-image: URL(img1.png);

background-image: URL(../arquivo.jpg);

◦ URL absoluta

background-image: URL(http://www.site.com/nw.jpg);

Page 17: Programação Web com HTML e CSS

Link para seções

Uma âncora dentro de um documento HTML:◦ <a name=“topo">Topo da página</a>

Crie um link para o “Topo da página" dentro do mesmo documento:◦ <a href="#topo">Ir para o topo</a>

Page 18: Programação Web com HTML e CSS

<img src="url" alt=“texto sobre a imagem"/>

Coloque uma imagem em sua página HTML

Page 19: Programação Web com HTML e CSS

<tr> - Linha

<td> - Coluna

<th> - Coluna/Linha Título

<caption> - Título da tabela

<thead> - Cabeçalho da tabela

<tbody> - Corpo da tabela

<tfoot> - Rodapé da tabela

Page 20: Programação Web com HTML e CSS

<table border="1">

<tfoot>

<tr><td>Soma</td><td>R$160</td></tr>

</tfoot>

<thead>

<tr><th>Mês</th><th>Quantia</th></tr>

</thead>

<tbody><tr><td>Janeiro</td><td>R$150</td></tr><tr><td>Fevereiro</td><td>R$10</td></tr>

</tbody>

</table>

Page 21: Programação Web com HTML e CSS

Rowspan

Colspan

Page 22: Programação Web com HTML e CSS

<ol> - Define uma lista ordenada

<ul> - Define uma lista não ordenada

<li> - Define um item de uma tabela

<dl> - Define uma lista de definição

<dt> - Define um item da lista de definição

<dd> - Define a descrição de um item da lista de descrição

Page 23: Programação Web com HTML e CSS

Faça a seguinte lista ordenada:

<ul>

<li>HTML</li>

<li>CSS</li>

<li>JavaScript</li>

</ul>

Depois converta para uma lista não ordenada.

Page 24: Programação Web com HTML e CSS

Agora transforme-a em uma lista de descrição:

HTML

- Linguagem de Marcação

CSS

- Folhas de Estilo em Cascata

JavaScript

- Linguagem de script

Page 25: Programação Web com HTML e CSS

Não estudaremos o uso de formulários, isso deverá ser estudado em PHP ou Ruby.

Veremos a construção de um formulário simples em HTML e o uso de alguns campos.

Page 26: Programação Web com HTML e CSS

<form>

<label>Nome:</label><br />

<input type="text" name="firstname"/><br />

<label>Password:</label> <br />

<input type="password" name="pwd" /><br />

<label>Sexo:</label> <br />

<input type="radio" name="sex" value="male" /> Masculino<br />

<input type="radio" name="sex" value="female" /> Feminino<br /><br />

Page 27: Programação Web com HTML e CSS

<label>Gostaria de aprender:</label><br />

<input type="checkbox" name="learn " value="html" /> HTML

<br />

<input type="checkbox" name=“learn" value="css" /> CSS

<br /><br />

<input type=“reset" value=“Limpar" />

<input type="submit" value=“Enviar" />

</form>

Page 28: Programação Web com HTML e CSS

Note que por default é utilizado o método GET para o envio dos dados.

O fluxo de dados é separado do endereço URL através de um ponto de interrogação (?). Esta forma de endereçamento e separação pode ser observada no campo de endereços do navegador após o formulário ter sido enviado. Você verá algo como:

(...)index.html?firstname=Furiqueiro&pwd=031286

&sex=male&veiculo=html&veiculo+=css

Page 29: Programação Web com HTML e CSS

<frameset rows="25%,75%"><frame src="frame_a.htm" /><frame src="frame_b.htm" />

<noframe>

<body>

...

</body>

</noframe>

</frameset>

Page 30: Programação Web com HTML e CSS

framespacing◦ espaçamento entre frames (em pixel)

frameborder◦ existência de bordas entre frames (boolean)

src◦ caminho da página HTML a ser exibida no frame

noresize◦ impede redimensionamento do frame

scrolling◦ habilita barra de rolagem (yes ou no)

Page 31: Programação Web com HTML e CSS

É uma versão mais rigorosa e limpa do HTML. Praticamente idêntica ao HTML 4.01

O XHTML 1.0 tornou-se uma recomendação da W3C desde 26 de janeiro de 2000.

Page 32: Programação Web com HTML e CSS

HTML: Exibir elementos

XHTML: Descrever elementos

Elementos XHTML devem estar aninhados;

Todos os elementos devem ser fechados;

Devem ser escritos em minúsculo;

E devem conter o elemento raíz.

Page 33: Programação Web com HTML e CSS

Os nomes dos atributos devem estar em letras minúsculas

Errado:◦ <table WIDTH="100%">

Certo:◦ <table width="100%">

Page 34: Programação Web com HTML e CSS

Os valores dos atributos devem estar entre aspas

Errado:◦ <table WIDTH=100%>

Certo:◦ <table width="100%">

Page 35: Programação Web com HTML e CSS

Abreviação de atributo é proibido

Errado:◦ <input readonly>

◦ <input disabled>

Certo:◦ <input readonly="readonly" />

◦ <input disabled="disabled" />

Page 36: Programação Web com HTML e CSS

O DOCTYPE correto para páginas XHTML:

<!DOCTYPE html PUBLIC

"-//W3C//DTD XHTML 1.0 Transitional//EN“

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

Page 37: Programação Web com HTML e CSS

Enquanto o W3C focava suas atenções para a criação da segunda versão do XHTML, um grupo chamado Web Hypertext Application Technology Working Group (WHATWG) trabalhava em uma versão do HTML que trazia mais flexibilidade para a produção de websites e sistemas baseados na web.

O WHATWG inclue a AOL, Apple, Google, IBM, Microsoft, Mozilla, Nokia, Opera.

Page 38: Programação Web com HTML e CSS

<!DOCTYPE HTML>

<html lang="pt-br">

<head>

<meta charset="UTF-8">

<link rel="stylesheet" type="text/css" href="estilo.css">

<title></title>

</head>

<body>

...

</body>

</html>

Page 39: Programação Web com HTML e CSS

<center>, <font>, <big>, <u> e <s>

por que seus efeitos são apenas visuais

<frameset>, <frame> e <noframe>

por que ferem os princípios de acessibilidade e usabilidade:

Page 40: Programação Web com HTML e CSS

Até agora nunca houve um padrão para reprodução de áudio em uma página web. O HTML5 especifica o elemento <audio>

<audio src="mus.oga" controls="true" autoplay="true" />

Page 41: Programação Web com HTML e CSS

Atualmente, existem três formatos suportados para o elemento de áudio:

Ogg Vorbis, MP3 e WAV.

Compatibilidade com os navegadores:

Page 42: Programação Web com HTML e CSS

Origens alternativas de áudio:

<audio controls="true" autoplay="true">

<source src="mus.oga" />

<source src="mus.mp3" />

<source src="mus.wma" />

</audio>

Page 43: Programação Web com HTML e CSS

Ofereça um conteúdo alternativo:

<audio controls="true" autoplay="true">

<source src="mus.oga" />

<source src="mus.mp3" />

<source src="mus.wma" />

<p>Faça o <a href="mus.mp3">download da música</a>.</p>

</audio>

Page 44: Programação Web com HTML e CSS

O uso de vídeo é semelhante ao de áudio. O HTML5 especifica o elemento <video>

<video src="u.ogv" width="400" height="300" />

Page 45: Programação Web com HTML e CSS

Atualmente, existem três formatos suportados para o elemento de vídeo:

Ogg e o MPEG 4.

Compatibilidade com os navegadores:

Page 46: Programação Web com HTML e CSS

Origens alternativas de vídeo:

<video controls="true" autoplay="true" width="400" height="300">

<source src="u.ogv" />

<source src="u.mp4" />

<source src="u.wmv" />

<p>Faça o <a href="u.mp4">download do vídeo</a>.</p>

</video>

Page 47: Programação Web com HTML e CSS

Novos tipos◦ tel

◦ search

◦ email

◦ url

◦ number

◦ range

Page 48: Programação Web com HTML e CSS

Exemplos:

<input name="val" type="number" value="12.4" step="0.2" min="0" max="20" />

<input name="val" type="range" value="12.4" step="0.2" min="0" max="20" />

Page 49: Programação Web com HTML e CSS

Exemplos

E-mail: <br />

<input type="email“ name="user_email" />

<br />

Homepage: <br />

<input type="url" name="user_url" />

<br />

Page 50: Programação Web com HTML e CSS

Date:

<input type="date" name="user_date" />

<br />

Month:

<input type="month" name="user_date" />

<br />

Week:

<input type="week" name="user_date" />

<br />

Page 51: Programação Web com HTML e CSS

Time:

<input type="time" name="user_date" />

<br />

Date and time:

<input type="datetime" name="user_date" />

<br />

<input type="submit" value="Enviar" />

Page 52: Programação Web com HTML e CSS

Placeholder antes:

<input name=“srch" value="Search here" onfocus=“if(this.value=='Search here') this.value=‘’”>

Placeholder com HTML5:

<input name="srch" placeholder="Search here">

Page 53: Programação Web com HTML e CSS

Autofocus:◦ <input name="login" autofocus >

Required◦ <input name="login" required>

Pattern◦ nos permite definir expressões regulares de

validação, sem Javascript

Page 54: Programação Web com HTML e CSS

Pattern

<form>

<label for="CEP">CEP:

<input name="CEP" id="CEP" requiredpattern="\d{5}-?\d{3}" />

</label>

<input type="submit" value="Enviar" />

</form>

Page 55: Programação Web com HTML e CSS

section

nav

article

aside

hgroup

header

footer

time

Page 56: Programação Web com HTML e CSS

subject

itemprop

item

hidden

draggable

Contenteditable

◦ Exemplo:

<p>Texto não editável</p>

<p contenteditable="true"> Edite-me... </p>

Page 57: Programação Web com HTML e CSS
Page 58: Programação Web com HTML e CSS

CSS é uma linguagem de estilo utilizada para descrever a apresentação de um documento escrito em uma linguagem de marcação.

A função da linguagem de marcação é definir a estrutura e a semântica. O CSS foi criado com o objetivo de se separar o conteúdo das informações de estilo.

Page 59: Programação Web com HTML e CSS

Cascading Style Sheets (Folhas de estilo em cascata)

Existem três métodos para utilização do CSS:

Inline◦ Quando as regras CSS estão declaradas dentro da

tag do elemento XHTML.

<p style=“color:black; margin: 5px;”>

Aqui um parágrafo de cor preta com 5px nas 4 margens.

</p>

Page 60: Programação Web com HTML e CSS

Incorporada ou interna◦ Quando as regras CSS estão declaradas no próprio

documento XHTML, na seção <head> do documento com a tag de estilo <style>.

<head>

<style type=“text/css”>

body {

background: black;

}

</style>

</head>

Page 61: Programação Web com HTML e CSS

ExternaQuando as regras CSS estão declaradas em um documento a parte do documento XHTML em um arquivo separado do arquivo html e que tem a extensão .css

<head>...<link rel=“stylesheet” type=“text/css” href=“estilo.css”/>...</head>

Page 62: Programação Web com HTML e CSS

Vantagens da sua utilização:◦ Facilidade de manutenção;

◦ Novas possibilidades de apresentação visual;

◦ Criação de sites “tableless”;

◦ Diminuição do tempo de download;

◦ Permite o controle em sistemas que não exibem informações em tela;

Page 63: Programação Web com HTML e CSS

Usaremos a folha de estilos externa. Crie um arquivo com extensão .CSS e o nome estilo.

A seguir importe a folha de estilos no head da página HTML:

<head>...<link rel=“stylesheet” type=“text/css” href=“estilo.css”/>...

</head>

Page 64: Programação Web com HTML e CSS

Herança<html>

<head></head><body>

<!– Todo o parágrafo será sublinhado --><p style=“font-style:italic;”>

Inicio do paragrafo.<br /><a href=“outrapagina.html”> Link </a><br /> Fim do paragrafo.

</body></html>

Esse link também ficará sublinhado

Page 65: Programação Web com HTML e CSS

Rule-Set◦ É composta por um seletor e um bloco de

declaração

ELEMENTO {[bloco de declarações]

}

Ex:p {

font-family: Arial;}

Page 66: Programação Web com HTML e CSS

Seletores◦ De tipos de elementos:

A { font-weight: bold; }

◦ De elementos múltiplos:

H1, H2, H3 { font-weight: bold; }

◦ Universal:

* { font-weight: bold; }

Page 67: Programação Web com HTML e CSS

◦ De elementos adjacentes:

H1 + p { font-weight: bold; }

◦ De elementos descendentes:

TABLE p { font-weight: bold; }

◦ CLASS

.nomeclass { ... }

◦ ID

#nomeid { ... }

Page 68: Programação Web com HTML e CSS

◦ Atributo

A[target] { color: blue; }

img[width=“100”] { color: blue; }

A[title~=“abc”] { color: blue; }

A[title|=“sinf”] { color: blue; }

Page 69: Programação Web com HTML e CSS

Crie os seguintes elementos no body da página HTML:

<h1>Titulo H1</h1>

<h2>Titulo H2</h2>

<h3>Titulo H3</h3>

<p>Parte do par <span>Span do paragraf</span></p>

<p>outro paragrafo</p>

<p class="green">outro paragrafo</p>

<p id="blue">outro paragrafo</p>

<a>Link inativo</a>

<a title="teste abc">Link inativo</a>

<a title="sinform">Link inativo</a>

Page 70: Programação Web com HTML e CSS

Agora teste os seletores:

a{color:red;}

H2,H3{margin-left:50px;}

*{font-style:italic;}

H3 + p { font-weight: bold; }

p span { font-size:25px; }

.green{color:green;}

#blue{color:blue;}

A[title~="abc"] { text-decoration:underline; }

A[title|="sinform"] { text-decoration:blink;}

Page 71: Programação Web com HTML e CSS

Pseudoclasses◦ :link

A:link { color: black; }

◦ :visited A:visited { color: blue; }

◦ :active A:active { color: yellow; }

◦ :hover A:hover { color: red; }

Page 72: Programação Web com HTML e CSS

Vamos testar o uso das pseudoclasses

Primeiro crie um elemento link em body:

<a href="#">Teste Pseudoclasses</a>

Page 73: Programação Web com HTML e CSS

Agora crie o CSS em head:

<style type="text/css">

a { font-weight:bold; }

a:link { color: black; }

a:visited { color: blue; }

a:active { background:green ;}

a:hover { color: red; }

</style>

Page 74: Programação Web com HTML e CSS

Unidades de Medida◦ Unidades de tamanho relativo:

% - relativa ao tamanho-padrão ou ao tamanho herdado de uma medida;

em – relativo ao tamanho da propriedade font-size de um elemento;

px – define o tamanho de um pixel do monitor.

Ex: p { font-size: 13px; }

Page 75: Programação Web com HTML e CSS

◦ Unidades de tamanho absoluto:

cm – define medidas em centímetros;

in – define medidas em polegadas (2,54 cm);

pt – define medidas em pontos (1/72 polegadas).

Ex: table { margin-left: 2cm; }

Page 76: Programação Web com HTML e CSS

HTML:

<h1>Titulo H1</h1>

<h2>Titulo H2</h2>

<h3>Titulo H3</h3>

<p>Parte do par</p>

<span>Span do paragraf</span>

<br/>

<a>Link</a>

Page 77: Programação Web com HTML e CSS

CSS

h1 { margin-left:10%; }

h2 { margin-left:10em; }

h3 { margin-left:10px; }

p { margin-left:5cm; }

span { margin-left:5in; }

a { margin-left:5pt; }

Page 78: Programação Web com HTML e CSS

Especificando URLs◦ URL relativa

background-image: URL(img1.png);

background-image: URL(../arquivo.jpg);

◦ URL absoluta

background-image: URL(http://www.site.com/nw.jpg);

Page 79: Programação Web com HTML e CSS

Especificando cores◦ #RRGGBB – Cada par possui até 256 combinações

(entre 00 e FF)

Ex: p { color: #FF0000; }

◦ #RGB – Abreviação da notação #RRGGBB

Ex: p { color: #F00; }

◦ rgb(R, G, B) – Cada cor varia entre 0 e 255

Ex: p { color: rgb(255, 0, 0); }

Page 80: Programação Web com HTML e CSS

◦ VGA name – Utiliza nomes do padrão VGA com 16 cores

Ex: p { color: red; }

Page 81: Programação Web com HTML e CSS

Font◦ Seletor { font: [estilo] [variação] [peso]

[tamanho]/[altura] [família] }

Ex: body { font: bold small-caps 12pt/14pt Arial }

Page 82: Programação Web com HTML e CSS

Font◦ font-family

serif

sans-serif

cursive

fantasy

monospace

Ex: body { font-family: “Verdana”, Arial, sans-serif; }

Page 83: Programação Web com HTML e CSS

◦ font-size

p { font-size: 12px; }

◦ font-style

p { font-style : italic; }

◦ font-variant

p { font-variant : small-caps; }

◦ font-weight

p { font-weight : bold; }

Page 84: Programação Web com HTML e CSS

Text◦ letter-spacing

p { letter-spacing: 0.4em; }

◦ text-align (left, center, right, justify)

p { text-align : center; }

◦ text-decoration (none, underline, overline, blink)

p { text-decoration : blink; }

Page 85: Programação Web com HTML e CSS

◦ word-spacing

p { word-spacing : 0.4em; }

◦ text-transform (capitalize, uppercase, lowercase)

p { text-transform : uppercase; }

Page 86: Programação Web com HTML e CSS

Background◦ Seletor { background: [cor-de-fundo] [imagem-de-

fundo] [repetição] [anexo] [posição] }

Ex: body { background: #fff url(img.png) repeat-x fixed top right}

Page 87: Programação Web com HTML e CSS

Background◦ background-color

body { background-color: #000; }

◦ background-image

body { background-image : url(figura.jpg); }

◦ background-repeat

body { background-repeat : repeat-x; }

Page 88: Programação Web com HTML e CSS

◦ background-attachment

body { background-attachment : fixed; }

◦ background-position

body { background-position : 20% 20%; }

Page 89: Programação Web com HTML e CSS

Utilizando múltiplas imagens em uma

<html>

<head>

<style type="text/css">

div {

height:48px;

width:48px;

background:url(twitter.png);

}

div:hover {

background-position:100%;

}

</style>

</head> ...

Page 90: Programação Web com HTML e CSS

…<body>

<div></div>

</body>

</html>

Page 91: Programação Web com HTML e CSS

Margin◦ Seletor { margin: [ valor1[ valor2 [ valor3 [ valor4 ]]]] }

Ex: div { margin: 5px 2px 0px 25px; }

Page 92: Programação Web com HTML e CSS

◦ margin-top

p { margin-top: 2px; }

◦ margin-right

p { margin-right : 25px; }

◦ margin-bottom

p { margin-bottom : 3cm; }

◦ margin-left

p { margin-left : 1em; }

Page 93: Programação Web com HTML e CSS

Padding◦ Seletor { padding: [ valor1[ valor2 [ valor3 [ valor4 ]]]] }

Ex: div { padding : 5px 2px 0px 25px; }

Page 94: Programação Web com HTML e CSS

◦ padding-top

p { padding-top: 2px; }

◦ padding-right

p { padding-right : 25px; }

◦ padding-bottom

p { padding-bottom : 3cm; }

◦ padding-left

p { padding-left : 1em; }

Page 95: Programação Web com HTML e CSS

Geradores de Conteúdo◦ Content

A:before { content: “Teste ”;}

◦ Counter-increment

H2:before { counter-increment: cont 5;}

◦ Counter-reset

Body { counter-reset: cont}

Page 96: Programação Web com HTML e CSS

HTML:

<p>teste</p>

<p>teste</p>

<p>teste</p>

<p>teste</p>

<p>teste</p>

<p>teste</p>

<p>teste</p>

Page 97: Programação Web com HTML e CSS

CSS:

body{counter-reset: cont;}

p:before{

counter-increment:cont;

content:counter(cont) " - ";

}

Page 98: Programação Web com HTML e CSS

HTML<h1>Introdução</h1>

<h2>Programação Web com CSS</h2>

<h1>HTML</h1>

<h2>O que é</h2>

<h2>Sintaxe</h2>

<h1>W3C</h1>

<h2>Qual sua utilidade</h2>

<h1>CSS</h1>

<h2>Utilidade</h2>

<h2>Sintaxe</h2>

<h2>Propriedades</h2>

Page 99: Programação Web com HTML e CSS

CSSbody {counter-reset:secao;}

h1 {counter-reset:subsecao;}

h1:before {

counter-increment:secao;

content:"Seção " counter(secao) ". ";

}

h2:before {

counter-increment:subsecao;

content:counter(secao) "." counter(subsecao) " ";

}

Page 100: Programação Web com HTML e CSS

Tableless◦ Menu vertical

◦ Menu horizontal

Botão

Rollover

Menu Drop-Down

Menu com abas

Hack

Page 101: Programação Web com HTML e CSS

1º Passo◦ Escolha os containers do layout, ou seja, as divs

principais que serão criadas;

◦ Não se esqueça que as margens entre um container e outro contam na soma da largura do seu layout.

Page 102: Programação Web com HTML e CSS
Page 103: Programação Web com HTML e CSS

2º Passo◦ Nomeie os containers de acordo com suas

finalidades. No nosso exemplo adotaremos os seguintes nomes para as DIVs principais do layout:

geral

topo

nav

menu

conteudo

rodape

Page 104: Programação Web com HTML e CSS
Page 105: Programação Web com HTML e CSS

3º Passo◦ Crie as DIVs vazias para representar os containers

<div id=“geral">

<div id=“topo"></div>

<div id=“nav"></div>

<div id="menu"></div>

<div id="conteudo"></div>

<div id=“rodape"></div>

</div>

Page 106: Programação Web com HTML e CSS

Para facilitar a visualização de como os containers interagem entre si a cada um deles será definida uma largura e uma altura e também uma cor de fundo;

Lembre-se que é importante que você teste em diversos navegadores cada vez que termine uma etapa;

Vamos definir a altura de todas as DIVs apenas para efeito de visualização.

Page 107: Programação Web com HTML e CSS

A primeira regra CSS a criar é referente ao body, pois ele é o pai de todas as DIVs:◦ Primeiro precisamos zerar as propriedades margin

e padding, pois cada navegador tem uma forma de renderização;

◦ Definimos a propriedade text-aling para centralizar nosso layout. A propriedade não irá centralizar o texto, mas sim a DIV geral;

◦ Definimos font e cor padrão;

◦ E neste exemplo definimos uma cor de fundo para visualizar melhor.

Page 108: Programação Web com HTML e CSS

Nossa regra CSS para o body:

body{

margin: 0;

padding: 0;

font: 12px arial, helvetica, sans-serif;

text-align: center;

color: #505367;

background-color: #D6D6D6;

}

Page 109: Programação Web com HTML e CSS

A próxima DIV a ser posicionada é a DIV geral, pois ela contém as demais DIVs:◦ Deve-se estabelecer a largura máxima do seu

layout;

◦ Se seu site dor dinâmica defina a altura como automática, assim evitando que o conteúdo ultrapasse os limites do layout.

Page 110: Programação Web com HTML e CSS

Nossa regra CSS para geral:

#geral{

margin: 10px auto;

width: 650px;

height: auto;

text-align: left;

background-color: red;

border: 1px solid black;

}

Page 111: Programação Web com HTML e CSS

6º Passo◦ Para posicionar o topo, definimos apenas a altura e

a largura:

#topo{

height: 45px;

background-color: fuchsia;

}

Page 112: Programação Web com HTML e CSS

7º Passo◦ Posicionando o menu de navegação horizontal,

definimos uma altura máxima para tal:

#nav{

height: 25px;

background-color: green;

}

Page 113: Programação Web com HTML e CSS

8º Passo◦ O alinhamento do menu vertical será feito pela

direita e não inline como as outras divs. Além de definir altura e largura da mesma:

#menu{

float: right;

width: 180px;

height: 100px;

background-color: yellow;

}

Page 114: Programação Web com HTML e CSS

9º Passo◦ Para posicionar o conteúdo é preciso definir as

margens direita e esquerda. A margem direita deve ser maior do que o menu da direita, pois a DIVconteudo não poderá ultrapassá-lo:

#conteudo{

margin-right: 200px;

margin-left: 20px;

height: 200px;

background-color: aqua;

}

Page 115: Programação Web com HTML e CSS

10º Passo◦ Para o rodapé utilizaremos a propriedade clear:both

para equalizar qualquer elemento anteriomente flutuado. Ou seja, ele limpa a flutuação das divs anteriores para não interferir no posicionamento do rodapé:

#rodape{

clear: both;

height: 20px;

background-color: lime;

}

Page 116: Programação Web com HTML e CSS

◦ Ficará assim:

Page 117: Programação Web com HTML e CSS

Terminada a etapa de posicionamento, removeremos a altura definida para as DIVs e deixaremos como auto (height:auto;).

A seguir vamos inserir algum texto dentro dos containers.

Page 118: Programação Web com HTML e CSS

Inserindo conteúdo no topo:

<div id=“topo“>

<h1>Nome do site</h1>

</div>

Inserindo conteúdo em nav:<div id=“nav">

<ul>

<li><a href="#">Home</a></li>

<li><a href="#">Serviços</a></li>

<li><a href="#">Produtos</a></li>

<li><a href="#">Contato</a></li>

</ul>

</div>

Page 119: Programação Web com HTML e CSS

Inserindo conteúdo em menu:<div id="menu">

<h3>Serviços</h3>

<ul>

<li><a href="#">Websites</a></li>

<li><a href="#">Internet</a></li>

<li><a href="#">Intranet</a></li>

<li><a href="#">Extranet</a></li>

</ul>

</div>

Page 120: Programação Web com HTML e CSS

Inserindo conteúdo na DIV conteudo:<div id=“conteudo”>

<h2>Cabeçalho</h2>

<p>Lorem ipsum dolor sit amet, consectetuer adipiscing elit, sed diam nonummy nibh euis mod tincidunt ut laoreet dolore magna al. </p>

<p> Ut wisi enim ad minim veniam, quis nostrud exerci tation ullamcorper suscipit lobortis nisl ut aliquip ex ea commodo. </p>

</div>

Page 121: Programação Web com HTML e CSS

Inserindo conteúdo na DIV rodape:<div id=“rodape">

<p>Copyright © SINFORM 2010</p>

</div>

Page 122: Programação Web com HTML e CSS

Estilizando body e elementos em geral:h2 {

color: #B52C07;

font: 120% georgia, times, "times new roman", serif;

font-weight: bold;

}

p {

color: #5B5E0E;

font: 106% georgia, times, "times new roman", serif;

}

Page 123: Programação Web com HTML e CSS

Estilizando o topo:#topo{

height: 45px;

margin-top:-15px;

background-image: url(topo.jpg);

background-repeat: no-repeat;

border-bottom: 1px solid #fff;

position: relative;

color:#fff;

}

Page 124: Programação Web com HTML e CSS

Estilizando o nav (menu horizontal):#nav{

background-color: #9FA41D;

color: #272900;

padding: 2px 0;

margin-bottom: 22px;

}

#nav li{

display: inline;

padding: 0 10px;

border-right: 1px solid #C4C769;

}

Page 125: Programação Web com HTML e CSS

#nav li a{

text-decoration: none;

color: #272900;

}

#nav li a:hover{

text-decoration: none;

color: #fff;

}

Page 126: Programação Web com HTML e CSS

Estilizando o menu (direita):#menu{

float: right;

width: 165px;

border-left: 1px solid #C5C877;

padding-left: 15px;

}

#menu ul{

margin-right: 10px;

padding-left: 0;

list-style-type: none;

line-height: 165%;

}

Page 127: Programação Web com HTML e CSS

Estilizando o rodape:#rodape{

clear: both;

color: #272900;

border-top: 1px dashed #9FA41D;

text-align: center;

font-size: 10px;

}

Page 128: Programação Web com HTML e CSS

O efeito de botão é dado ao menu usando as bordas outset e inset:

#menu li {

border:3px outset #060;

margin-bottom:2px;

}

#menu li:active {

border:3px inset #060;

}

Page 129: Programação Web com HTML e CSS

Ao passar o cursor sobre o menu o background é alterado.

#menu a{

display:block;

}

#menu li a:hover {

background-color:#006600;

color:#fff;

}

Page 130: Programação Web com HTML e CSS

Criaremos a estrutura do menu através de uma lista não ordenada, com cada um dos sub-menus constituídos por outra lista não ordenada dentro da primeira

Page 131: Programação Web com HTML e CSS

<div id="menu">

<ul>

<li><a href="#">Section 1</a></li>

<li><a href="#">Section 2</a></li>

<li><a href="#">Section 3</a>

<ul>

<li><a href="#">Section 1</a></li>

<li><a href="#">Section 2</a></li>

</ul>

</li>

<li><a href="#">Section 4</a></li>

</ul>

</div>

Page 132: Programação Web com HTML e CSS

Estilo:#nav li ul {

position: absolute;

left: 0px;

top: 15px;

background-color: #9FA41D;

display: none;

}

#nav li ul li a {

margin-left:-40px;

display:block;

}

Page 133: Programação Web com HTML e CSS

#nav ul li {

position: relative;

display: inline;

margin:5px;

padding: 0px 2px 0px 2px;

border-right:none;

}

#nav li:hover ul {

display:block;

}

Page 134: Programação Web com HTML e CSS

Nosso menu ficará assim:

Para isso precisaremos de quatro imagens...

Page 135: Programação Web com HTML e CSS

Duas para a aba em seu estado normal:

E duas para a aba corrente:

Page 136: Programação Web com HTML e CSS

Mas, porque usaremos duas imagens para cada estado da aba?

O fato é que se aba expandir as imagens deslizam para os lados preenchendo o novo vão maior com mais trecho da imagem direita:

Page 137: Programação Web com HTML e CSS

Vamos chamar nossa div de “header”:

<div id="header">

<ul>

<li><a href="#">Home</a></li>

<li id="current"><a href="#">News</a></li>

<li><a href="#">Products</a></li>

<li><a href="#">About</a></li>

<li><a href="#">Contact</a></li>

</ul>

</div>

Page 138: Programação Web com HTML e CSS

Estilo:#header {

float:left;

width:100%;

font-size:93%;

background:url(Nova%20pasta/bg.gif)

repeat-x bottom;

}

Page 139: Programação Web com HTML e CSS

#header ul {

margin:0;

padding:0;

list-style:none;

padding:10px 10px 0;

}

#header li {

float:left;

background:url(Nova%20pasta/norm_left.png)

no-repeat left top;

margin:0;

padding:0 0 0 9px;

}

Page 140: Programação Web com HTML e CSS

#header a {

display:block;

background:url(Nova%20pasta/norm_right.png)

no-repeat right top;

padding:5px 15px 4px 6px;

}

#header #current {

background-image:

url(Nova%20pasta/norm_left_on.png);

}

Page 141: Programação Web com HTML e CSS

#header #current a {

background-image:

url(Nova%20pasta/norm_right_on.png);

padding-bottom:5px;

}

Page 142: Programação Web com HTML e CSS

Também conhecido como comentário condicional, a estrutura básica é a mesma dos comentários HTML:

<!-- -->

Assim, todos os demais navegadores interpretarão como um comentário normal e serão ignorados.

Page 143: Programação Web com HTML e CSS

O Internet Explorer, foi projetado para reconhecer a sintaxe especial

<!--[if IE]>

Ele processa o if e interpreta o conteúdo do comentário condicional como se fosse um conteúdo normal da página.

Page 144: Programação Web com HTML e CSS

<!--[if IE]> De acordo com o comentário condicional este

é o Internet Explorer<br> <![endif]-->

<!--[if IE 5]> De acordo com o comentário condicional

este é o Explorer 5<br> <![endif]-->

<!--[if IE 5.0]> De acordo com o comentário condicional este é o Internet Explorer 5.0<br> <![endif]-->

Page 145: Programação Web com HTML e CSS

<!--[if IE 5.5]> De acordo com o comentário condicional este é o Internet Explorer 5.5<br> <![endif]-->

<!--[if gte IE 5]> De acordo com o comentário condicional este é o Internet Explorer 5 ou maior<br> <![endif]-->

<!--[if lt IE 6]> De acordo com o comentário condicional este é o Internet Explorer versão menor que 6<br> <![endif]-->

Page 146: Programação Web com HTML e CSS

Especificado pela W3C (CSS3)◦ box-shadow:1px 1px 5px #000;

Implementado pelo Webkit◦ -webkit-box-shadow:1px 1px 5px #000;

Implementado pelo Mozilla◦ -moz-box-shadow:1px 1px 5px #000;

Page 147: Programação Web com HTML e CSS

Especificado pela W3C (CSS3)◦ border-top-right-radius: 8px;

◦ border-top-left-radius: 8px;

◦ border-bottom-right-radius: 8px;

◦ border-bottom-left-radius: 8px;

Implementado pelo Webkit◦ -webkit-border-top-right-radius: 8px;

◦ -webkit-border-top-left-radius: 8px;

◦ -webkit-border-bottom-left-radius: 8px;

◦ -webkit-border-bottom-right-radius: 8px;

Implementado pelo Mozilla◦ -moz-border-radius: 8px 8px 8px 8px;

Page 148: Programação Web com HTML e CSS

PRONTO,

PODE CONTINUAR SOZINHO...

http://www.maujor.com

Fique atento às novidades, testem os exemplos dados nos sites que falam sobre o tema, leiam sobre o assunto e pratiquem, testem combinações de cores... O que faz a diferença no final é a criatividade somada ao conhecimento técnico.

Page 149: Programação Web com HTML e CSS

Victor Adriel de J. Oliveira

[email protected]

http://blogvictoradriel.blogspot.com.br/

apresentação feita em 2010