Aqui iremos abordar as folhas de estilo em cascata, mais conhecidas como cascading style sheets.
Por que usar css?
O html inclui uma tag para praticamente todos os elementos de design comumente utilizados, incluindo tags de título (<h1>,<h2>...), lista (a tag <ol> para lista ordenada, a tag <ul> para lista não ordenada) e assim por diante.
No passado , a tag <h1> em quase todos os web sites parecia a mesma - texto preto era consideravelmente maior que o corpo do texto normal. Se você quisesse fazer seus próprios títulos diferenciados, tinha de formatar cada tag de título individualmente, utilizando tags <font> ou similares. se mais tarde mudasse de idéias sobre a aparência desses títulos, tinha de voltar e mudar cada título individualmente. ou seja: um processo lento e trabalhoso.
As folhas de estilo em cascata mudam tudo isso. com uma folha de estilo, você pode fazer uma "declaração global", como "quero que todos os meus títulos <h1> sejam verdes". você precisa dizer isso somente uma vez e cada título <h1> em seu site será verde. se depois decidir que azul é uma cor melhor, não é preciso voltar e alterar cada tag <h1> para a cor azul. em vez disso, basta alterar o estilo - a "regra" - para "quero que todos os meus títulos <h1> sejam azuis" e pronto!
Obviamente você não está limitado a títulos e nem a cor azul. é possível definir um estilo personalizado para cada elemento de design em seu web site, incluindo títulos, lista, tabelas e imagens, para citar só alguns. e, além de definir uma cor, você pode definir a fonte, o tamanho, o alinhamento, a espessura da borda, e assim por diante.
Como criar estilos:
Cada estilo que você cria é definido como uma regra css. cada regra deve utilizar a seguinte sintaxe:
sendo que o estilo css deve ficar no seguinte local:
<style type="text/css"> aqui
</style>
elemento {atributo1: valor; atributo2: valor ...}
Explicação desta sintaxe:
elemento - descreve o elemento de design ao qual o estilo será aplicado. a mesma tag html mas sem os sinais de maior e menor. essa parte da regra é às vezes chamadas de seletor.
atributo - o aspecto específico do elemento que você quer usar como estilo. deve ser um nome de atributo css válido, como o atributo font-size.
valor - a configuração aplicada ao atributo. deve ser uma configuração válida para o atributo em questão , como 20pt (20 pontos) para font-size.
atributo:valor - a parte declaração da regra. você pode atribuir múltiplas declarações se desejar separá-los com ponto-e-vírgula (;). não coloque um ponto-e-vírgula depois da última declaração.
Agora é hora de exemplos. eis uma regra css que especifica que todos os títulos de nível 1 (tags <h1>) sejam exibidos em uma fonte de 36 pontos:
h1 {font-size: 36pt}
Aqui está um exemplo de regra que diz que todos os títulos de nível 2 (tags <h2>) devem ter tamanho de 24 pontos e cor azul;
h2 {font-size: 24pt; color: blue}
Você pode inserir quebras de linha e espaços em branco dentro da regra como quiser. assim, é possível ver mais facilmente todas as declarações e certificar-se de que colocou todos os sinais de ponto-e-vírgula e colchetes nos lugares corretos. por exemplo, aqui está uma regra que diz que os parágrafos aparecerão em fonte times, 12 pontos, azul e recuados meia polegada a partir da margem esquerda da página:
p {font-family: times;
font-size: 12pt;
color: blue;
margin-left: 0.5in}
Note como é fácil aplicar todas as declarações ao elemento parágrafo (p) e como cada declaração, exceto a última, é seguida pelo caracter de ponto-e-vírgula exigido.
As folhas de estilo
Você pode definir regras de css em três lugares, e por definição, pode utilizar uma combinação dos três métodos nos seus web sites. a maneira como as regras interagem entre si está relacionada à parte "em cascata".
Os três lugares são:
1) em um documento separado fora de todos os documentos html
2) no cabeçalho de um documento html
3) dentro de uma tag de html.
Cada um destes métodos tem um nome e afeta as páginas html em seu site de um modo diferente, como discutido aqui:
Externo - externo significa que você coloca as regras de css em um arquivo separado, e então sua página html pode fazer um link para esse arquivo. essa abordagem lhe permite definir regras em um ou mais arquivos que podem ser aplicadas em alguma página do seu web site.
Incorporado - incorporado significa que você especifica as regras de css no cabeçalho do documento. as regras incorporadas afetam somente a página atual.
Inline - inline significa que você especifica as regras de css dentro da tag de html. essas regras afetam somente a tag atual.
Estilos externos
Para definir um conjunto de regras de estilo que você pode facilmente aplicar em alguma página do seu site, é preciso colocar as regras em um arquivo de texto. você pode criar este arquivo com um editor de textos simples, como o notepad do windows, e dar ao nome desse arquivo a extensão .css.
Sempre que quiser utilizar esses estilos em uma nova página, basta colocar uma tag <link> no cabeçalho que referencie esse arquivo .css, veja o exemplo:
Arquivo meu_estilo.css
h1 {font-family: 'comic sans ms';
font-size: 36pt;
color: blue}
p {font-family: 'courier';
margin-left: 0.5in}
Agora, para utilizar os estilos definidos neste arquivo .css você precisa adicionar a tag a seguir ao cabeçalho da página, onde nome_do_arquivo é uma referência absoluta ou relativa ao arquivo .css.
Obs: você deve inserir este texto entre as tags <head>...</head> e colocar a localização correta do seu arquivo e seu nome.
Estilos incorporados
Se quiser criar um conjunto de estilos que se aplicam a uma única página, você pode configurar os estilos exatamente como fizemos no exemplo dos estilos externos - mas em vez de colocar as tags <style>...</style> e as regras em um arquivo separado, coloque estas tags na própria página html. a estrutura básica de uma página da web que utiliza estilos incorporados é semelhante ao seguinte código:
<html>
<head>
<title>exemplo estilos incorporados</title>
<style type="text/css"><!--
p {background-color: #ffffff;
font-family:'comic sans ms';
font-size: 14pt}
--></style>
</head></body></html>
Estilos inline
Os estilos inline são os que têm menos efeitos. eles afetam somente a tag atual - não outras tags na página e tampouco outros documentos. a sintaxe para definir um estilo inline é a seguinte:
Note que em vez das tags <style>...</style>, você apenas utiliza um atributo style dentro da tag para definir o estilo, e em vez de colocar as regras de css entre colchetes, você as coloca entre aspas, separando-as com ponto-e-vírgula.
Tags personalizadas
Com as classes de estilo, é possível definir diversas variações de uma única tag. por exemplo, você poderia fazer um estilo de parágrafo "texto alinhado à direita", um estilo de parágrafo "texto centralizado" e assim por diante, criando múltiplos temas em torno da tag de parágrafo. (<p>)
Você pode definir classes de estilo tanto em folhas de estilo externa como nas incorporadas. (não há sentido em definir uma classe em um estilo inline!) a sintaxe é praticamente idêntica à sintaxe normal para os estilos externo e incorporado, com adição de um ponto e o nome da classe depois do elemento na qual será utilizado o atributo.
Depois eu vou no texto que quero que fique com essas configurações e coloco <font class="fonte"> antes do texto. veja como deve ficar:
meu texto aqui
Utilizando a tag <div>
As tags html <div>...</div> podem ser usadas para formatar um grande bloco de texto - uma divisão - abrangendo diversos parágrafos e outros elementos. isso as torna uma boa opção para definir estilos que afetam grandes seções de um texto em uma página. veja:
Ao colocar na tag <div> o atributo class, você estará fazendo com que todos os elementos que estejam englobados nesta tag sigam estes padrões.
Utilizando a tag <span>
As tags <span>...</span> são como tags <div>...</div> no sentido de que você pode utilizá-las para definir estilos que formatam um bloco de texto. ao contrário de <div>, contudo, que é utilizada para divisões de texto grandes, a tag <span> é especializada para blocos de textos menores - que podem ser tão pequenos como um único caracter. veja um bom exemplo do que se pode fazer utilizando esta tag.
<body>
para sair de um programa:
<ol>
<li>selecione <span class="hot">a</span>rquivo -
<span class="hot">s</span>air
</ol></body>
veja como fica:
para sair de um programa: selecione arquivo - sair
Atalhos e atributos de css
Alguns atributos de css lhe permitem fazer diversas configurações em uma declaração. por exemplo, suponha que você queira definir diversos aspectos da fonte utilizada para tags h1, como segue:
Como alternativa a especificar todas essas formatações de fonte individualmente, você pode utilizar o atributo font: para defini-las todas de uma só vez, assim:
h1 {font: italic bold 18pt 'times roman'}
Note como diversos valores - itálico, negrito, 18pt e times roman - são separados apenas por um espaço em branco. essas regras abreviadas certamente poupam espaço e tempo de digitação.
atributo de css
o que ele configura
background
cor de fundo, imagem, transparência.
background-attachment
rolagem do fundo / marca d'água.
background-image
imagem de fundo.
background-color
cor de fundo ou transparência.
background-position
posicionamento da imagem de fundo.
background-repeat
configuração lado-a-lado da imagem de fundo.
border
largura, estilo e cor de todas as 4 bordas.
border-bottom
largura, estilo e cor da borda inferior.
border-bottom-color
cor da citada borda.
border-bottom-style
estilo da citada borda.
border-bottom-width
largura da citada borda.
border-color
cor das 4 bordas.
border-left
largura, estilo e cor da borda esquerda.
border-left-color
cor da borda citada.
border-left-style
estilo da borda citada.
border-left-width
largura da borda citada.
border-right
largura, estilo e cor da borda direita.
border-right-color
cor da borda citada.
border-right-style
estilo da borda citada.
border-right-width
largura da borda citada.
border-style
estilo de todas as 4 boras.
border-top
largura, estilo e cor da borda superior.
border-top-color
cor da borda citada.
border-top-style
estilo da borda citada.
border-top-width
largura da borda citada.
border-width
largura de todas as 4 bordas.
clear
elementos flutuantes à esquerda ou à direita de um elemento.
clip
parte visível de um elemento.
color
cor de primeiro plano.
cursor
tipo de ponteiro do mouse.
display
se o elemento é exibido e o espaço é reservado para ele.
filter
tipo de filtro aplicado ao elemento.
float
se o elemento flutua.
font
estilo, variante, peso, tamanho e altura da linha do tipo de fonte.
font-face
incorporação da fonte ao arquivo html.
font-family
tipo de fonte.
font-size
tamanho da fonte.
font-style
fonte itálico.
fonte-variant
fonte bold.
font-weight
peso da fonte de claro a negrito.
height
altura exibida ao elemento.
import
folha de estilo a importar.
left
posição do elemento em relação a margem esquerda da página.
letter-spacing
distância entre as letras.
line-height
distância entre linhas de base.
list-style
tipo, imagem e posição do estilo da lista.
list-style-image
marcador de item de lista.
list-style-position
posição do marcador de item da lista.
list-style-type
marcador de item de lista alternativo.
margin
tamanho de todas as 4 margens.
margin-left
tamanho da margem esquerda.
margin-right
tamanho da margem direita.
margin-bottom
tamanho da margem inferior.
margin-top
tamanho da margem superior.
overflow
exibição de imagens que são maiores do que suas molduras.
padding
espaço em torno de um elemento em todos os lados.
padding-bottom
espaço a partir da margem inferior de um elemento.
padding-left
espaço à esquerda do elemento.
padding-right
espaço à direita do elemento.
padding-top
espaço a partir da margem superior do elemento.
page-break-after
inserir quebra de página depois de um elemento.
page-break-before
inserir quebra de página antes de um elemento.
position
como o elemento é posicionado na página.
text-align
alinhamento do texto.
text-decoration
sublinhado, sobrelinhado ou riscado.
text-indent
recuo da primeira linha do parágrafo.
text-transform
transformação para todas maiúsculas, minúsculas ou inicial maiúscula.
top
posição do elemento em relação a parte superior da página.
vertical-align
alinhamento vertical do elemento.
visibility
se elemento é visível ou invisível.
width
largura do elemento.
z-index
posição do elemento na pilha.
Múltiplas fontes
Você pode utilizar na tag <font> múltiplas fontes especificando a ordem de preferência. ou seja, se a primeira fonte indicada por você não constar no computador do visitante, a segunda será a escolhida, caso não tenha passa a ser a terceira e assim por diante. veja o exemplo:
<font face="arial, comic sans ms, helvetica" size="12" color="purple">
ou na declaração css:
h1 {font-family: "arial, comic sans ms, helvetica" ... }