Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI...

82
Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula

Transcript of Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI...

Page 1: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Laboratório de InformáticaCSS SeletoresSeletores do CSS 2.1

1º Semestre 2010 > PUCPR > BSI

Bruno C. de PaulaBruno C. de Paula

Page 2: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Resumo da aulaContinuaremos nosso trabalho com a linguagem de seletores;Hoje trabalharemos com os seletores introduzidos no CSS 2.1;Devemos ter especial cuidado com estes seletores: seu suporte é restrito no Internet Explorer 6 e 7;Conheceremos, porém, maneiras de contornar esta limitação através da linguagem JavaScript.

Page 3: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

3

Material referente ao assunto da aulaTutorial sobre regras CSS:

http://maujor.com/tutorial/sintaxetut.php

Tutorial seletores CSS 2.1:http://maujor.com/tutorial/seletores_c

ss21_parte1.phpRecomendação W3C do CSS 2.1 (em

Inglês):http://www.w3.org/TR/CSS21/selector.

html#pattern-matching

Page 4: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Material referente ao assunto da aula

Capítulo do Livro CSS – Guia de Bolso:http://altabooks.tempsite.ws/capitulos

_amostra/00_cssbolso.pdfTabela com resumo de todos os

seletores do CSS e sua compatibilidade:http://kimblim.dk/css-tests/selectors/

Documentação sobre seletores do site da Microsoft:http://msdn.microsoft.com/en-us/librar

y/aa358816(VS.85).aspx

4

Page 5: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Material referente ao assunto da aula

CSS – Guia de Bolso;Editora AltaBooks;2008;Download de um

capítulo.

5

Page 8: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

8

Seletores CSS referenciados na aula (em Inglês –site SitePoint)Seletor universal (*);Seletor filho (E > F);Seletor irmão adjacente (E + F);Pseudo-classe dinâmica “sobre

o elemento” (E:hover);Pseudo-classe dinâmica foco

(E:focus);

Page 9: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletores CSS referenciados na aula (em Inglês –site SitePoint)Pseudo-classe primeiro filho

(E:first-child);Pseudo-classe idioma (E:lang(c));Pseudo-elemento de conteúdo inserido

antes de outro (E:before);Pseudo-elemento de conteúdo inserido

depois de outro (:after).

9

Page 10: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletores CSS referenciados na aula – Seletores de AtributoSeletor de elemento com

atributo existente (existência):E[atr];

Seletor de elemento com valor de atributo igual ao valor especificado (igualdade):E[atr=val].

10

Page 11: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletores CSS referenciados na aula – Seletores de AtributoSeletor de elemento com valor de

atributo contido em uma lista separada por espaços (espaço em branco);E[atr~=val]

Seletor de elemento com valor de atributo iniciando com o prefixo seguido de “-” (hífen):E[atr|=val].

11

Page 12: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Relembrando a aula passada...

12

Page 13: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

13

Page 14: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Versões do CSS1.0: Todos os navegadores do

mercado implementam.

14

Page 15: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Versões do CSS (retrocompatíveis)

2.0/2.1: Implementado em grande parte dos navegadores (implementação parcial: ie7, quase nula: ie6); Aula de hoje.

3.0: Em discussão avançada, implementação parcial em alguns navegadores (Opera, Firefox, Safari, Chrome, IE 8 e 9);

15

Page 16: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

16

Fonte da imagem: CSS Guia de Bolso de Eric A. Meyer

Page 17: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Assunto de hoje: só seletores!E do CSS 2.1

17

Page 18: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Os seletores do CSS 2.1 são implementados por todas as plataformas principais (menos IE6)!

18

Page 19: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

19

Use com cuidado!ie6

Page 20: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

CSS 2.1 funciona bem no IE8 e IE9!

20

Page 21: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Tabela de compatibilidade CSS 2.1 x Navegadores

21

Fonte: fonte: http://kimblim.dk/css-tests/selectors/

Page 22: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Ie6 pode ser um navegador importante no mercado por algum tempo!

Soluções:Ignorar ie6;Criar interface específica para ie6;“Emular” alguns recursos do CSS 2.1 via JavaScript para “transformar” o navegador;

