A Aldeia Numaboa ancestral ainda está disponível para visitação. É a versão mais antiga da Aldeia que eu não quis simplesmente descartar depois de mais de 10 milhões de pageviews. Como diz a Sirley, nossa cozinheira e filósofa de plantão: "Misericórdia, ai que dó!"

Se você tiver curiosidade, o endereço é numaboa.net.br.

Leia mais...

Informática Numaboa - Tutoriais e Programação

Pequeno laboratório de CSS I

Seg

17

Abr

2006


12:43

(14 votos, média 4.43 de 5) 


Iniciante CSS é a abreviação de Cascading Style Sheets. Estilos (styles) normalmente definem a aparência de elementos HTML e são armazenados em folhas (sheets) de estilo. Múltiplas definições são cascateadas (cascading) em uma única.

Introdução

Aqui vão algumas considerações importantes.

A origem do CSS

Originalmente as tags da linguagem HTML foram projetadas para definir o conteúdo de documentos. Assim "isto é um cabeçalho", "isto é um parágrafo" e "isto é uma tabela" é definido com as tags <h1>, <p> e <table>. O layout do documento ficava por conta do navegador e não havia tags de formatação.

Como a evolução dos navegadores não parou, novas tags foram criadas (como <font> e atributos de cor) e foi ficando cada vez mais difícil separar o conteúdo do layout de apresentação. Para resolver este problema, o W3C, o consórcio responsável pela padronização do HTML, criou os STYLES (estilos) na versão 4.0 do HTML.

Características do CSS

Folhas de estilo definem COMO os elementos HTML são mostrados, da mesma forma que as tags font e os atributos de cor faziam em versões anteriores. Normalmente os estilos são guardados em arquivos externos do tipo .css e podem ser atrelados a uma, várias ou até a todas páginas de um site. Isto facilita enormemente a manutenção - ao invés de alterar trocentas páginas, altera-se apenas um (ou alguns poucos) arquivo de estilo.

As informações de estilo podem ser especificadas de várias formas. O estilo pode ser especificado dentro de um determinado elemento HTML, dentro do elemento <HEAD> de uma página HTML ou num arquivo externo. Até mesmo vários arquivos externos podem ser referenciados dentro de um único documento HTML. Quando há mais de uma fonte, os estilos são "cascateados" numa nova folha de estilos "virtual" obedecendo a seguinte prioridade:

  1. Estilo em linha (dentro de um elemento HTML)
  2. Folha de estilo interna (dentro da tag <head>)
  3. Folha de estilo externa
  4. Padrão (default) do navegador

Isto significa que, um atributo definido dentro da tag de um elemento terá preferência, mesmo que o mesmo atributo esteja definido numa folha de estilo interna, numa folha de estilo externa ou seja o default do navegador.

Sintaxe CSS

A sintaxe CSS pede três partes: um seletor, uma propriedade e um valor. O seletor, normalmente, é um elemento ou uma tag HTML e a propriedade é o atributo que se quer alterar atribuindo-lhe um novo valor. A propriedade deve ser separada do valor por dois pontos e ambos ficam entre chaves. Por exemplo, para definir que o corpo do documento seja preto, usa-se:

body { color: black }

Para um mesmo elemento podemos definir várias propriedades. Por exemplo:

p { font-family: "Sans Serif"; text-align: center; color: red; }

Observe algumas particularidades:

  • As propriedades e seus valores podem estar em várias linhas (o que facilita a leitura)
  • Os espaços no início das linhas são ignorados
  • Cada propriedade e valor é terminada por um ponto e vírgula (por isso podemos usar várias linhas!)
  • Pode-se usar quantas propriedades se quiser dentro das chaves referentes a um elemento (no exemplo, o parágrafo)
  • Caso o valor tenha mais de uma palavra, estas devem ser colocadas entre aspas ("Sans Serif")

Agrupamentos também são permitidos. Por exemplo, podemos indicar várias famílias de fontes ou vários elementos. Neste caso, o separador é a vírgula. No caso das famílias de fontes, o navegador procura pela primeira; se não encontrar a fonte, escolhe a segunda e assim sucessivamente. Veja os exemplos abaixo:

h1, h2, h3 { color: green; } p { font-family: "Sans Serif", Arial, Verdana; }

O seletor class

Pode-se criar classes para os seletores. A vantagem é que podemos usar o mesmo elemento de diversas formas. Por exemplo, se quisermos ter duas classes diferentes de parágrafos, um com o texto alinhado à direita e outro com o texto centralizado, basta definir:

p.direita { text-align: right; } p.centro { text-align: center; }

Depois, no documento HTML, é só indicar:

<p class="direita">Este texto ficará alinhado à direita</p> <p class="centro">Este texto ficará centralizado</p> Info

