Professional Documents
Culture Documents
Sobre
Se você se interessa pela criação de home pages já deve ter ouvido falar em Cascading
Style Sheets, ou CSS apenas. Trata-se de um padrão de formatação para páginas web
que vai além das limitações impostas pelo html. Proposto pelo W3 Consortium:
http://www.w3.org - uma espécie de comitê que define os padrões de programação para
a WWW - o CSS foi introduzido pela primeira vez pela Microsoft, no lançamento do
Internet Explorer 3.0.
Esta seção vai proporcionar uma visão geral dos CSS, incluindo as vantagens de se usar
os style sheets, as suas limitações, e um guia para utilizá-los. Ela mesma já se utiliza de
style sheets, e se você tiver múltiplos browsers, pode comparar a maneira como essas
páginas aparecem no Internet Explorer (3.0 ou superior) e nos outros browsers que não
suportam style sheets (Netscape 3.0 ou inferior, por exemplo). Mas observe que você só
será capaz de ver os efeitos dos style sheets se você vir essas páginas com o Internet
Explorer 3.0 ou o Netscape Communicator 4.0 (ou superior).
Todo documento escrito utiliza certos elementos de design para formatar seções de texto
a fim de manter a mesma aparência, seguir um padrão. Por exemplo, um elemento de
design Heading 1 é geralmente alguma fonte grande que identifica todas as principais
divisões de tópicos de um capítulo, artigo ou página da web. Um elemento de design
Heading 2 identifica todos os títulos dos subtópicos. A 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.
Uma grande vantagem é que 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. Outra enorme vantagem
das folhas de estilo é que é 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.
Depois de ler sobre as vantagens do CSS você pode estar pensando "Então por que não
usar style sheets para todas as páginas web?" A primeira parte da resposta é: nós
provavelmente deveríamos. A segunda parte, no entato, é: não é assim tão fácil quanto
deveria ser.
Se você estiver trabalhando numa intranet onde os browsers não reconhecem CSS,
não há muita razão para usar style sheets
Se você quiser usar style sheets para a audiência da Internet em geral, deve se
assegurar antes de que os usuários que têm browsers que não suportam CSS terão uma
apresentação aceitável das suas páginas
Mais tarde eu darei algumas sugestões para tornar as suas páginas amigáveis tanto para
os browsers que suportam CSS quanto para para os que não suportam, mas antes duas
palavrinhas sobre precauções a serem tomadas:
Se você está pensando em manter conjuntos paralelos de páginas com e sem style
sheets, não o faça: qualquer um que já tentou fazer isto irá lhe dizer que manter um
conjunto paralelo de páginas é um pesadelo que não deve ser vivido a não ser que:
1) você esteja com um tédio terrível e procurando fazer um monte de coisas para matar
tempo, ou
2) alguém estiver apontando um revólver para a sua cabeça e lhe obrigando a fazer
isso...
A última linha aqui é para lembrar que se você quiser usar style sheets para Internet,
esteja preparado para pagar o preço de que alguns usuários (com alguma confiança, um
número que vai declinar rapidamente) estarão vendo as suas páginas sem nenhum
efeito.
Este é o método que eu recomendo, porque ele permite usar um único style sheet para
várias páginas, talvez até para um site inteiro, o que é muito mais eficiente. (Isto pode
não funcionar se você tende a variar consideravelmente a formatação de cada página,
mas geralmente esta não é uma boa idéia em termos de comunicação efetiva). Este
método é muito útil tambem na administração do site, centralizando toda a configuração
em um unico arquivo. Se depois do site pronto resolvermos por exemplo alterar o
tamanho da fonte, basta alterar um arquivo .css e não todas as suas páginas.
Neste caso, você define os estilos num arquivo em separado com a extensão .css, e faz
uma referência a ele através de uma tag de link que se posiciona entre os tags de head de
cada arquivo HTML que irá utilizá-lo:
Exemplo
<html>
<head>
<link rel=STYLESHEET href="styles/stylesheets.css" type="text/css">
<title>...</title>
</head>
<body>...
Observe o atributo "type=text/css", também usado na tag <style> logo abaixo, para
identificar o arquivo referido como cascading style sheet. (Versões mais novas do
Internet Explorer não precisam disso, mas é mais prudente colocar porque outros
browsers pedem quando eles dão suporte para style sheets.)
2) Por meio de uma inserção de um style sheet numa única página web
Neste caso, você define os styles dentro de uma tag de style que se posiciona entre a tag
<html> e a tag <body>:
Exemplo
<html>
<head>
<style type="text/css">
<!--
P { font-size: 10pt; font-family: "Verdana, Arial, Sans-Serif"; color: #000066 }
H1 { font-size: 16pt; font-family: "Impact, Arial, Sans-Serif"; color: #990000 }
-->
</style>
...</head>
<body>...
3) Pelo acréscimo de atributos de estilo inline em algumas tags como <p>, <div>, ou
<span>
Neste caso você especifica um estilo para um único bloco de texto, ou usa a tag <span>
para especificar o estilo para uma palavra ou frase:
Exemplo
<div style="margin-left: 0.5in; font-size: 10pt">
Este deve ser um bloco indentado com algum
<span style="font-weight: bold; background: #FFFF00"> texto selecionado</span>
dentro dele
</div>
Em alguns casos você pode especificar diferentes características de estilo para o mesmo
texto por meio da combinação de um arquivo de style sheet referenciado em link com a
inserção de uma tag de style, e também com atributos de estilo inline. Se estas
diferentes especificações entrarem em conflito entre si, o browser tem que decidir qual
dos valores deve usar. Essa escolha é feita com base numa ordem de precedência (isto é
precisamente o que se quer dizer com cascading style sheets - "folhas de estilo em
cascata").
Unidades de Medidas
pt (pontos)
pc (picas)
em (ems)
in (polegadas)
cm (centímetros)
mm (milímetros)
px (pixels)
% (de algum outro valor, normalmente tamanho de fonte)
Na maioria dos casos, a unidade que você usa não faz a menor diferença, na medida em
que você estiver familiarizado com ela (os autores de web nos EUA podem preferir usar
polegadas, enquanto que na maioria dos outros países pode preferir-se os centímetros,
por exemplo; a maioria de nós está acostumado a definir o tamanho das fontes em
pontos, embora poucos pareçam saber quanto vale um "ponto" -- 1/72 de polegada).
Entretanto, algumas questões devem ser observadas. À diferença das três primeiras
unidades, pixels não designam uma distância absoluta; em vez disso, um pixel é uma
unidade para mostrar a altura ou a largura, e que depende da resolução de vídeo do
usuário. Ajustes de resolução podem variar, sendo que a maioria ainda utiliza 800x600
pixels. A desvantagem é que um objeto em pixels varia de tamanho de acordo com a
resolução utilizada. E a vantagem é que as imagens são dimensionadas geralmente em
pixels, e se ajustarmos os textos em pixels tambem, os objetos do site estarão sempre
proporcionais. Mas, acima de tudo, é muito importante testar suas páginas em diferentes
resoluções de video.
Conceito de Herança
Mais um conceito prelimar, antes que a gente entre nos detalhes da especificações dos
estilos. Como veremos nas páginas que se seguem, as especificações para estilo dos
style sheets em link e das tags de style inseridas são feitas com relação a vários
elementos de HTML como <p>, <h1>, <li>, <table>, e assim por diante. Mas alguma
flexibilidade nos estilos pode ser ganha através da herança de estilo. A herança significa
que você pode especificar classes adicionais a cada elemento, e cada classe herdará
algumas características de estilo de elementos básicos, a não ser que ela as substitua por
valores novos ou essa característica não seja herdada. (A tabela de propriedades indica
quais são herdadas e quais não.)
Exemplo
P
{
font-family: 'Trebuchet MS', 'Comic Sans MS', 'Arial', 'Sans-Serif', 'Helvetica';
font-weight: bold;
font-size: 11pt;
color: #000066;
position: relative;
margin-left: 1cm;
}
P.small
{
font-size: 8pt;
text-align: center;
}
Para produzir um parágrafo básico, você deve usar simplesmente uma tag <p>, e para
produzir o parágrafo pequeno e centralizado, você deve acrescentar o atributo
class=small (<p class=small>). Observe que também podem ser declaradas classes
gerais, que podem então ser usadas com qualquer elemento HTML:
Exemplo
.note
{
font-size: 10pt;
color: #006600;
background: #FFFFFF;
position: relative;
padding: 2pt;
border-width: thin;
border-style: ridge;
}
Com esta classe definida, uma parágrafo designado por <blockquote class=note> se pareceria com este.
Observe que somente um nível de classes é permitido: uma classe do tipo P.note.red não
funciona.
Tal como em qualquer outra definição de classes, você pode colocar cores ou outros
valores que desejar; nós vamos ver como fazer isto nas páginas seguintes.
Se você quiser que links e links visitados apareçam com cores distintas, como estamos
acostumados a ver na maioria das páginas web, então estas classes devem ser
especificadas nos seus style sheets.
Como você pode ter percebido olhando para os exemplos na página anterior, os estilos
são especificados como pares propriedade : valor que são separados por ponto e vírgula.
Qualquer valor pode ser colocado entre aspas, e valores com mais de uma palavra como
'Trebuchet MS' sempre devem ser colocados assim para evitar equivocos por browsers
mais antigos.
Estilos Inline
Para os estilos inline, a seqüência de pares propriedade : valor é colocada entre aspas e
posta como valor para o atributo de estilo:
Para os style sheets em links ou tags de style inseridas, as especificações de estilo são
feitas para os vários seletores, que podem ser qualquer um dos elementos do HTML.
Neste caso, os pares de especificação de estilo propriedade : valor são colocados entre
chaves logo depois do seletor:
H2
{
font-family: 'Trebuchet MS', 'Comic Sans MS', 'Arial', 'Sans-Serif';
font-weight: bold;
font-size: x-large;
color: #660066;
}
Observe que quando um dos valores consiste de palavras múltiplas (como no caso dos
valores das famílias de fontes no exemplo acima), cada um deles dentro da lista daquela
propriedade é colocado entre aspas.
Lembre-se também de que você pode especificar classes múltiplas (mas somente um
nível) para um seletor para variar as especificações de estilo, tal como vimos na
discussão da herança.
Estilos Contextuais
Finalmente, note também que você pode criar estilos contextuais através da combinação
de dois seletores:
Este estilo afeta somente o texto dentro do elemento STRONG, que está dentro do
elemento PARÁGRAFO. Se você quiser que o texto STRONG tenha sempre a mesma
cara independente de contexto, então crie um estilo simples com STRONG como
seletor:
Observe que em ambos os casos qualquer outra especificação de estilo para o elemento
no qual os textos em STRONG aparecem ainda terão efeito, a não ser que a
especificação de estilo para STRONG a sobrepuje.
Atalhos 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 fnte utilizada para
tags H1, como segue:
H1 {font-style: italic;
font-weight: bold;
font-size: 18pt;
font-family: 'Times Roman'}
Fonte incorporada
<STYLE TYPE="text/css">
@font-face {font-family: nome_da_fonte;
font-style: estilo_da_fonte;
font-weight: densidade_da_fonte;
src: url_da_fonte}
</STYLE>
OBS: Essa declaração deve estar entre as tags <HEAD>...</HEAD> em sua página
HTML.
Atalhos 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 fnte utilizada para
tags H1, como segue:
H1 {font-style: italic;
font-weight: bold;
font-size: 18pt;
font-family: 'Times Roman'}
3.x text-indent Faz a indentação da primeira tamanho (pt, in, cm, { text-indent:
(herdado) linha do texto no elemento px) 0.5in }
4.x
vertical-align alinha o texto verticalmente baseline { vertical-
4.x (não herdado) dentro do elemento sub align: super }
super
top
text-top
middle
bottom
text-bottom
porcentagem da altura
de linha a partir da base
da linha (%)
capitalize (coloca em
Ajusta as regras de maiúscula a primeira { text-
4.x text-transform
maiúsculas e minúsculas no letra de cada palavra) transform:
(herdado)
texto uppercase capitalize }
4.x
lowercase
ajusta o espaçamento entre as
normal,
letter-spacing letras no texto { letter-
tamanho (pt, in, cm, px,
4.x (herdado) (se espera que tenha suporte spacing: 2pt }
em)
na versão final do IE 4.0)
3.x margin-left Ajusta a distância a partir do lado tamanho (pt, in, { margin-left:
(não herdado) esquerdo da página cm, px) 1in }
4.x
3.x margin-right Ajusta a distância a partir do lado tamanho (pt, in, { margin-right:
(não herdado) direito da página cm, px) 1in }
4.x
3.x margin-top Ajusta a distância a partir da parte tamanho (pt, in, { margin-top:
(não herdado) de baixo do elemento prévio cm, px) -20pt }
4.x
margin-
3.x Ajusta a distância a partir da parte tamanho (pt, in, { margin-
bottom (não
de cima do próximo elemento cm, px) bottom: 20pt }
herdado)
4.x
tamanho (pt, in,
Ajustas as margens em todos os
cm, px) ou
quatro lados de um elemento (Se
porcentagem do { margin: .5cm
3.x margin (não houver somente um valor, ele se
tamanho da fonte .5cm 1cm
herdado) aplica a todos os lados; se houver
na ordem: alto, .5cm }
4.x dois ou três, o valor que falta será
direita, baixo,
tomado do lado oposto.)
esquerda
tamanho (pt, in,
Ajusta o preenchimento em todos
cm, px) ou
os quatro lados do conteúdo de um
porcentagem do { padding: .5cm
4.x padding (não elemento (Se houver somente um
tamanho da fonte .5cm 1cm
herdado) valor, ele se aplica a todos os lados;
na ordem: alto, .5cm }
4.x se houver dois ou três, o valor que
direita, baixo,
falta será tomado do lado oposto.)
esquerda
tamanho (pt, in,
3.x padding-top Ajusta o preenchimento na parte de cm, px) ou { padding-top:
(não herdado) cima do conteúdo de um elemento porcentagem do 5pt }
4.x tamanho da fonte
tamanho (pt, in,
Ajusta o preenchimento no lado
4.x padding-right cm, px) ou { padding-right:
direito do conteúdo de um
(não herdado) porcentagem do 5pt }
elemento
4.x tamanho da fonte
tamanho (pt, in,
padding-
4.x Ajusta o preenchimento na parte de cm, px) ou { padding-
bottom (não
baixo do conteúdo de um elemento porcentagem do bottom: 5pt }
herdado)
4.x tamanho da fonte
tamanho (pt, in,
Ajusta o preenchimento no lado
4.x padding-left cm, px) ou { padding-left:
esquerdo do conteúdo de um
(não herdado) porcentagem do 5pt }
elemento
4.x tamanho da fonte
Um dos parâmetros desta instrução é o local de origem da fonte, que deve estar
disponível na web em algum lugar, preferencialmente dentro da própria estrutura de
pastas do seu domínio.
Vamos partir do princípio.
Construa o texto que deseja com HTML simples, apenas com uma página de referência.
Defina nesta página um estilo para a sua fonte.
Observe o trecho de código a seguir:
<html>
<head>
<style type="text/css">
@font-face {font-family:"Souvenir Light
BT";src:url("http://www.meudominio.com.br/fonts/tt0019m_.ttf")}
.meuestilo {font-family:"Souvenir Light BT"}
</style>
</head>
<body>
<font class="meuestilo">Este é um exemplo de texto que vai ser escrito na fonte
Souvenir Light BT.</font>
</body>
</html>
Repare que tt0019m_.ttf é o arquivo que contém a fonte a ser utilizada, e está disponível
na web.
Salve a página e baixe o programa WEFT, distribuído gratuitamente pela Microsoft,
justamente para este fim no site
http://www.microsoft.com/typography/web/embedding/weft3/default.htm
<html>
<head>
<style type="text/css">
@font-face {font-family:Souvenir Lt BT;font-style: normal;font-weight: 700;src:
url(fonts/souveni0.eot);}
.meuestilo {font-family:"Souvenir Lt BT";font-size:50px;color:#330099;font-
weight:bold}
</style>
</head>
<body>
<font class="meuestilo">Observe o efeito da sua nova fonte em qualquer lugar do
mundo!</font>
</body>
</html>
Colocando bordas em tabelas
Enviado por: Paulo Januário
E-mail: paulojanuario@superig.com.br
Data e hora: 08/09/2004 - 11:24h
<STYLE>
<br>
<br>BODY
<br>{
<br> BGCOLOR: white;
<br><dd>margin-top: 0px;
<br>}
<br>.tbBorder
<br>{
<br> BORDER-TOP: #000000 1px solid;
<br> BORDER-RIGHT: #000000 1px solid;
<br> BORDER-BOTTOM: #000000 1px solid;
<br> BORDER-LEFT: #000000 1px solid;
<br> BACKGROUND-COLOR: #CCFF99;
<br>}
<br></STYLE>
<br>Para incluir na tabela é so fazer isso:
<br><table cellpadding="0" cellspacing="0" CLASS="tbBorder">
Borda de 1 pixel
Enviado por: Areshandore
Data e hora: 02/06/2004 - 13:36h
<style>
.borda1px {
BORDER-RIGHT: #000000 1px solid; BORDER-TOP: #000000 1px solid;
BORDER-LEFT: #000000 1px solid; BORDER-BOTTOM: #000000 1px solid;
}
</style>
Pode usar pra fazer borda em imagens, contorno de tabela, contorno de célula de
tabela, etc. Basta colocar dentro da tag que vai ter a borda class=borda1px
Formulário colorido
Enviado por: Anderson Roberto
E-mail: andersonn_roberto@ig.com.br
Data e hora: 21/08/2003 - 23:46h
Os atributos são os mesmos da tabela e caixas.
<input type=text name="" size=15 style=background-color:#7f7f7f;border-
style:solid;border-color:#b2b2b2>
Cor no Formulário
Enviado por: Brian
E-mail: brian.rpg@globo.com
Data e hora: 18/07/2003 - 14:26h
<style>
select { font-size: smaller; background-color:#ffcc00 ; font-weight: bold; color:
#000080; }
</style>
Sublinhado colorido
Enviado por: Filipe Martins Teixeira
E-mail: arame51@yahoo.com.br
Data e hora: 24/02/2003 - 14:27h
Se você quiser mudar a cor do sublinhado, use esse código e faça as alterações
necessárias:
<head>
<style type:text/css>
A:Hover {text-decoration: none; border-bottom: 1pt solid white;}
</style>
</head>
<style type:text/css>
a:hover {text-decoration: underline; color:"#AADD00"}
</style>
Fonte: