Manual CSS
Manual CSS
Manual CSS
Introduo ..................................................................................................................................... 4 Lio 1: O que CSS? .................................................................................................................... 5 O que posso fazer com CSS? ..................................................................................................... 5 Qual a diferena entre CSS e HTML? ...................................................................................... 5 Quais so os benefcios do uso de CSS? .................................................................................... 6 Lio 2: Como funciona o CSS? ..................................................................................................... 6 A sintaxe bsica das CSS ............................................................................................................ 6 Aplicando o CSS a um documento HTML .................................................................................. 7 Mtodo 1: In-line (o atributo style)....................................................................................... 7 Mtodo 2: Interno (a tag style) ............................................................................................. 7 Mtodo 3: Externo (link para uma folha de estilos).............................................................. 8 Faa voc mesmo ...................................................................................................................... 9 default.htm............................................................................................................................ 9 style.css ................................................................................................................................. 9 Lio 3: Cores e fundos ............................................................................................................... 10 Cor do primeiro plano: a propriedade 'color' ......................................................................... 10 A propriedade 'background-color' .......................................................................................... 10 Imagens de fundo [background-image] .................................................................................. 11 Imagem de fundo repetida [background-repeat] ................................................................... 12 Imagem de fundo fixa [background-attachment] ................................................................... 12 Posio da imagem de fundo [background-position] ............................................................. 13 Compilando [background] ....................................................................................................... 15 Lio 4: Fontes............................................................................................................................. 16 Famlia de fontes [font-family] ................................................................................................ 16 Estilo da fonte [font-style] ...................................................................................................... 17 Fonte variante [font-variant] .................................................................................................. 18 Peso da fonte [font-weight] .................................................................................................... 18 Tamanho da fonte [font-size].................................................................................................. 18 Compilando [font] ................................................................................................................... 20 Lio 5: Textos ............................................................................................................................. 21 Indentao de texto [text-indent] ........................................................................................... 21 Alinhamento de textos [text-align] ......................................................................................... 21 Decorao de textos [text-decoration] ................................................................................... 22 Pgina | 2
Espaamento entre caracteres [letter-spacing] ...................................................................... 22 Transformao de textos [text-transform] ............................................................................. 22 Lio 6: Links ............................................................................................................................... 24 O que uma pseudo-classe?................................................................................................... 24 Pseudo-classe: link .............................................................................................................. 25 Pseudo-classe: visited ......................................................................................................... 25 Pseudo-classe: active .......................................................................................................... 25 Pseudo-classe: hover ........................................................................................................... 25 Exemplo 1: Efeito quando o ponteiro est sobre o link .......................................................... 26 Exemplo 1a: Espaamento entre as letras .......................................................................... 26 Exemplo 1b: UPPERCASE e lowercase ................................................................................. 26 Exemplo 2: Removendo sublinhado dos links ......................................................................... 26 Lio 7: Identificar e agrupar elementos (class e id) ................................................................... 28 Agrupando elementos com uso de classe ............................................................................... 28 Identificando um elemento com uso de id ............................................................................. 29 Lio 8: Agrupar elementos (span e div) ..................................................................................... 31 Agrupar com <span> ............................................................................................................... 31 Agrupar com <div> .................................................................................................................. 32
Pgina | 3
Introduo
Folhas de estilos em cascata Cascading Style Sheets (CSS) uma ferramenta fantstica para construo do layout dos seus websites. Permite que projecte websites com uma tcnica completamente diferente da convencional e possibilita uma considervel reduo de tempo de trabalho. Conhecer CSS uma necessidade para qualquer um envolvido com o projecto Web.
Este tutorial inici-lo- nas CSS em algumas horas. fcil de entender e ensinar-lhe- todas as tcnicas sofisticadas.
Aprender CSS divertido. medida que progredir no tutorial no esquea de dedicar algum tempo para fazer exerccios com o que for aprendendo em cada captulo.
Para usar CSS necessrio um conhecimento bsico de HTML. Se voc no est familiarizado com HTML, faa-o antes de iniciar o trabalho com o CSS.
Que software necessrio? Por favor, evite usar software tal como FrontPage, DreamWeaver ou Word para acompanhar este tutorial. Softwares avanados no facilitaro a aprendizagem de CSS. Ao contrrio, colocar-lhe-o limites e atrasaro a sua aprendizagem. Tudo o que precisa de um simples e gratuito editor de texto.
Por exemplo, o Microsoft Windows vem com um programa chamado Notepad. Normalmente este programa est no directrio Acessrios no menu Iniciar => Programas. Em alternativa, pode usar um editor de texto similar, tal como, Pico para Linux ou Simple Text para Macintosh.
Um editor de texto simples o ideal para a aprendizagem de HTML e de CSS porque eles no afectam nem modificam o cdigo que insere. Assim os acertos e erros de codificao devem-se exclusivamente a si no ao software que utiliza. Pode usar qualquer navegador para acompanhar este tutorial. Ns aconselhamos que mantenha o seu navegador sempre actualizado e utilize a ltima verso disponvel. Um navegador e um editor de textos simples tudo o que voc precisa. Vamos comear!
Pgina | 4
navegadores. E ao mesmo tempo a separao dos estilos de apresentao da marcao dos contedos torna a manuteno dos sites bem mais fcil.
Como pode ver os cdigos HTML e CSS so mais ou menos parecidos. O exemplo acima serve tambm para demonstrar o fundamento do modelo CSS:
Pgina | 6
Uma maneira de aplicar CSS pelo uso do atributo style do HTML. Tomando como base o exemplo mostrado anteriormente a cor vermelha para o fundo da pgina pode ser aplicada conforme mostrado a seguir:
<html> <head> <title>Exemplo</title> </head> <body style="background-color: #FF0000;"> <p>Esta uma pgina com fundo vermelho</p> </body> </html>
Uma outra maneira de aplicar CSS pelo uso da tag <style> do HTML:
<html> <head> <title>Exemplo</title> <style type="text/css"> body {background-color: #FF0000;} </style> </head> <body> <p>Esta uma pgina com fundo vermelho</p> </body> </html>
Pgina | 7
O mtodo recomendado o de apontar para uma folha de estilos externa. Usaremos este mtodo nos exemplos deste tutorial. Uma folha de estilos externa um simples ficheiro de texto com a extenso .css. Tal como com qualquer outro tipo de ficheiro pode colocar uma folha de estilos tanto no servidor como no disco rgido. Vamos supor, por exemplo, que a sua folha de estilos tem o nome style.css e est localizada no directrio style. Tal situao est mostrada a seguir:
O "truque" criar um link no documento HTML (default.htm) para a folha de estilos (style.css). O link criado numa simples linha de cdigo HTML comi se v a seguir:
<link rel="stylesheet" type="text/css" href="style/style.css" />
Note que o caminho para a folha de estilos indicado no atributo href. Esta linha de cdigo deve ser inserida na seco header do documento HTML, isto , entre as tags <head> e </head>. Conforme mostrado abaixo:
<html> <head> <title>Meu documento</title> <link rel="stylesheet" type="text/css" href="style/style.css" /> </head> <body> ...
Esta hiperligao comanda o navegador a usar o ficheiro CSS na renderizao e apresentao do layout do documento HTML. A coisa realmente inteligente disto que vrios documentos HTML podem apontar para uma mesma folha de estilos. Em outras palavras isto significa que um simples ficheiro ser capaz de controlar a apresentao de muitos documentos HTML.
Pgina | 8
Esta tcnica pode economizar uma grande quantidade de trabalho. Se por exemplo, voc quiser trocar a cor do fundo de um site com 100 pginas, a folha de estilos evita que voc edite manualmente uma a uma as pginas para fazer a mudana nos 100 documentos HTML. Usando CSS a mudana se far em uns poucos segundos trocandose a cor em uma folha de estilos central. Vamos praticar o que aprendemos.
style.css
body { background-color: #FF0000; }
Guarde os dois ficheiros no mesmo directrio. Lembre-se de guardar os ficheiros com a extenso apropriada (".css" e ".htm")
Pgina | 9
Abra o ficheiro default.htm no seu navegador e veja uma pgina com o fundo vermelho. Parabns! Construiu sua primeira folha de estilos!
As cores podem ser definidas pelo seu valor hexadecimal como no exemplo acima (#ff0000), com uso do nome da cor ("red") ou ainda pelo seu valor rgb (rgb(255,0,0)).
A propriedade 'background-color'
A propriedade background-color define a cor do fundo de um elemento. O elemento <body> contm todo o contedo de um documento HTML. Assim, para mudar a cor de fundo da pgina, devemos aplicar a propriedade background-color ao elemento <body>. Pode aplicar cores de fundo para outros elementos, inclusive para cabealhos e textos. No exemplo abaixo foram aplicadas diferentes cores de fundo para os elementos <body> e <h1>.
Pgina | 10
Note que foram aplicadas duas propriedades ao elemento <h1> separadas por um ponto e vrgula.
Para inserir uma imagem de fundo na pgina basta aplicar a propriedade backgroundimage ao elemento <body> e especificar o caminho para onde est gravada a imagem.
body { background-color: #FFCC66; background-image: url("butterfly.gif"); } h1 { color: #990000; background-color: #FC9804; }
Pgina | 11
Note como foi especificado o caminho para a imagem usando url("butterfly.gif"). Isto significa que a imagem est localizada no mesmo directrio da folha de estilos. Pode ser escolhido um outro directrio para gravar as imagens e o caminho seria url("../images/butterfly.gif") ou at mesmo hosped-la na Internet: url("http://www.html.net/butterfly.gif").
Descrio A imagem repete-se na horizontal A imagem repete-se na vertical A imagem repete-se na tanto na horizontal como na vertical A imagem no se repete
background-repeat: repeat
background-repeat: no-repeat
Por exemplo, o cdigo mostrado a seguir para que a imagem no se repita no ecr:
body { background-color: #FFCC66; background-image: url("butterfly.gif"); background-repeat: no-repeat; } h1 { color: #990000; background-color: #FC9804; }
Pgina | 12
A tabela a seguir mostra os diferentes valores para background-attachment. Veja os exemplos para constatar a diferena entre imagem fixa e imagem que rola.
Valor Descrio
A imagem fixa
Pgina | 13
Descrio A imagem posicionada a 2 cm da esquerda e 2 cm para baixo na pgina A imagem centrada na horizontal e a um quarto (25%) para baixo na pgina A imagem posicionada no canto superior direito da pgina
Pgina | 14
Compilando [background]
A propriedade background uma abreviao para todas as propriedades listadas anteriormente. Com background declara vrias propriedades de modo abreviado, economizando digitao e alguns bits, alm de tornar a folha de estilo mais fcil de se ler e entender. Por exemplo, observe as cinco linhas a seguir:
background-color: #FFCC66; background-image: url("butterfly.gif"); background-repeat: no-repeat; background-attachment: fixed; background-position: right bottom;
Se uma das propriedades no for declarada ela assume automaticamente o seu valor por defeito. Por exemplo, a propriedade background-attachment e backgroundposition no foram declaradas no cdigo mostrado a seguir:
background: #FFCC66 url("butterfly.gif") no-repeat;
As duas propriedades no declaradas assumiro o valor por defeito, que como j sabe so: a imagem rola no ecr e ser posicionada no canto superior esquerdo (que so os valores por defeito para as propriedades no declaradas).
Pgina | 15
Lio 4: Fontes
Nesta lio estudaremos as fontes e como aplic-las usando CSS. Veremos como criar situaes para que determinada fonte seja visualizada pelo utilizador mesmo no estando instalada em seu sistema operacional. Descreveremos as seguintes propriedades CSS:
font-family font-style font-variant font-weight font-size font
Nome para famlias de fontes Exemplos para este tipo (normalmente conhecidas como "font") so "Arial", "Times New Roman" ou "Tahoma".
Nome para famlias genricas Famlias genricas so fontes que pertencem a um grupo com aparncia uniforme. Um exemplo as fontes sans-serif que englobam a coleco de fontes que "no tm p".
Pgina | 16
Ao listar fontes para o seu website, comece com aquela preferida, seguindo-se algumas alternativas para a mesma. recomendvel encerrar a listagem das fontes com uma fonte genrica. Assim, em ltimo caso a pgina ser renderizada com fonte da mesma famlia das que foram especificadas quando todas as demais estiverem indisponveis na mquina do utilizador. A seguir mostramos um exemplo de listagem de fontes:
h1 {font-family: arial, verdana, sans-serif;} h2 {font-family: "Times New Roman", serif;}
Cabealhos <h1> sero renderizados com fonte "Arial". Se o utilizador no tiver a font Arial instalada, ser usada a fonte "Verdana". Se ambas estiverem indisponveis na mquina do utilizador ser usada uma fonte da famlia sans-serif. Note que para especificar a fonte "Times New Roman" foram usadas aspas. Isto necessrio para fontes com nomes compostos e que contenham espaos entre os nomes.
Pgina | 17
Se a propriedade font-variant for definida para small-caps e no estiver disponvel na mquina do utilizador, ser usada a fonte em maisculas.
h1 {font-variant: small-caps;} h2 {font-variant: normal;}
Existe uma diferena fundamental entre as quatro unidades adoptadas no exemplo acima. As unidades 'px' e 'pt' so absolutas, enquanto '%' e 'em' permitem ao utilizador ajustar o tamanho das fontes ao seu gosto e necessidade. Muitos
Pgina | 18
utilizadores tm restries, como por exemplo, pessoas idosas, pessoas com viso limitada ou as que usam um monitor de baixa qualidade. Para tornar o seu site acessvel a todos, voc dever usar unidades como '%' ou 'em'. Abaixo pode ver como ajustar o tamanho das fontes nos navegadores Mozilla Firefox e Internet Explorer uma excelente funcionalidade do navegador, no mesmo?
Pgina | 19
Compilando [font]
Usar font uma abreviao que permite definir vrias propriedades numa s. Veja a seguir quatro linhas de cdigo usadas para definir propriedades de fonte para um pargrafo <p>:
p { font-style: italic; font-weight: bold; font-size: 30px; font-family: arial, sans-serif; }
Pgina | 20
Lio 5: Textos
Formatar e estilizar textos um item chave para qualquer web designer. Nesta lio ir conhecer as interessantes oportunidades que as CSS proporcionam para adicionar layout aos textos. Sero discutidas as propriedades listadas abaixo:
text-indent text-align text-decoration letter-spacing text-transform
Pgina | 21
Pgina | 22
Capitaliza a primeira letra de cada palavra. Por exemplo: "john doe" transforma-se em "John Doe". uppercase Converte todas as letras para maiscula. Por exemplo: "john doe" transforma-se em "JOHN DOE". lowercase Converte todas as letras para minscula. Por exemplo: "JOHN DOE" transforma-se em "john doe". none Sem transformaes - o texto apresentado como foi escrito no cdigo HTML.
Para exemplificar vamos usar uma lista de nomes. Os nomes esto marcados com o elemento <li> (item de lista). Vamos supor que desejamos os nomes capitalizados e os cabealhos em letras maisculas. Ao consultar o exemplo sugerido para este cdigo repare no HTML da pgina e observe que os textos no cdigo foram escritos com todas as letras em minsculas.
h1 { text-transform: uppercase; } li { text-transform: capitalize; }
Pgina | 23
Lio 6: Links
Pode aplicar aos links tudo que aprendeu nas lies anteriores (i.e. mudar cores, fontes, sublinhados, etc). A novidade aqui que pode definir as propriedades de maneira diferenciada de acordo com o estado do link, ou seja, visitado, no visitado, activo ou com o ponteiro do rato sobre o link. Isto permite adicionar efeitos interessantes ao seu website. Para estilizar estes efeitos ir utilizar as chamadas pseudo-classes.
Um link pode ter diferentes estados. Por exemplo, pode ter sido visitado ou no visitado. Ir ento utilizar pseudo-classes para definir o estilo para links visitados e no visitados.
a:link { color: blue; } a:visited { color: red; }
Utilize as pseudo-classes a:link e a:visited para criar estilos para links no visitados e visitados, respectivamente. Links activos so estilizados com a pseudo-classe a:active e a:hover, esta ltima a pseudo-classe para links com o ponteiro do rato sobre ele. A seguir iremos ver com mais detalhes e exemplos, as quatro pseudo-classes.
Pgina | 24
Pseudo-classe: link
A pseudo-classe :link usada para links no visitados. No exemplo a seguir links no visitados sero na cor verde.
a:link { color: green; }
Pseudo-classe: visited
A pseudo-classe :visited usada para links visitados. No exemplo a seguir links visitados sero na cor amarela:
a:visited { color: yellow; }
Pseudo-classe: active
A pseudo-classe :active usada para links ativos. No exemplo a seguir links activos surgiro com a cor de fundo vermelha:
a:active { background-color: red; }
Pseudo-classe: hover
A pseudo-classe :hover usada para quando o ponteiro do rato est sobre o link. Isto pode ser usado para conseguir efeitos bem interessantes. Por exemplo, podemos mudar a cor do link para laranja e o texto para itlico quando o ponteiro do rato passa sobre ele, o cdigo CSS para estes efeitos o mostrado a seguir:
a:hover { color: orange; font-style: italic; }
Pgina | 25
Como deve estar lembrado da Lio 5, o espaamento entre as letras de um texto pode ser controlado pela propriedade letter-spacing. Isto pode ser aplicado aos links para obter um efeito interessante:
a:hover { letter-spacing: 10px; font-weight:bold; color:red; }
Na mesma lio, vimos a propriedade text-transform, para criar estilos com letras maisculas e minsculas. Isto pode ser utilizado para definir o estilo dos links:
a:hover { text-transform: uppercase; font-weight:bold; color:blue; background-color:yellow; }
Os exemplos mostrados do uma ideia das inmeras possibilidades de combinao de diferentes propriedades. Voc pode criar seus prprios efeitos experimente!
no sublinhado. Para remover o sublinhado, basta definir o valor none para a propriedade text-decoration.
a { text-decoration:none; }
Em alternativa, pode definir text-decoration juntamente com outras propriedades para as quatro pseudo-classes.
a:link { color: blue; text-decoration:none; } a:visited { color: purple; text-decoration:none; } a:active { background-color: yellow; text-decoration:none; } a:hover { color:red; text-decoration:none; }
Pgina | 27
Queremos que os links para vinho branco sejam na cor amarela, para vinho tinto na cor vermelha e os demais links na pgina permaneam na cor azul. Para conseguir isto, dividimos os links em duas categorias. Isto feito atribuindo uma classe para cada link, usando o atributo class. Vamos especificar esta classe no exemplo a seguir:
<p>Uvas para vinho branco:</p> <ul> <li><a href="ri.htm" class="whitewine">Riesling</a></li> <li><a href="ch.htm" class="whitewine">Chardonnay</a></li> <li><a href="pb.htm" class="whitewine">Pinot Blanc</a></li> </ul> <p>Uvas para vinho tinto:</p> <ul> <li><a href="cs.htm" class="redwine">Cabernet Sauvignon</a></li> <li><a href="me.htm" class="redwine">Merlot</a></li>
Pgina | 28
Agora podemos definir propriedades especficas para links pertencentes as classes whitewine e redwine, respectivamente.
a { color: blue; } a.whitewine { color: #FFBB00; } a.redwine { color: #800000; }
Como se v no exemplo acima, pode-se definir as propriedades para a criao dos elementos pertencentes a uma determinada classe, atravs de um .nomedaclasse na folha de estilos do documento.
Pgina | 29
O exemplo acima simula os cabealhos de um documento estruturado em captulos e pargrafos. comum atribuir uma id para cada captulo, como se pode ver no exemplo a seguir:
<h1 ... <h2 ... <h2 ... <h1 ... <h2 ... <h3 ... id="c1">Captulo 1</h1> id="c1-1">Captulo 1.1</h2> id="c1-2">Captulo 1.2</h2> id="c2">Captulo 2</h1> id="c2-1">Captulo 2.1</h2> id="c2-1-2">Captulo 2.1.2</h3>
Vamos supor que o cabealho do captulo 1.2 deva ser na cor vermelha. Isto pode ser feito conforme no exemplo a seguir:
#c1-2 { color: red; }
Como se pode ver no exemplo acima, possvel definir propriedades para um elemento especfico usando um selector #id na folha de estilos para o documento.
Pgina | 30
Vamos supor que queremos enfatizar na cor vermelha os benefcios apontados por Mr. Franklin pelo facto de no se passar o dia a dormir. Para isto marcamos os benefcios com <span>. A cada span atribumos uma class, e definimos o estilo na folha de estilos:
<p>Dormir cedo e acordar cedo faz o homem <span class="benefit">saudvel</span>, <span class="benefit">rico</span> e <span class="benefit">sbio</span>.</p>
A folha de estilos:
span.benefit { color:red; }
claro que pode usar id para estilizar o elemento <span>. Mas, como deve estar lembrado, dever usar uma nica id para cada um dos trs elementos <span>, conforme foi explicado na lio anterior.
Pgina | 31
E na folha de estilos, podemos agrupar a estilizao da mesma maneira como fizemos no exemplo acima:
#democrats { background:blue; } #republicans { background:red; }
Nos exemplos mostrados acima usamos apenas <div> e <span> para simples estilizaes, tais como cores de textos e de fundos. Contudo estes dois elementos possibilitam estilizaes bem mais avanadas como veremos adiante.
Pgina | 32