Escolar Documentos
Profissional Documentos
Cultura Documentos
c o m
Ueba
Design
rio de janeiro rj
Web Standards
Afinal de contas, o que é isso?
fal e c om @ ue bade s ig n . c om
t e l : 2 1 2 5 4 7 5 0 3 4 c e l : 7 6 1 8 9 3 5 3
rua doming os ferreira 63/408. rio de janeiro rj
cep 22050-010
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
ção de sites melhores, mais acessíveis, flexíveis e funcionais. Descubra a origem destes
problemas, e encontre soluções para criar sites transitivos, ou completamente sem tabe-
las (tableless).
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
Nos próximos capítulos demonstraremos que formatar seu site utilizando CSS requer
uma forma de pensar um pouco diferente que a qual você provavelmente está acostu-
mado.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
marco, que ofereceu algumas formas de trabalhar as limitações dos browsers existentes
e as especificações do w3c, aproximadamente 1997. (estamos falando de netscape 2 e
3, pessoal.)
Na realidade, estas formas de trabalho eram tão brilhantes, que prevalecem até hoje
como o método mais utilizado para se leiautar páginas para a web.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
folha de estilo (CSS); você não precisa editar todas as páginas do site novamente.
(1)
Se quer exemplos, veja o CSS Zen Garden , ou a troca de estilos do site de Eric
(2) (3)
Meyer . Para aprender mais, veja Alternative Style por Paul Sowden.
(1) http://www.csszengarden.com/
(2) http://www.meyerweb.com/
(3) http://www.alistapart.com/stories/alternate/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
Isto fortalece sua marca e deixa o seu site muito mais usável.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
Em outras palavras, separar o conteúdo da formatação deixa o seu site acessível inde-
pendente do dispositivo utilizado.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
O Google é cego
Exemplos reais:
(1)
• Santa Cruz Montessori School
(2)
• k10k
(3)
• Fox Searchlight Pictures
Toda regra em CSS tem um seletor e uma declaração. A declaração é composta de uma
propriedade e um valor. As propriedades geralmente são duas palavras separadas por um
hífen.
#footer {color: gray; font-size: 0.6em; line-height: 1.2em; background-color: white; margin: 0}
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
Se você quer uma quebra de linha após alguma coisa, provavelmente ela se trata de título.
Caso contrário, é bem provável que ele faça parte de uma classe que ocorre ao longo do
site. Se for este o caso, então utilize CSS no lugar de <br>:
.foo {display:block}
Para aprender mais, veja Bed and BReakfast markup (B&BR) por Tantek Çelik.
(1) Mnemônico cunhado por Tantek Çelik, para ilustrar as tags que devem ser evitadas no uso cotidiano. (N.T.)
(2) http://tantek.com/log/2002/10.html#L20021022t1432
(3) http://tantek.com/log/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
• link1
• link2
• link3
• link4
• link5
Nós podemos utilizar CSS para controlar como estas listas serão exibidas em nossas
páginas.
Nós podemos utilizar CSS para controlar como estas listas serão exibidas em nossas
páginas.
#nav1{
margin-top: 1em;
margin-bottom: 0.5em;
}
#nav1 ul {
background-color: silver;
text-align: center;
margin-left: 0;
padding-left: 0;
border-bottom: 1px solid gray
}
#nav1 li {
list-style-type: none;
padding: 0.25em 1em;
border-left: 1px solid white;
display: inline
}
#nav1 li:first-child {
border: none;
}
(1)
Para mais informações, leia o artigo de Mark Newhouse, Taming lists , no
(2)
site A List Apart, e “Styling lists” no wiki CSS-Discuss.
(1) http://www.alistapart.com/stories/taminglists/
(2) http://css-discuss.incutio.com/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
do irá se extender somente até o fim do menu. Em muitas páginas, o conteúdo é mais
longo que a barra de navegação, entao isto não vai ficar muito bonito.
Nós poderiamos também ladrilhar um fundo preto na nossa div de conteúdo, e dar a
esta div bastante padding à esquerda, mas se nossa navegação for maior que o conte-
údo, isto não vai funcionar a contento.
Outro caminho para se fazer isto seria utilizar um GIF preto como plano de fundo de
nosso <body>, o que funciona bem, a menos que você queira utilizar outra imagem para
o background de seu <body>.
Ou, nós podemos envolver nosso conteúdo em uma div e ladrilhar a imagem nesta
div. Entretanto, estaríamos acrescentando marcação não semântica desnecessária ao
nosso código.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
E, claro, utilizar imagens de fundo não funcionnrá se você quiser que a barra de navegação
seja fluida (ajustada na largura conforme o texto e resolução do usuário).
Como nós dissemos, existem coisas que tabelas fazem melhor que CSS. Mas no fim você
precisa se questionar se toda esta bagagem que vem o uso de tabelas vale realmente a
pena.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
• Informações de produtos
• Informações de preços
• Informações da empresa
• Portfólio
• Serviços oferecidos
• Informações de investidores
• Carrinho de compras
• Fóruns de usuários
• E assim por diante
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
• Navegação Principal
• Subnavegação
• Cabeçalhos e rodapés
• Conteúdo
• Informações relacionadas
• Outros
(1) http://tantek.com/log/
(2) http://tantek.com/log/2002/12.html#L20021216
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
#subnav li {
border: 1px solid black;
padding: .5em;
display: inline
}
irá afetar somente a lista de itens que está dentro da subnav div.
Teste no máximo de browsers que você puder, e peça aos seus amigos que testem em seus
browsers.
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
(1)
• CSS Zen Garden
(2)
• Adobe Studio
(3)
• Wired News
(4)
• ESPN
(5)
• Quark
(6)
• Inc.com
(7)
• PGA Open Championship
(8)
• phish.com
(9)
• CSS Edge
(1) http://www.csszengarden.com/
(2) http://studio.adobe.com/
(3) http://www.wired.com/
(4) http://espn.go.com/
(5) http://www.quark.com/
(6) http://www.inc.com/home/
(7) http://www.pga.com/openchampionship/
(8) http://www.phish.com/
(9) http://www.meyerweb.com/eric/css/edge/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
(1) http://www.amazon.com/exec/obidos/ASIN/073571245X/
(2) http://www.livrosdeinternet.com.br/livros_template.asp?Codigo_Produto=4504
(3) http://www.livrosdeinternet.com.br/defaultlivros.asp
(4) http://www.amazon.com/exec/obidos/ASIN/0672324091/
(5) http://www.amazon.com/exec/obidos/tg/detail/-/0201596253
(6) http://www.amazon.com/exec/obidos/ASIN/1565926226/
(7) http://www.uebadesign.com/livros_web/products/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
(1)
Discussões sobre CSS:
(2)
• arqHP: Excelente lista de discussão brasileira (N.T.).
(3)
• mailing list: Muito ativa, muita ajuda.
• Wiki: “Entre outras coisas, o wiki serve como uma me-
móra a longo prazo de tudo que acontece na lista”. Quer
dar ao Internet Explorer (Windows) algo que ele entenda,
mas dar aos melhores browsers “a coisa certa”? Você
(4)
saberá como fazê-lo e muito mais.
• Archives: Está com um problema na CSS que está
te deixando louco? Não se preocupe, alguém já passou por isto (e recebeu ajuda) sobre o
(5)
mesmo problema. Encontre a resposta aqui.
• Taming lists, Mark Newhouse. Informação indispensável para ajudar a você com
(8)
navegação semântica.
• CSS: Going to Print, Eric Meyer. Você nunca mais precisará criar uma versão para
(9)
impressão novamente.
• Alternative Style: Working With Alternate Style Sheets, Paul Sowden. Dei-
(10)
xem seus visitantes decidirem como querem ver sua página.
• Using XHTML and CSS for an effective Search Engine Optimization Cam-
paign, Brandon Olejniczak. Marcação estruturada irá te ajudar a obter melhores resulta-
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
(11)
dos de ferramentas de busca, também.
(12)
The Web Standards project Abençoe estas pessoas.
(13)
CSS: A guide for the unglued Uma grande página.
CSS Layout Techniques: for Fun and Profit Layouts que você pode utilizar nos seus
(14)
projetos por Eric Costello. Recursos e tutoriais também.
(15)
Real World Style CSS layouts, dicas, truques, e técnicas de Mark Newhouse.
DevEdge Netscape Sidebar Tabs Links incríveis para especificações do W3C para
(16)
CSS, HTML, e o DOM.
New York Public Library Style Guide Um recurso à mão para obter o básico de
(17)
XHTML e CSS.
The Business Benefits of Web Standards Boas notícias para homens de negócios. O
(18)
evangelho do padrão web presente em termos que um MBA pode apreciar.
(1) http://www.css-discuss.org/
(2) http://lists.topica.com/lists/arqhp/
(3) http://www.css-discuss.org/
(4) http://css-discuss.incutio.com/
(5) http://archivist.incutio.com/viewlist/css-discuss/
(6) http://www.zeldman.com/
(7) http://www.alistapart.com/stories/indexCSS.html
(8) http://www.alistapart.com/stories/taminglists/
(9) http://www.alistapart.com/stories/goingtoprint/
(10) http://www.alistapart.com/stories/alternate/
(11) http://www.alistapart.com/stories/seo/
(12) http://www.webstandards.org/
(13) http://www.thenoodleincident.com/tutorials/css/
(14) http://www.glish.com/css/
(15) http://realworldstyle.com/
(16) http://devedge.netscape.com/toolbox/sidebars/
(17) http://www.nypl.org/styleguide/
(18) http://devedge.netscape.com/viewsource/2003/why-web-standards/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
Equipe de trabalho:
(1) (2)
Bill Merikallio ; Scott Design, Inc .
(3) (4)
Adam Pratt ; Adobe Systems Incorporated
(5)
Sérgio Lima Jardim ; Plasma Design (tradução)
(6)
Danival A. Souza ; Max Revenda (tradução)
http://creativecommons.org/licenses/by-nc-sa/1.0/
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
Atualmente o site possui o layout feito com ‘tabelas’, há por volta de XXX linhas de html, css
e e código (javascript) em um único arquivo. Também existem vários erros de aninhamento
de tags na página.
Ao substituir tabelas por layout conhecido como Padrões Web e corrigir o aninhamento
diminuiremos o tempo de carregamento da página para o cliente, e por diminuir o consu-
mo de banda teremos uma melhora na performace do servidor, diminuição nos gastos com
excedente de banda consumida e melhoria nas posições nos mecanismos de busca.
O custo deste projeto é o mesmo de um projeto com tabelas, também estaremos sujeitos a
empecilhos e imprevistos. Uma outra questão, em alguns sites que utilizam tabelas para o
layout ainda existe diferenças de aspecto visual entre diferentes browsers, problemas com
alinhamento de boxes e alinhamento de blocos de texto. Podemos solucionar estes proble-
mas como também pode vir a ocorrer outros que certamente poderemos solucionar.
Possíveis problemas
• Conhecimento de CSS para atualizar.
• Alterações futuras precisam ser feitas com cuidado para não prejudicar o projeto e
trazer de volta a estrutura desorganizada e ultrapassada.
• Talvez alguma área do layout precise ser alterada no alinhamento e/ou no tamanho,
existem algumas diferenças entre tabelas e CSS.
Um prazo estipulado em 3 à 4 semanas. Calculo que seja feito em menor período, mas o
prazo adjacente seria para imprevistos que possam aparecer no desenvolvimento do proje-
w w w. u e b a d e s i g n . c o m
rio de janeiro rj
Ueba
Design
to.
Benefícios:
• Diminuir o tamanho do arquivo (estimado em até 20% a 30%), diminuir tempo de
donwload, diminua consumo de banda do servidor, diminua o tempo de renderização da
página no navegador.
• O usuário precisará baixar o estilo em CSS uma única vez, o css fica em cache, acele-
rando o acesso a páginas já acessadas e páginas novas.
• Melhorar a semântica, melhorar a acessibilidade, melhorar a indexação dos engines
de busca.
• Melhorar o acesso a diversos dispositivos (leitores de telas, mobile).
• Facilitar o redesign, diminuir o numero de linhas, separar as camadas (conteúdo,
layout, comportamento) em arquivos.
• Substituição de metodologia de desenvolvimento web ultrapassada por uma metodolo-
gia atual.
A pagina atual:
• A pagina possui layout a base de ‘tabelas’, aumentando o tamanho do arquivo e o
tempo de renderização.
• Possui vários erros de aninhamento de tags pela página, aumentando o tempo de ren-
der no navegador.
• A alguns CSS embutidos no arquivo HTML, impossibilitando o cachê para arquivo css
e o rápido download das páginas.
• Um arquivo, com uma mistura de HTML, CSS, JAVASCRIPT; com xxx linhas.