22

Page 23: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

“Transformação” de ie5.5 para IE923

<!--[if lt IE 9]><script src="http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js"></script><![endif]-->

Page 24: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Lista dos Seletores do CSS 2.1

24

Page 25: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

2511/04/23

Seletor Tipo Observações

* Universal * Uso em CSS Reset* Funciona no ie6

E > F Filho

E + F Irmão adjacente

E:hover Hover (mouse sobre)

No ie6 só a:hover funciona!

E:focus Foco no teclado Forms e links ie7

Page 26: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

2611/04/23

Seletor Tipo Observações

E:first-child Primeiro filho

E:lang(C) Idioma

E:before Inserção de conteúdo antes

E:after Inserção de conteúdo depois

ie7

ie7

ie7

Page 27: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

2711/04/23

Seletor Tipo Observações

E[atr] Atributo existente

E[atr=val] Atributo igualdade

E[atr~=val] Atributo espaço em branco

Com atributo class não precisa

E[atr|=val] Atributo prefixo Usar com tag a e atributo hreflang

Page 28: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor universal (*)

Casamento com elemento de qualquer tipo;

28

11/04/23

Page 29: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: coloque a cor amarela e o fundo azul em todos os elementos dentro de um div, independente do tipo

29

Page 30: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

30

Page 31: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

CSS Reset31

* {margin: 0;padding: 0;}Elimina margens e espaçamentos padrão de todos os elementos

Page 32: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Localização / Depuração de elementos CSS

32

Page 33: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor filho (E > F)

Casamento com todos os elementos filhos imediatos de um elemento;

Diferente do seletor descendente!

33

Page 34: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: deixar em verde e com fonte grande todos os <em> filhos imediatos de um div

34

Page 35: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

35

Page 36: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor irmão adjacente (E + F)Casamento com um elemento irmão e

adjacente (F) ao primeiro elemento (E);Elementos com mesmo pai;Primeiro elemento no mesmo nível do

segundo;Útil para seleção de inputs após labels

(label+input);

36

Page 37: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: trocar o fundo de todos os parágrafos imediatamente colocados após um elemento <h2>

37

Page 38: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: sublinhar todos os parágrafos depois de um parágrafo, ou seja, em uma lista de parágrafos, formatar todos menos o 1º

38

Page 39: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

39

Page 40: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Pseudo-classe dinâmica “sobre o elemento” (E:hover)Casamento com um elemento cujo

mouse está sobre ele;No IE6 funciona o a:hover!

40

ie6

Page 41: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: quando o mouse passar sobre um link (tag <a>), troque o fundo para vermelho e elimine qualquer tipo de sublinhado

41

Page 42: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

42

Page 43: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

43

Page 44: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Ordem correta de aplicação das pseudo-classes de linkLink, Visited, Hover, Active;Mnemônico: LoVeHAte;Se considerar o focus: LoVe Fears

HAte;

44

Page 45: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Pseudo-classe dinâmica foco (E:focus)Casamento com elemento que está com

o foco para digitação;Não funciona no IE7.

45

ie7

Page 46: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: quando o usuário estiver com o foco de teclado em uma área de texto qualquer, troque o fundo da área para vermelho

46

Page 47: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

47

Page 48: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Ordem correta de aplicação das pseudo-classes de link (com focus)

Link, Visited, Hover, Focus, Active;

48

11/04/23

Ver mais detalhes em: http://meyerweb.com/eric/thoughts/2007/06/11/who-ordered-the-link-states/

Page 49: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Pseudo-classe primeiro filho (E:first-child)Casamento com um elemento quando

ele é o primeiro filho de seu pai;

49

Page 50: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: muda para vermelho a cor de fundo de todos os <li> que são o primeiro filho de seu elemento pai

50

Page 51: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

51

Page 52: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Pseudo-classe idioma (E:lang(C))

Seleciona o elemento com o idioma indicado;

Para especificar o idioma, usar atributo lang.

Não funciona ie7.

52

ie7

