Desenvolvendo CSS na Web

Propaganda
I
Desenvolvendo
CSS na Web
Do Iniciante ao Profissional
Simon Collison
Rio de Janeiro.2008
III
Para mãe e pai.
Perdão pela falta de argumentos. . .
VII
Tome cuidado com as fontes...............................................................................................................................57
A exibição padrão do navegador.......................................................................................................................................57
Adicionar estilo...................................................................................................................................................................58
Defina a folha de estilo.......................................................................................................................................58
Declarações no body.............................................................................................................................................58
Por favor, use line-height!................................................................................................................................................59
A definição de line-height com porcentagem....................................................................................................59
Outros valores para line-height.........................................................................................................................60
letter-spacing (kerning).....................................................................................................................................................61
Outras propriedades de fonte importantes.....................................................................................................................62
Como combinar diversas propriedades de fonte................................................................................................63
Mais abreviações de fonte...................................................................................................................................64
Fique esperto com o texto.................................................................................................................................................64
Cite aí................................................................................................................................................................64
Como adicionar recuo aos parágrafos...............................................................................................................66
As antigas capitulares..........................................................................................................................................66
Que a fonte esteja com você................................................................................................................................................68
CAPÍTULO 5 Cores, Fundos e Imagens..........................................................................69
Uma breve história das cores............................................................................................................................................69
Web-safe em primeiro lugar?.............................................................................................................................70
Como especificar as cores..................................................................................................................................70
Como usar as 17 cores com nome.........................................................................................................................71
Precisamos ser web-safe?...................................................................................................................................72
Como selecionar uma paleta de cores para o seu design..................................................................................73
Cores para texto................................................................................................................................................................73
Cor de fundo......................................................................................................................................................................73
Como adicionar cor de fundo ao texto...............................................................................................................74
Intervalo de texto para um controle mais específico.........................................................................................74
Como adicionar cor de fundo aos cabeçalhos....................................................................................................75
Fundos para outros elementos............................................................................................................................76
Formatos de imagem para o fundo...................................................................................................................................78
GIF.........................................................................................................................................................................79
JPEG.......................................................................................................................................................................80
PNG........................................................................................................................................................................82
Imagem de fundo...............................................................................................................................................................82
Uso sensato...........................................................................................................................................................82
Prepare o modelo e a folha de estilo...................................................................................................................83
Como especificar uma imagem de fundo............................................................................................................84
Repeat...................................................................................................................................................................85
Posição.................................................................................................................................................................86
Ligação...................................................................................................................................................................87
Abreviação do fundo.............................................................................................................................................88
CAPÍTULO 6 Lista..........................................................................................................91
Por que usar listas?............................................................................................................................................................91
A lista desordenada..........................................................................................................................................................92
CSS básico de lista................................................................................................................................................92
list-style-type.......................................................................................................................................................92
Como usar imagens de fundo como marcadores..............................................................................................98
IX
Fundamentos da criação de estilos para formulário...................................................................................................153
Prepare um arquivo e uma folha de estilo......................................................................................................153
O bloco de CSS para formulários está completo..............................................................................................159
Três abordagens...........................................................................................................................................................160
Sobre cada exemplo.........................................................................................................................................160
Formulários baseados em tabela.....................................................................................................................161
Layout com parágrafos e quebras de linha.........................................................................................................163
Layout com lista de definição.............................................................................................................................169
E qual é a melhor abordagem?.......................................................................................................................178
PARTE 2 Layouts Lógicos...............................................................................179
CAPÍTULO 10
Fundamentos do Layout........................................................................181
Floats e desobstrução......................................................................................................................................................181
A propriedade float.............................................................................................................................................183
Flutuar imagens...............................................................................................................................................183
Como desobstruir os floats...............................................................................................................................185
Como desobstruir a imagem que flutua............................................................................................................188
Posicionamento.............................................................................................................................................................194
Propriedades e valores básicos de posicionamento.........................................................................................195
Posicione na sua cabeça......................................................................................................................................200
CAPÍTULO 11
Layouts Clássicos.................................................................................203
Tipos de layout................................................................................................................................................................204
Fixo...................................................................................................................................................................204
Líquido.................................................................................................................................................................205
Elástico.................................................................................................................................................................206
Largura fixa variável..........................................................................................................................................206
Antes de criar.................................................................................................................................................................207
Layout líquido de duas colunas com floats.....................................................................................................................209
Topo e rodapé......................................................................................................................................................209
A barra lateral flutuante................................................................................................................................210
Float left, float right líquido...............................................................................................................................215
Layout líquido de três colunas com floats......................................................................................................................216
Layout líquido de duas colunas posicionado.................................................................................................................221
Calamidade no rodapé...................................................................................................................................223
Layout líquido de três colunas posicionado....................................................................................................................224
Layout de largura fixa....................................................................................................................................................228
O Box Model.......................................................................................................................................................228
Layout fixo de três colunas com floats..............................................................................................................230
CAPÍTULO 12 Manipulação de Layouts..........................................................................237
Como trocar o layout através de seletores contextuais..................................................................................................237
Preparação...........................................................................................................................................................238
O body..................................................................................................................................................................241
Faux Columns...................................................................................................................................................................244
Prepare-se............................................................................................................................................................245
E quanto ao Box Model?...................................................................................................................................248
Faux Columns Fluidas........................................................................................................................................248
XI
Como estruturar o layout...............................................................................................................................................303
Funilaria...............................................................................................................................................................303
Container............................................................................................................................................................303
Topo......................................................................................................................................................................304
Colunas................................................................................................................................................................304
Rodapé..................................................................................................................................................................305
Layout organizado...........................................................................................................................................305
Trabalho de fundo.............................................................................................................................................................305
Fundo do topo....................................................................................................................................................305
Fundo da barra lateral.........................................................................................................................................307
Fundo da coluna principal..................................................................................................................................308
Fundo do rodapé...................................................................................................................................................309
Fundo da página................................................................................................................................................309
Trabalho de fundo concluído................................................................................................................................309
Tratamento do texto.........................................................................................................................................................311
De volta ao body..................................................................................................................................................311
Cabeçalhos............................................................................................................................................................311
Texto da coluna....................................................................................................................................................312
Os toques finais...............................................................................................................................................................312
Logotipo como link para a página inicial................................................................................................................312
Navegação principal..........................................................................................................................................313
Como destacar a página atual..........................................................................................................................314
Formulário de login.............................................................................................................................................315
Conteúdo do rodapé............................................................................................................................................316
Logo à esquerda................................................................................................................................................316
Pronto!................................................................................................................................................................................317
É o fim do livro!............................................................................................................................................................318
APÊNDICE
Referência.................................................................................................319
XII
Desenvolvendo CSS na Web
XIV
Desenvolvendo CSS na Web
aonde queria ir e os resultados que queria obter, não sabia a melhor forma para atingi-los. Naquele tempo não
havia um mapa bem definido para pessoas que, assim como eu, entendiam de design mas que precisavam de um
livro que lhes mostrasse o melhor caminho entre os visuais de design e as páginas de Internet baseadas nos
padrões Web para fornecer a seus clientes.
Se você estiver iniciando uma jornada semelhante, está com sorte. Simon Collison escreveu um livro que funcionará
como um mapa para ajudá-lo e explicar claramente como transformar os designs em realidade usando XHTML e
CSS. O autor sabe o que é fazer design na parte mais desafiadora do webdesign. Ele volta-se aos padrões Web não
pelo interesse acadêmico, mas pela real necessidade de trabalho. Há muito tempo admiro suas habilidades com
design e sua excepcional capacidade de explicar temas complexos em linguagem simples. Sei que começar a
trabalhar com padrões Web pode fazer com que você fique furioso e que isso, muitas vezes, pode parecer, de certa
forma, inevitável. Então este livro ajudará você a se manter livre de ataques com botões de camisa saltando,
rasgões em calças ou, até mesmo, arremessos de carros em possíveis acessos de fúria. Graças a Simon Collison o
mundo é um lugar mais calmo para se viver.
Andy Clarke
Junho de 2006
XVIII
Desenvolvendo CSS na Web
XX
Desenvolvendo CSS na Web
XXII
Desenvolvendo CSS na Web
Em 2003, um homem muito legal de chapéu de lã escreveu um livro chamado Designing with Web Standards (New
Riders). Esse homem é Jeffrey Zeldman (www.zeldman.com) e o seu livro revolucionou a forma com que muitos
abordavam o webdesign. Composição chave mencionada por várias pessoas como o início de uma verdadeira
revolução, o livro de Jeffrey fez com que muitos começassem a pensar duas vezes sobre o modo como vinham
procedendo na criação de sites, além de fazer uma defesa firme para o uso do CSS, ao mesmo tempo em que
aumentou a visibilidade da acessibilidade e da usabilidade destes elementos.
Figura 1. O site do Web Standards Project (WaSP): http://webstandards.org
Os benefícios
Os padrões Web trazem muitos benefícios já que reduzem o tamanho das páginas, o que torna os downloads mais
rápidos e, por sua vez, possibilita consumir muito menos banda. Eles também Aumentam a compatibilidade com
agentes de usuário (navegadores, telefones celulares, PDSs, softwares de ajuda), tornando os sites mais acessíveis.
E o mais importante, os sites criados com os padrões Web são à prova de futuro e estão prontos para qualquer rumo
que a Internet tomar a seguir. Além disso, os padrões também são ótimos porque permitem a separação entre
conteúdo e apresentação, além de fazer maravilhas para a acessibilidade do site. Vejamos o que esses termos
querem dizer.
Separação entre conteúdo e apresentação
Talvez a regra mais fundamental dos padrões Web é que o conteúdo deve ser separado da apresentação – pela
aplicação de toda a riqueza decorativa através de uma folha de estilo externa, o conteúdo principal (o (X)HTML)
permanece puro e concentrado. Com o material de apresentação separado por completo da marcação as mudanças
de estilo no site podem ser feitas com pouca ou nenhuma interferência através da inclusão de um arquivo CSS como
alternativa à necessidade de atualizar todas as páginas do site, o que facilita muito os redesigns. Igualmente
importante é a facilidade com que os usuários assumem o controle do seu conteúdo através da aplicação de suas
próprias folhas de estilo no site, quando torna-se necessário.
XXIII
Acessibilidade
A grande qualidade a respeito da criação com os padrões Web é que a acessibilidade vem como padrão.
É claro que existem outros métodos e abordagens que podem melhorar a acessibilidade e fornecer mais benefícios
para o usuário, mas mantendo a apresentação em separado do conteúdo e utilizando a marcação correta, você
aumenta as chances de que qualquer visitante, independentemente de capacidade, possa acessar o conteúdo sem
problemas.
A regra de ouro da acessibilidade é simples. Qualquer pessoa, de qualquer lugar, desconsiderando plataforma,
tecnologia, experiência ou capacidade, deve poder acessar o conteúdo principal. Ao incorporar os padrões Web com
o seu conteúdo você está livre para aplicar uma apresentação ultrajante através do CSS, com a segurança de quem
sabe que, por trás de tudo, o conteúdo não está comprometido, de forma que um portador de deficiências visuais
utilizando um leitor de tela possa usar bem o seu site. É claro que a acessibilidade da Internet não diz respeito
apenas a deficiências visuais – existem também incapacidades cognitivas a se considerar e muitos outros tipos de
deficiência. Para mais informações sobre a acessibilidade consulte o livro Web Accessibility: Web Standards and
Regulatory Compliance (friends of ED, 2006) e dê uma olhada na grande quantidade de recursos disponíveis on-line,
como, por exemplo, o www.accessify.com e http://diveintoaccessibility.org.
Esse livro trata do CSS para acessibilidade especificamente no capítulo 14.
Um passo em direção aos padrões
Então, acredito que agora você já consiga enxergar os argumentos que apontam para o webdesign baseado nos
padrões Web. . . na verdade, talvez você já soubesse disso antes mesmo de pegar o livro! Mas por que nem todo
mundo adotou o CSS para a criação de estilo e layout? Muitos argumentam que o CSS é difícil de implementar, que
funciona somente em determinados navegadores, que a curva de aprendizado é íngreme demais. O grande
problema é que uma boa quantidade de designers antigos demora em adotar os padrões. Muitos ainda ganham a
vida criando sites pesados com marcação desatualizada, freqüentemente baseando-se em tabelas para o layout e
poluindo o código com tags de fonte e outros métodos depreciados. Eles ainda podem ganhar dinheiro fazendo isso
e, por isso, não conseguem enxergar necessidade para mudanças. São pessoas perigosas e é necessário manter
distância delas.
Ainda assim, a comunidade da Internet está repleta de pessoas boas e responsáveis e os benefícios dos padrões
Web não passaram despercebidos. Desde que Zeldman escreveu aquele livro, milhares já adotaram o design
baseado em CSS, e muitos poucos se atreveriam a voltar atrás. O mito de que um site acessível não tem atrativos
já foi há tempos esquecido, e uns dos sites mais acessíveis e usáveis também trazem os designs mais atrativos e
elegantes graças ao uso inteligente e experimental do CSS (ver exemplos na figura 2).
Espero que depois de ler este livro você também possa produzir designs desafiadores, empolgantes e inspiradores.
Está em suas mãos.
XXIV
Desenvolvendo CSS na Web
Figura 2. Sites impressionantes, 100% padrões Web. Do topo: Veerle’s Blog (http://veerle.duoh.com); BearSkin Rug
(www.bearskinrug.co.uk); And All That Malarkey http://www.stuffandnonsense.co.uk
Sobre este livro
Este é o livro que eu precisava quando comecei a fazer experiências com CSS. Se naquela época eu tivesse
conseguido um livro desse tipo, certamente isso teria me poupado uma quantidade incalculável de tempo. O livro
pressupõe um conhecimento razoável de marcação (X)HTML, mas quase nada ou nada de CSS. Então, para esse
último preferimos começar do zero.
Alguns livros são tão facilmente acessíveis que sua leitura pode se assemelhar a sensação de conforto gerada ao
vestir-se com uma gostosa roupa de algodão. Mas não é esse o caso aqui. Os primeiros três capítulos procuram
explorar os conceitos principais do CSS fornecendo uma base firme para os capítulos seguintes. CSS é uma
tecnologia simples, mas sua mágica origina-se das abordagens e quirks complexos no coração da especificação.
Portanto, os três primeiros capítulos estabelecem a fundação para tudo o que vem a seguir. Não é essencial ler
esses três, mas é importante se familiarizar com os seus assuntos para que você possa consultá-los quando uma
técnica mencionada em capítulo posterior se torne um tanto complicada. Por exemplo, se eu mencionar “a
cascata” no capítulo 14 e você não tiver certeza sobre o que isso quer dizer, é possível voltar para um capítulo
anterior para descobrir.
Após esse início profundo, de tirar o fôlego, cada capítulo sucessivo da Parte 1 tem enfoque na estilização de
determinado grupo de marcação, como tabelas, links, listas ou texto, fornecendo uma referência estruturada de
forma inteligente de abordagens comuns para a estilização de elementos.
XXV
Na Parte 2 do livro o enfoque se volta para o layout e questões do mundo real. Aqui, você inicia pensando como um
webdesigner profissional, buscando métodos para transformar tudo o que você aprendeu em modelos acessíveis,
leves e elegantes. A Parte 2 também adiciona alguns extras à mistura, detalhando hacks úteis, filtros e técnicas de
acessibilidade que proporcionam ainda mais poder.
Finalmente, muitas das técnicas usadas no livro são usadas no estudo de caso Dead Goods, que detalha os prós e
contras de estilizar um site vivo com CSS puro e simples. É uma revelação!
Também forneci uma referência de sintaxe CSS na parte de trás do livro detalhando todas as propriedades e valores
vistos, o que permite que você consulte as propriedades mais complicadas ou outras dificuldades de forma rápida
e fácil.
Você pode ler este livro de ponta a ponta se quiser, já que ele tem uma narrativa muito bem encadeada. De forma
semelhante, o livro funciona como um guia de imersão para o designer astuto que simplesmente quer seguir
adiante com o seu trabalho. Seja como for, acho que você vai gostar.
Convenções usadas no livro
Geralmente, qualquer referência estranha encontrada no livro encontra explicação nos capítulos anteriores.
Dito isso, existem algumas convenções dignas de sua atenção antes de iniciarmos a leitura:
• (X)HTML refere-se às linguagens HTML e XHTML.
• A não ser que mencionado o contrário, todo o CSS está de acordo com a especificação CSS 2.1.
• Supõe-se que todos os exemplos de (X)HTML no livro sejam inseridos dentro do <body> de um documento
válido ao passo que o CSS é colocado em uma folha de estilo externa, indicada no <head> do documento
(X)HTML, a não ser que seja indicado de forma diferente.
• Na maioria dos casos, quando uma tag (X)HTML aparece seguida da palavra elemento no texto, ela se
refere a todo o elemento. Por exemplo, elemento <strong> se refere a todo o elemento, de <strong>
à </strong> e tudo o que estiver no meio.
• É recomendado chá e biscoitos sempre. Para esclarecer, o chá é o tradicional inglês, e os biscoitos são
normalmente integrais de chocolate.
Acho que é isso. Portanto coloque a água para ferver, chute para cima os chinelos e prepare-se para o
aprendizado
XXVI
Desenvolvendo CSS na Web
Download