Apenas UMA classe de atributo pode ser usada num mesmo elemento! <p class="direita" class="centro">este é um parágrafo</p> está errado!

As classes não precisam necessariamente estar associadas a um elemento. Estas classes genéricas podem ser usadas com vários elementos que as aceitem, por exemplo:

.centro { text-align: center; } que depois pode ser usada em <h1 class="centro">Título centralizado</h1> <p class="centro">Parágrafo centralizado</p>

O seletor id

Também podemos definir estilos para elementos HTML com o seletor id. O seletor id é definido como #. Se definirmos um id como

#verde { color: green; }

poderemos atribuir este estilo para qualquer elemento identificado como "verde". Por exemplo:

<p id="verde">Este texto aparecerá em verde</p> <h2 id="verde">Este título aparecerá em verde</h2>

Se quisermos restringir a id a algum elemento, como por exemplo o parágrafo, determinamos:

p#vermelho { color: red; } Info

NÃO comece o nome de uma classe ou de uma id com um número.
O Mozilla/Firefox vai estrilar!

Comentários

Se você quiser inserir comentários nos seus arquivos .css (e deve mesmo, porque depois de alguns meses você não vai lembrar chongas do que fez), você pode usar os delimitadores de área /* e */ ou o comentário de linha //.

/* Toda esta área fica invisível. Os navegadores não tomam conhecimento da sua existência */ p { color : black; font-size: 10px; } // esta linha também será solenemente ignorada!

Como inserir uma folha de estilo

Quando o navegador lê uma folha de estilo, ele vai formatar o documento de acordo com as informações obtidas. Existem três maneiras de se inserir folhas de estilo:

Folhas de estilo externas

Uma folha de estilo externa é ideal quando o estilo é aplicado a muitas páginas. Cada uma das páginas precisam linkar a folha de estilo usando a tag <link> na seção head:

Neste exemplo, o arquivo que contém os elementos, seus atributos e valores é o meuEstilo.css. Este arquivo não pode conter caracteres de formatação (como os criados pelo Word) ou tags HTML. Pode ser algo como:

hr { color: blue; } p { margin-left: 20px; } body { background-image: url("imagens/fundo.gif"); } Info

Quando os valores dos atributos tiverem medidas, não as separe com um espaço porque, novamente, o Mozilla/Firefox vai estrilar. Use 20px e não 20 px.

Folha de estilo interna

Deve-se usar uma folha de estilo interna quando apenas um documento deve ter um determinado estilo. Define-se estilos internos na seção head usando a tag <style>.

...

Estilo em linha

A folha de estilo em linha não está fica num arquivo separado ou na seção head - ela é colocada diretamente na tag do elemento que se queira alterar. Por exemplo:

<p style="color: blue; margin-left: 15px;"> Parágrafo escrito em azul e com margem de 15 pixels </p>

Recuos

As propriedades de recuo definem os espaços entre as bordas e o conteúdo dos elementos. Valores negativos não são aceitos. Os recuos superior, direito, inferior e esquerdo podem ser alterados independentemente usando propriedades próprias. A propriedade padding pode controlar todos os recuos simultaneamente.

Aqui veremos como se comportam estas propriedades. Clique várias vezes nos links da tabela para ver como elas propriedades são entendidas pelo navegador e colocadas na Área de Teste.

Na tabelas abaixo, a coluna IE indica a versão do Internet Explorer, a F do Firefox e a N do Netscape. A coluna W3C indica a versão da recomendação (CSS1 ou CSS2).

{ padding-top: 0px }
{ padding-right: 0px }
{ padding-bottom: 0px }
{ padding-left: 0px }

PropriedadeDescriçãoValores IEFNW3C
paddingPropriedade que permite usar apenas uma declaração. padding-top
padding-right
padding-bottom
padding-left
4141
padding-bottomPropriedade do recuo inferior. length
%
4141
padding-leftPropriedade do recuo esquerdo. length
%
4141
padding-rightPropriedade do recuo direito. length
%
4141
padding-topPropriedade do recuo superior. length
%
4141



Margens

As propriedades das margens definem os espaços ao redor dos elementos. É possível usar valores negativos para sobrepor conteúdos. As margens superior, direita, inferior e esquerda podem ser alteradas independentemente usando propriedades próprias. A propriedade geral margin pode ser usada para alterar todas as margens de uma vez só.

Propriedades das Margens

Aqui veremos como se comportam as propriedades das margens. Clique nos links da tabela para ver como as propriedades são entendidas pelo navegador e colocadas na Área de Teste.

Na tabelas abaixo, a coluna IE indica a versão do Internet Explorer, a F do Firefox e a N do Netscape. A coluna W3C indica a versão da recomendação (CSS1 ou CSS2).