Page 53: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: mudar para vermelho a cor de fundo de todos os elementos da língua Português e suas variantes

53

Page 54: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

54

Page 55: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Pseudo-elemento de conteúdo inserido antes de outro (:before)Gera conteúdo antes do elemento

especificado através da propriedade content;

Comportamento complexo, mas poderoso;

Não funciona no IE7.

55

11/04/23

ie7

Page 56: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: Coloca o texto “Pais: “ antes de todos os parágrafos.

56

Page 57: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

57

Page 58: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Pseudo-elemento de conteúdo inserido depois de outro (:after)Gera conteúdo depois do elemento

especificado;Não funciona no IE7;

58

ie7

Page 59: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: Coloca o texto indicado após todos os parágrafos.

59

Page 60: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

60

Page 61: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor de elemento com atributo existente (existência) (E[atr])

Seleciona um elemento quando o atributo especificado entre colchetes [] existir;

Page 62: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: coloca sublinhado em todos os parágrafos que tiverem o atributo id

Page 63: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: deixa verde qualquer elemento que possua o atributo title

Page 64: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: coloca mensagem após todo elemento que possui título

Page 65: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Page 66: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Page 67: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor de elemento com valor de atributo igual (igualdade) (E[atr=val])

Seleciona um elemento quando o valor do atributo especificado na regra for igual ao valor encontrado no elemento;

Page 68: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: coloca uma borda em todos os links cujo atributo rel seja igual ao valor tagPara mais detalhes sobre o significado de rel=tag, acesse o link:http://microformats.org/wiki/rel-tag-pt-br

Page 69: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: coloque um tachado (linha cortando) todos os links com valor de atributo rel igual a nofollowPara mais detalhes sobre o significado de rel=nofollow, acesse o link:http://googlediscovery.com/2007/08/18/aprenda-a-usar-o-relnofollow-e-evite-ser-punido-pelo-google/

Page 70: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Page 71: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Alteração de todos os inputs de um certo tipo

Page 72: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor de elemento com valor de atributo contido em lista (espaço) (E[atr~=val])Seleciona um elemento quando o valor

do atributo especificado na regra estiver contido dentro de uma lista separada por espaços no valor do atributo do elemento selecionado;

Page 73: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: seleciona todos os parágrafos nos quais, dentro do atributo title contiver uma lista separada por espaços e a palavra microsoft

Page 74: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Page 75: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

75

O seletor E[atr~=val] não é necessário quando se precisa aplicar 2 (ou mais) classes a um elemento.

Separe as classes por espaço no atributo class.

Page 76: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

76

Page 77: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Seletor de elemento com prefixo (hífen) (E[atr|=val])Faz o casamento com elementos cujo

valor de atributo seja igual, ou opcionalmente, seguido por um hífen;

Usado, geralmente com atributo hreflang (indica o idioma do conteúdo linkado).

Não use com o atributo lang!

Page 78: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Significado: seleciona o link cujo idioma de destino seja o Português

Page 79: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.
Page 80: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

80

Material referente ao assunto da aula

Tutorial sobre regras CSS:http://maujor.com/tutorial/

sintaxetut.phpTutorial seletores CSS 2.1:

http://maujor.com/tutorial/seletores_css21_parte1.php

Recomendação W3C do CSS 2.1 (em Inglês):http://www.w3.org/TR/CSS21/

selector.html#pattern-matching

Page 81: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Material referente ao assunto da aula

Capítulo do Livro CSS – Guia de Bolso:http://altabooks.tempsite.ws/

capitulos_amostra/00_cssbolso.pdfTabela com resumo de todos os

seletores do CSS e sua compatibilidade:http://kimblim.dk/css-tests/selectors/

Documentação sobre seletores do site da Microsoft:http://msdn.microsoft.com/en-us/

library/aa358816(VS.85).aspx

81

Page 82: Laboratório de Informática CSS Seletores Seletores do CSS 2.1 1º Semestre 2010 > PUCPR > BSI Bruno C. de Paula.

Material referente ao assunto da aula82

CSS – Guia de Bolso;Editora AltaBooks;2008;Download de um

capítulo.