Escolar Documentos
Profissional Documentos
Cultura Documentos
Este breve tutorial destina-se àqueles que ainda não escreveram sua primeira folha de estilos e
desejam começar a projetar com CSS.
Aqui você não encontrará explicações avançadas sobre CSS. Este tutoriaI explica como criar um
arquivo HTML, um arquivo CSS e como integrá-los de maneira a que funcionem juntos. Após estas
noções básicas você poderá ler outros tutoriais e então incrementar os arquivos HTML e CSS aqui
criados. Ou ainda, poderá passar a usar um editor adequado para HTML ou CSS, que vai auxiliá-lo
a construir sites mais complexos.
Abaixo uma visão da página web que construiremos ao longo deste tutorial:
A página web pronta, com seu layout e cores definidas por CSS.
Adotei como convenção ao longo do tutorial um sinal de "perigo" como este ao lado
esquerdo e uma fonte menor, para indicar um texto opcional contendo uma explicação extra sobre
os códigos HTML e CSS do exemplo. O sinal de "perigo" indica um texto contendo técnicas mais
avançadas.
Não use processadores de textos tais como Microsoft Word ou OpenOffice. Eles geram arquivos
que os web browsers não conseguem interpretar. Para códigos HTML e CSS, precisamos de
arquivos de texto simples.
O passo 1 consiste em abrir seu editor de texto (Notepad, TextEdit, KEdit, ou outro de sua
preferência), e digitar o código mostrado abaixo:
</body>
</html>
Na realidade você não precisa digitar o código, simplesmente copie e cole no editor.
As palavras dentro dos sinais < e > são chamadas de tags e, como você pode notar, o
documento está contido dentro das tags <html> e </html>. Entre as tags <head> e </head>
poderão estar contidas várias informações que não são mostradas na tela. Note que ali está
contido o título (title) do documento e mais adiante você verá que nossa folha de estilos
também será colocada ali.
A tag <body> contém o texto do documento em si. A princípio tudo que está dentro dela
será mostrado na tela exceto textos colocados entre os sinais <!-- e -->, que se destinam a
abrigar comentários no código. O browser ignora os comentários.
Sobre as demais tags no exemplo, <ul> é para exibir “Listas não ordenadas”, isto é, uma
lista na qual os seus itens não são numerados. A tag <li> é para cada um dos "Itens da
lista". A tag <p> é para “Parágrafos.” E, a tag <a> é para “Âncoras”, e servem para criar
hyperlink.
Se você quiser saber o significado dos nomes dentro dos sinais <…> (nomes das
tags) um bom lugar para consulta e leitura é Primeiros passos com HTML. Mas, a seguir
alguns comentários sobre a estrutura do HTML da nossa página.
• O elemento “ul” marca uma lista contendo um hiperlink por item. Esta lista com
seus itens se constituirá no "menu de navegação do site", com links para outras
páginas do nosso (hipotético) Web Site. Provavelmente todas as páginas do site
conterão um menu igual a este.
• Os elementos “h1” e “p” marcam o conteúdo da página e a assinatura no rodapé da
página (“address”) será igual para todas as páginas do site.
Observe que eu não usei tags de fechamento para os elementos “li” e “p”. Em HTML (ao
contrário de XHTML), é permitido omitir as tags de fechamento </li> e </p> e eu as omiti
com a finalidade de tornar o texto do código mais legível. Contudo você pode usar as tags
de fechamento se assim preferir.
Vamos admitir que este será um layout de página que se repetirá várias vezes no Web site.
Como é bastante comum em Web sites as páginas se repetem com um mesmo menu de
navegação e assinatura e uma área de conteúdo.
Agora selecione, no menu "Arquivo" ("File") "Salvar como..." (“Save As…”), escolha um
diretório e pasta (salvar no Desktop é bem apropriado neste caso) e grave ("salve") o
arquivo com o nome de “minhapagina.html”. Não feche o editor, pois iremos precisar dele
mais adiante.
(Se você estiver usando o TextEdit para Mac, você deverá informar ao TextEdit que o texto
a gravar é do tipo "plain text", para isto vá ao menu Format e selecione “Make plain text”.
A seguir ao salvar o texto e o TextEdit propor adicionar a extensão “.txt” ao arquivo,
escolha “Don't append.” Algumas vezes o Mac dá uma de inteligente…)
A seguir abra o arquivo que você salvou em um browser. Você pode fazer isto da seguinte
maneira: procure o arquivo com o gerenciador de arquivos (Windows Explorer, Finder ou
Konqueror) e dê um ou dois cliques de mouse sobre o arquivo “minhapagina.html”. Esta
ação deverá fazer com que o arquivo seja aberto no browser default do seu sistema. (Se isto
não acontecer abra o seu browser e arraste o arquivo para dentro dele.)
Comecemos com uma folha de estilos incorporada ao arquivo HTML. Mais a frente,
separaremos os arquivos HTML e CSS. Separar os arquivos é uma boa técnica, pois isto
permite usar a mesma folha de estilos para vários arquivos HTML: você precisará escrever
uma só folha de estilos. Por ora vamos colocar nossa CSS no mesmo arquivo HTML.
<body>
[etc.]
As linhas a acresentar estão destacadas acima na cor vermelha. A primeira linha informa
que trata-se de uma folha de estilos escrita para CSS (“text/css”). A segunda linha diz que
as regras de estilo a seguir, aplicam-se ao elemento “body”. A terceira determina que os
textos serão em cor purple (púrpura) e a linha a seguir coloca a cor #d8da3d (amarela
esverdeada) para o fundo da página.
No exemplo nota-se que as regras podem ser combinadas. Ali estão escritas duas
propriedades. Poderíamos ter escrito duas regras separadamente sem combiná-las:
mas, como as duas regras valem para o elemento body, escrevemos uma só vez o elemento
e colocamos as propriedades com seus valores, juntas. Para saber mais sobre seletores
consulte capítulo 2 do Lie & Bos.
A cor de fundo (background-color) do elemento body valerá para todo o documento. Nós
não escrevemos nenhuma regra adicional colocando fundo de outra cor para os outros
elementos da página (p, li, address…) então por 'default' eles não terão cor de fundo (ou
seja: serão transparentes). A propriedade 'color' determina a cor dos textos para o elemento
body e todos os elementos contidos em body herdarão esta cor, a menos que uma outra
regra CSS determine uma cor diferente para qualquer elemento na página. (Mais adiante
nós escreveremos uma regra assim.)
Agora, salve seu arquivo (use “Save” no menu File ) e volte à janela do seu browser. Dê um
"Reload" (Atualizar) na página e seu aspecto mudará, mostrando as cores adicionadas pelas
regras CSS escritas. À exceção da lista de links na parte superior, o texto deverá estar na
cor púrpura sobre um fundo amarelo esverdeado.
A página com cores adicionadas, renderizada em um browser.
Você nunca terá como saber quais são as fontes que os visitantes do seu site têm instaladas
em suas máquinas, por isso é de boa técnica sempre especificarmos fontes alternativas nas
folhas de estilos: se a fonte Georgia não estiver disponível as fontes Times New Roman ou
Times irá substituí-la sem grandes prejuízos e ainda mais, se ambas também estiverem
indisponíveis o browser do visitante usará uma fonte (with serif) com serifas. Se a fonte
Helvetica não estiver instalada, as fontes Geneva, Arial e SunSans-Regular são similares e
se nenhuma delas estiver disponível o browser usará uma fonte sem serifas.
color: purple;
background-color: #d8da3d }
h1 {
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
</style>
</head>
<body>
[etc.]
Nosso menu já esta no código HTML da página. Ele é a lista <ul> no topo. Os links ali
inseridos não levam a lugar algum pois nosso “Web site” tem uma só página, mas isto não é
importante agora. Em um Web site real, é óbvio, não devemos ter nenhum link "quebrado".
Agora precisamos mover a lista para a esquerda e o restante do texto para a direita com a
finalidade de abrir espaço para a lista. As propriedades CSS que usaremos para isto são
'padding-left' (para mover o texto para a direita) e 'position', 'left' e 'top' (para posicionar o
menu).
Existem outras maneiras de se fazer isto. Se você der uma olhada em “column” ou “layout”
na página Aprendendo CSS , vai encontrar vários templates para layout. Mas para o nosso
exemplo as propriedades citadas acima são adequadas.
No editor de texto adicione mais estas linhas no arquivo HTML:
<head>
<title>Minha primeira página CSS</title>
<style type="text/css">
body {
padding-left: 11em;
font-family: Georgia, "Times New Roman",
Times, serif;
color: purple;
background-color: #d8da3d }
ul.navbar {
position: absolute;
top: 2em;
left: 1em;
width: 9em }
h1 {
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
</style>
</head>
<body>
[etc.]
Salve o arquivo e dê "Reload" (Atualizar) no browser para ver o menu a esquerda do texto.
Agora nossa página já esta mais interessante, não é mesmo?
O texto principal à direita e a lista de links à esquerda.
'2em' significa 2 vezes o tamanho da fonte adotada. Por exemplo: se o menu está com fonte
de 12 points, 2em equivalem a 24 points. A unidade 'em' é muito usada em CSS, pois ela
permite que as medidas se adaptem automaticamente ao tamanho de fonte que os usuários
costumam utilizar em suas preferências pessoais. A maioria dos browsers possuem a
facilidade de permitir que o usuário aumente ou diminua o tamanho de fonte ao visualizar
uma página web: faça você mesmo uma experiência em seu browser aumentando e
diminuindo o tamanho da fonte e observe como o tamanho do nosso menu acompanha o
aumento e diminuição da fonte. Isto não aconteceria se tivessemos usado um tamanho para
o menu em pixel.
Até agora ainda não definimos as cores para os links, então esta é a hora: azul para links
não visitados e púrpura para links já visitados:
position: absolute;
top: 2em;
left: 1em;
width: 9em }
h1 {
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
ul.navbar li {
background: white;
margin: 0.5em 0;
padding: 0.3em;
border-right: 1em solid black }
ul.navbar a {
text-decoration: none }
a:link {
color: blue }
a:visited {
color: purple }
</style>
</head>
<body>
[etc.]
Em HTML, criamos hyperlinks com o elemento <a>, assim para especificar cores para
links estabelecemos regras CSS para "a". Para fazermos diferenciação entre links visitados
e não visitados estão previstas duas "pseudo-classes" CSS (:link e :visited). Elas são
chamadas de "pseudo-classes" para diferenciá-las das classe de atributos, que são usadas
nos código HTML, por exemplo a class="navbar" do nosso exemplo.
<style type="text/css">
body {
padding-left: 11em;
font-family: Georgia, "Times New Roman",
Times, serif;
color: purple;
background-color: #d8da3d }
ul.navbar {
list-style-type: none;
padding: 0;
margin: 0;
position: absolute;
top: 2em;
left: 1em;
width: 9em }
h1 {
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
ul.navbar li {
background: white;
margin: 0.5em 0;
padding: 0.3em;
border-right: 1em solid black }
ul.navbar a {
text-decoration: none }
a:link {
color: blue }
a:visited {
color: purple }
address {
margin-top: 1em;
padding-top: 1em;
border-top: thin dotted }
</style>
</head>
<body>
[etc.]
Aqui completamos a folha de estilos. A seguir vamos ver como colocar a folha de estilos
em um arquivo separado e com isto usar uma folha para várias páginas.
Para nosso arquivo de folha de estilo precisaremos criar um outro arquivo de texto. Escolha
“New” no menu File do seu editor de texto (Se estiver usando o TextEdit, não se esqueça
do plain text usando o Format menu.)
A seguir, no editor, copie tudo o que estiver dentro do elemento <style> no HTML e cole
no arquivo novo que você acabou de criar. Não copie as tags <style> e </style>. Elas são
do HTML e não pertencem ao arquivo CSS. Agora na nova janela do editor que você abriu
deverá estar com esta folha de estilos:
body {
padding-left: 11em;
font-family: Georgia, "Times New Roman",
Times, serif;
color: purple;
background-color: #d8da3d }
ul.navbar {
list-style-type: none;
padding: 0;
margin: 0;
position: absolute;
top: 2em;
left: 1em;
width: 9em }
h1 {
font-family: Helvetica, Geneva, Arial,
SunSans-Regular, sans-serif }
ul.navbar li {
background: white;
margin: 0.5em 0;
padding: 0.3em;
border-right: 1em solid black }
ul.navbar a {
text-decoration: none }
a:link {
color: blue }
a:visited {
color: purple }
address {
margin-top: 1em;
padding-top: 1em;
border-top: thin dotted }
Escolha “Save As…” no menu File, e salve com o nome “meuestilo.css” no mesmo
diretório/pasta onde está o arquivo minhapagina.html.
Agora volte para o arquivo HTML. Apague tudo que estiver dentro do elemento <style>
incluindo <style> e </style> e coloque no lugar um elemento <link> como mostrado
abaixo:
<body>
[etc.]
Este link informa ao browser que que a folha de estilos para a página está em um arquivo
chamado “meuestilo.css” e como nenhum diretório está indicado no caminho do link o
browser procurará no mesmo diretório do arquivo HTML.
http://www.maujor.com/w3ctuto/firstcss.html
Construindo um layout sem tabelas
Sumário e status
Muito já se tem dito e repetido que tabelas não devem ser usadas com a finalidade de
construir o layout de uma página web. Este documento mostra uma maneira de se construir
um layout de 3 colunas sem tabelas, usando-se somente CSS.
Introdução
HTML é uma linguagem estrutural, ou seja, é - ou deveria ser - usada para estruturar textos
através de tags. A tag table deveria ser usada tão somente com a finalidade de apresentar
dados dentro de uma tabela com linhas e colunas.
Mas desde que as tabelas foram implementadas no HTML elas tem sido amplamente
usadas para montagem de layouts e muito comumente para compartimentar uma página
web em colunas. Ao fato de que este uso das tabelas contraria sua finalidade (seu propósito
semântico) soma-se ainda várias outras desvantagens, entre elas notadamente a dificuldade
de um parseamento adequado na renderização das tabelas em determinados contextos
(usuários com necessidades especiais, agentes de usuários com restrições,....).
Este documento descreve uma maneira de criar um layout de 3 colunas e oferece links para
outras páginas que mostram técnicas de criação de layout.
Descrição do layout
A técnica descrita a seguir foi usada para construir a página para novos usuários do W3C (
page for new W3C users ) e permite criar um layout de 3 colunas com as seguintes
características:
Isto é ideal para Home Pages já que dispõe o texto no centro e as listas de links (menus de
navegação) nas laterais.
Uma restrição para este tipo de layout é que ele não funciona bem em agentes de usuário
com suporte precário para CSS, contudo a página permanece perfeitamente legível em um
tradicional layout vertical.
Esta página que você está lendo usa este tipo de layout e assim você pode ter uma idéia de
como é o layout.
Implementação
Com a finalidade de "esconder" a folha de estilos de browsers com suporte precário ou mesmo sem suporte
para CSS usamos a diretiva <style type="text/css">@import url('your-stylesheet-
url');</style> para nossa folha de estilos.
Referências
Desenvolvendo layout CSS
• técnicas CSS para construção de layout (2,3 e 4 colunas) incluindo "remendos" para
solucionar bugs (buggy workaround)
• construção passo-a-passo de layout CSS avançado
• the layout reservoir (o "depósito" de layouts )
Referências CSS
Referências CSS
Referências CSS
Cinco imagens
Resultado
Esta página foi inspirada em uma página criada por Arve Bersvendsen. Ele desenvolveu
várias outras demonstrações sobre CSS .
Sem dúvidas, construir bordas arredondadas e caixas (boxes) com sombra será uma tarefa
bem mais simples com a implementação de CSS3. Por exemplo: Para colocar uma borda
arredondada grossa na cor vermelha em um parágrafo, você terá que escrever regras CSS
como abaixo mostrado:
E, para colocar uma sombra em um parágrafo, uma regra CSS apenas é suficiente, como
mostrado abaixo, onde a cor da sombra é black x-offset e y-offset são 0.5em e com raio de
0.3em.
(Você pode tentar este link para constatar se estas propriedades já estão implementadas.)
Mas, se precisar usar estes efeitos sem se preocupar se eles já foram ou não implementados
e sem encontram suporte nos browsers, use a técnica mostrada a seguir.
Usamos neste tutorial cinco imagens PNG colocando-as nos quatro cantos e no lado direito
do elemento. Abaixo estão as imagens usadas:
borda superior e canto superior direito (top edge and top right corner):
borda inferior e canto inferior direito ( bottom edge and bottom right corner):
blockquote {
max-width: 620px;
background: url(rs-right.png) right repeat-y }
blockquote:before {
display: block;
line-height: 0;
background: url(rs-topright.png) top right no-repeat;
content: url(rs-topleft.png) }
blockquote:after {
display: block;
line-height: 0;
background: url(rs-bottomright.png) bottom right no-repeat;
content: url(rs-bottomleft.png) }
Uma vez que construimos nossa imagem de fundo com 620px de largura não devemos
permitir que o box possa distender-se além daquela largura, para evitar "aparecimento" de
uma faixa branca no fundo. Por isto escrevemos uma regra para 'max-width'. A propriedade
'display: block' é necessária para garantir que os conteúdos gerados por "content" formem
elementos nível de bloco e em consequência ocupem posição acima e abaixo do bloco
principal e não, inseridos na primeira e última linhas. A regra 'line-height: 0' garante a não
existência de espaçamentos horizontais extras entre as imagens de fundo.
O resultado
E, abaixo o resultado final:
Você vê uma caixa na cor verde com cantos arredondados e sombra, assentada em um
fundo branco? Se não vê, seu browser não consegue "entender" a propriedade CSS para
gerar conteúdo denominada "content".
<blockquote>
<p>Você vê uma caixa na cor verde com cantos
arredondados e sombra, assentada em um fundo
branco? Se não vê, seu browser não consegue
"entender" a propriedade CSS para gerar conteúdo
denominada "content".</p>
</blockquote>
E, mais ainda, se você quer saber se seu browser "entende" esta técnica com propriedades
CSS-3, veja neste link. http://www.maujor.com/w3ctuto/roundshadow2.html
http://www.maujor.com/w3ctuto/roundshadow.html