{ margin-top: 0px }
{ margin-right: 0px }
{ margin-bottom: 0px }
{ margin-left: 0px }


PropriedadeDescriçãoValores IEFNW3C
marginPropriedade que permite usar apenas uma declaração. margin-top
margin-right
margin-bottom
margin-left
4141
margin-bottomPropriedade para a margem inferior. auto
length
%
4141
margin-leftPropriedade da margem esquerda. auto
length
%
3141
margin-rightPropriedade da margem direita. auto
length
%
3141
margin-topPropriedade da margem superior. auto
length
%
3141


Bordas

As propriedades das bordas permitem especificar o estilo e a cor das bordas dos elementos. No HTML usamos tabelas para criar bordas ao redor de textos, mas com as propriedades CSS das bordas podemos criar vários efeitos que podem ser aplicados em qualquer elemento.

Clique várias vezes nos links da tabela para ver como estas propriedades são entendidas pelo navegador e colocadas na Área de Teste.

Na tabelas abaixo, a coluna IE indica a versão do Internet Explorer, a F do Firefox e a N do Netscape. A coluna W3C indica a versão da recomendação (CSS1 ou CSS2).


Bordas teste 1

AQUI É QUE AS COISAS ACONTECEM!

PropriedadeDescriçãoValores IEFNW3C
borderPropriedade que permite usar apenas uma declaração. border-width
border-style
border-color
4141
border-bottomPropriedade que permite usar apenas uma declaração para a borda inferior. border-bottom-width
border-style
border-color
4161
border-bottom-colorCor da borda inferior. border-color 4162
border-bottom-styleEstilo da borda inferior. border-style 4162
border-bottom-widthLargura da borda inferior. thin
medium
thick
length
4141
border-colorA cor das quatro bordas. Aceita de 1 a 4 valores. color 4161
border-leftPropriedade que permite usar apenas uma declaração para a borda esquerda. border-left-width
border-style
border-color
4161
border-left-colorCor da borda esquerda. border-color 4162
border-left-styleEstilo da borda esquerda. border-style 4162
border-left-widthLargura da borda esquerda. thin
medium
thick
length
4141
border-rightPropriedade que permite usar apenas uma declaração para a borda direita. border-right-width
border-style
border-color
4161
border-right-colorCor da borda direita. border-color 4162
border-right-styleEstilo da borda direita. border-style 4162
border-right-widthLargura da borda direita. thin
medium
thick
length
4141

Bordas teste 2

Experimente compor diferentes bordas clicando em border-style E border-width!
AQUI É QUE AS COISAS ACONTECEM!

PropriedadeDescriçãoValores IEFNW3C
border-styleEstilo das quatro bordas, pode ter de 1 a 4 estilos. none
hidden
dotted
dashed
solid
double
groove
ridge
inset
outset
4161
border-topPropriedade que permite usar apenas uma declaração para a borda do topo. border-top-width
border-style
border-color
4161
border-top-colorCor da borda do topo. border-color 4162
border-top-styleEstilo da borda do topo. border-style 4162
border-top-widthLargura da borda do topo. thin
medium
thick
length
4141
border-widthPermite declarar a largura das quatro bordas. Aceita de 1 a 4 valores. thin
medium
thick
length
4141

Fontes

As propriedades de fontes permitem escolher famílias, peso, tamanho e estilo do texto.

Como sempre, clique várias vezes nos links da tabela para ver como as propriedades são entendidas pelo navegador e colocadas na Área de Teste.

Na tabelas abaixo, a coluna IE indica a versão do Internet Explorer, a F do Firefox e a N do Netscape. A coluna W3C indica a versão da recomendação (CSS1 ou CSS2).

AQUI É QUE AS COISAS ACONTECEM!

PropriedadeDescriçãoValores IEFNW3C
fontPropriedade que permite usar apenas uma declaração. font-style
font-variant
font-weight
font-size/line-height
font-family

caption
icon
menu
message-box
small-caption
status-bar
4141
font-familyUma lista priorizada de de nomes de famílias de fontes. family-name
generic-family
3141
font-sizeIndica o tamanho da fonte. xx-small
x-small
small
medium
large
x-large
xx-large
smaller
larger
length
%
3141
font-styleIndica o estilo da fonte. normal
italic
oblique
4141
font-variantMostra o texto em small-caps ou na fonte normal. normal
small-caps
4161
font-weightIndica o peso da fonte. normal
bold
bolder
lighter
100
200
300
400
500
600
700
800
900
4141


Referências

Логофет Вадим Геннадьевичгриль в домашних условияхлобановский александр интервьютоп планшетовнаращивание ногтейсковорода титан отзывыхарьков клас

Informações adicionais