CSS (Cascading Style Sheets, folhas de estilo em cascata)

Marcação nas páginas

Atualizado em 5.8.2010

Estilos CSS podem ser aplicados de três maneiras diferentes, de acordo com a abrangência dentro do site:

1) As especificações de layout podem ser aplicadas a partir de arquivos anexados à página entre as marcações <head> </head> localizadas em arquivos.css anexos às páginas:

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

A atualização destes arquivos externos altera o layout de todas as páginas ao mesmo tempo. Exemplo de configurações

Os estilos podem ser divididos em vários arquivos externos, de diferentes abrangências, como por exemplo:

Um arquivo CSS com características do site todo e outro com características específicas de uma página, grupo de páginas ou partes de uma página . Exemplo

Um arquivo CSS anexo e CSSs aplicados a apenas uma página na "cabeça" (<head>) da página. Exemplo


2) As marcações de CSS podem ser aplicados diretamente entre as marcações <head> </head>:

<style type="text/css">
<!--
body { background-image: url(../../../iconografia/fundod.gif);}
-->
</style>


3) Estilos CSS podem ser aplicados também dentro das marcações de HTML.

Exemplo:
<P style="color: blue; font-family: Helvetica, Arial, sans-serif">
Texto assinalado</P>

A ordem de precedência de configurações que atuam de maneira semelhante ou superposta é simples: a última marcação predomina. A ordem de precedência é a seguinte:

1) Estilo definido pelo browser (default).

2) Estilo CSS externo.

3) Estilo CSS interno de cada página.

4) Estilo aplicado nas marcações dos elementos HTML.

Os estilos CSS podem ser também a visualização dos sites em diferentes mídias, com as marcações:

all - aplicável a todas os dispositivos.
aural - para sintetizadores de voz.
braille - para dispositivos táteis baseados em braille.
embossed - para impressoras em braille.
handheld - para PDAs (tela pequena, monocromática, banda estreita) - é ignorado pelo iPhone e outros dispositivos sensíveis ao toque. Interfaces formatadas para estes dispositivos precisam ter a especificação da mídia e das suas medidas.

<link rel="stylesheet" href="iphone.css" type="text/css" media="only screen and (max-device-width: 480px)">

A marcação acima aponta para qualquer tela com resolução máxima de 480 px e a capacidade de ler estilos para tela.

print - para material paginado e documentos visíveis na tela através do preview de impressão (grandes áreas de cor e fundos de imagem ou coloridos devem ser evitados, para que o usuário gaste menos tinta; textos marcados em pixels, em vez de percentuais também podem ser adaptados para tamanhos ideais na impressão).
projection - para apresentações projetadas em tela.
screen - instrui o browser para mostrar uma página em computador.
tty - para mídias com uso de fontes de largura fixa, dispositivos com opacidade limitada.
tv - para dispositivos semelhantes a TV (baixa resolução, pouca capacidade de rolar a tela, som.

Estas marcações fazem parte dos padrões do CSS 2, mas sua adoção tem sido lenta. Os valores das configurações "screen" e "print" são amplamente compatíveis com a maioria dos browsers e dispositivos, mas as outras configurações não são muito precisas.

A configuração para a mídia "handheld" só é aceita por alguns dispositivos móveis e programas. A configuração "projection" é apenas aceita pelo browser Opera. E praticamente não existe suporte para "braille", "tv", "tty", "embossed" e "aural".

Para garantir resultados razoavelmente previsíveis, é necessário testar bastante cada configuração em diferentes situações de hardware e software. Ou adaptar as marcações a alguns dispositivos espeíficos.

-> Por exemplo, a marcação abaixo permite a aplicação para telas com, no mínimo 20ems.

@media handheld and (min-width:20em)
{ background-color: #ff0000;}

Pode ser usada também marcação que defina as laguras máximas e mínimas da tela:

@import url(/style.css) screen and (min-width:800px) and (max-width:1280px);

 

Assuntos relacionados
XHTML - Separar forma e conteúdo
Navegadores : A forma estruturada independente de plataforma deve permear o projeto
Testes de compatibilidade

Referências sobre CSS
In depth CSS part 4: New CSS3 styles, de Amber Weinberg (spyrestudio, acesso em 29.3.2010)
The right frame of mind: Applying the lessons of CSS frameworks, de Alex Dawson (SitePoint, acesso em 19.3.2010)
Media queries (SitePoint, acesso em 11.4.2009)

Mais informação sobre o assunto (links externos)
iPhone development: 12 tips to get you started, de Stoyan Stefanov (SitePoint, acesso em 10.4.2009)
HTML.net - tutoriais de HTML e CSS
Tableless (http://www.tableless.com.br/) - site que tem como objetivo compartilhar informações, ideias e estudos relacionados aos Padrões web para desenvolvedores
WebStandards (http://www.webstandards.org/)
Tutoriais CSS, Tableless, web standards e acessibilidade - site desenvolvido por Maurício Samy Silva, com exemplos, modelos e artigos, inclusive com tradução das Técnicas CSS para acessibilidade a conteúdo web publicadas no site do W3C
Writing semantic markup, de Joshua Porter e Richard MacManus (Digital Web, 5.9.2005)

Ferramentas de apoio
Turbine (acesso em 5.8.2010)
CSS Compressor (programa que comprime arquivos CSS para melhorar a performance e diminuir o tempo de carregação)

Avellar e Duarte no Twitter Avellar e Duarte no Facebook