CSS com classe

19
CSS classe com

description

Some quick insights about CSS and how to avoid mistakes dealing with Internet Explorer etc.

Transcript of CSS com classe

Page 1: CSS com classe

CSS classe com

Page 2: CSS com classe

CSS não é tão SIMPLES quanto pensa

Page 3: CSS com classe

O CÓDIGO É FRÁGIL Até o código mais organizado pode ir pro espaço

com apenas algumas linhas de código.

Page 4: CSS com classe

a cada nova customização que é feita.

O TAMANHO DO ARQUIVO TENDE A CRESCER

Page 5: CSS com classe

quando não há padronização.

REUTILIZAÇÃO DE CÓDIGO É MUITO DIFÍCIL

Page 6: CSS com classe

ENTÃO... O QUE FAZER?

Page 7: CSS com classe

BOAS PRÁTICAS

1.  Escreva nomes de classes de acordo com sua função e não quanto a aparência.

2.  Faça a separação da pele e do esqueleto.

3.  Separe o contêiner do conteúdo.

4.  Extenda estilos usando mais de uma classe num mesmo elemento.

5.  Planeje seu código em blocos que possam ser reaproveitados.

6.  Diminua a quantidade de seletores.

7.  Use resets e outras ferramentas para remover inconsistências entre navegadores.

8.  Aprenda a amar os grids.

Page 8: CSS com classe

PRINCIPAIS EQUIVOCOS

1.  Evite especificar a tag a qual uma classe é aplicada.

2.  Evite IDs dentro da área principal do site.

3.  Texto como texto, não como imagem.

4.  Imagens que fazem parte do layout devem ser tratadas como imagens de fundo.

5.  Evite alinhamento vertical.

6.  Estilos dependentes do contexto

7.  Corte estilos retundantes e una estilos parecidos.

8.  CSS inline e !important.

9.  HTML inválido.

Page 9: CSS com classe

NOMES DE CLASSES (E IDs) DEVEM INDICAR O CONTEÚDO

#left_menu { ... }

#primary { ... }

.big_red_button { ... }

.buy { ... }

Page 10: CSS com classe

EXCEÇÕES SÃO EXCEÇÕES

label.required { ... } input.required { ... }

.align_left { ... }

.align_right { ... } .show { ... } .hide { ... }

mas têm a sua utilidade :)

Page 11: CSS com classe

#content div#left_column.grid_10 div#menu ul .item a { ... }

#menu li a { ... }

#product_listing div.product img.thumb { ... }

.product .thumb { ... }

ECONOMIZE NOS SELETORES

Page 12: CSS com classe

#product_list span.sell_price { color: #ccc; font-weight: normal; } .sell_price { color: #07c; font-weight: bold; font-size: 1.4em; }

??? 0111

0010

ESPECIFICIDADE É DO MAL

Page 13: CSS com classe

http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/

ESPECIFICIDADE É DO MAL

Page 14: CSS com classe

<div class=“products showcase”> <ul> <li id=“sku_001” class=“product new sale”> <div class=“thumb”><img src=“...”></div> <div class=“name”>...</div> <div class=“price”> <span class=“currency reais”>R$</span> <span class=“ammount”>...</span> </div> </li> ... </ul> </div>

EXTENDENDO...

Page 15: CSS com classe

INTERNET EXPLORER: MUITO POLÊMICO

Entenda os bugs e as limitações das várias versões do navegador

ou prepare-se para enfrentar o apocalipse.

Page 16: CSS com classe

IE:NSUPORTÁVEL

div > p div + p div[foo] p:first-child p:last-child div:before div:after input:focus

div.bug { float: left; margin: 5px 5px 5px 50px; // previne que a margem esquerda // seja duplicada no IE display: inline; }

e por aí vai...

Page 17: CSS com classe

LOVE / HATE

a:link { ... } a:visited { ... } a:hover { ... } a:active { ... }

Page 18: CSS com classe

REFERÊNCIAS http://www.slideshare.net/stubbornella/object-oriented-css http://coding.smashingmagazine.com/2007/07/27/css-specificity-things-you-should-know/ http://blog.websitestyle.com/index.php/2006/02/18/love-hate-lvha/ http://www.alistapart.com/articles/12lessonsCSSandstandards/ http://dev.l-c-n.com/CSS3-selectors/browser-support.php

Page 19: CSS com classe

Dúvidas? twitter.com/blude ☛