52
CSS + jQuery Rodrigo Aguas Projeto Capacitar – GPE Novembro 2011

CSS & JQquery

Embed Size (px)

DESCRIPTION

Projeto Capacitar novembro de 2011. Tema: CSS & JQuery

Citation preview

Page 1: CSS & JQquery

CSS + jQuery

Rodrigo Aguas

Projeto Capacitar – GPENovembro 2011

Page 2: CSS & JQquery

Visão Geral

Page 3: CSS & JQquery

CSS

Define a forma como o documento XHTML é exibido.

Ganhou força com o surgimento do XHTML e Tableless.

Apresenta alguns benefícios:• Manutenção• Desempenho• Reutilização

Page 4: CSS & JQquery

Declaração na página

• Externa:  <link rel="stylesheet" type="text/css" href="mystyle.css" />   • Interna:

  <style type="text/css">    ... </style>

Page 5: CSS & JQquery

Sintaxe

/* Essa é a sintaxe do CSS */

seletor {    propriedade: valor;}

Page 6: CSS & JQquery

Seletores

• Tag: p { ... } a { ... } table { ... } input { ... } body { ... }

• Id: #topo { ... }#rodape { ... }

#logo { ... }

#lateral { ... }

• Classe: .foto { ... }.comentario { ... }

.linhaImpar { ... }

.linhaPar { ... }

.container { ... }

Page 7: CSS & JQquery

Estilos de Fundo

• background-color• background-image• background-repeat• background-position

  #topo {background-color: black;background-image: url("../imagens/fundo_topo.png");background-repeat: repeat-x;background-position: center top;}

Page 8: CSS & JQquery

Mão na massa 1

Extraia no seu computador o seguinte arquivo: \\olimpo\gpe\Curso CSS e jQuery\Exercícios.rar

1. Aplique uma cor ao fundo da página. 2. Escolha e aplique uma imagem no fundo da página.

Page 9: CSS & JQquery

Mão na massa 2

1. Aplique repetição na imagem de fundo da página.

Page 10: CSS & JQquery

Estilos de Texto

• color• text-align• text-decoration• text-transform• font-family• font-style• font-size• font-weight

 .citacao {font-style: italic;text-decoration: underline;font-weight: bold;}

Page 11: CSS & JQquery

Mão na massa 3

1. Estilize o título.

2. Estilize os textos.

3. Estilize os links.

4. Clique em um link.

O que aconteceu?

Page 12: CSS & JQquery

Links (pseudo-classes)

• a:link• a:visited• a:hover• a:active

 A ordem das declarações importa!

Page 13: CSS & JQquery

Mão na massa 4

1. Estilize novamente os links

Page 14: CSS & JQquery

Box Model

• Todos os elementos do HTML são "caixas";• Podem conter ou estar contidas dentro de outras "caixas";• Possuem: espaço do conteúdo, padding, borda e margem;

Page 15: CSS & JQquery

Plugin Firebug para Firefox

https://addons.mozilla.org/pt-br/firefox/addon/firebug/

Page 16: CSS & JQquery

Propriedades das Caixas

• width• height• margin (-top, -right, -bottom, -left)• padding (-top, -right, -bottom, -left)• border (-top, -right, -bottom, -left) (-color, -width, -style)

Page 17: CSS & JQquery

Mão na massa 5

1. Defina uma cor de fundo e outra da borda para os elementos com os seguintes identificadores:containertopoconteudorodape

2. Caracterize os elementos conforme as seguintes classes já declaradas neles:com_paddingcom_margin

3. Limite a largura do container e centralize o site na tela.

Page 18: CSS & JQquery

Posicionamento de Elementos

Utiliza-se a propriedade position para definir a forma como o elemento se posicionará na página: • static (padrão, posição no fluxo normal dos elementos)

• relative (relativa ao posicionamento original dele) • absolute (posição fixa na página)

 • fixed (posição fixa na tela)

Page 19: CSS & JQquery

Mão na massa 6

1. Posicione o botão Voltar no canto inferior direito da tela.

2. Posicione o indice no canto superior direito da página.

Page 20: CSS & JQquery

Visualização dos Elementos

Utiliza-se a propriedade display para definir a forma como o elemento se comportará na página: • inline

• block  • none (!= visibility)

Page 21: CSS & JQquery

Flutuação

• float: (left, right) • clear: (left, right, both)

Page 22: CSS & JQquery

Mais um pouco sobre Seletores

• União (vírgula) h1, h2, h3, p, a, span { ... }

• Interseção div.comentario { ... } p#inicial { ... }

• Aninhamento (espaço) #topo h1 { ... }.comentario p { ... }

Page 23: CSS & JQquery

Especificidade e/ou Prioridades

1. Atributos style dos elementos2. Maior quantidade de identificadores no seletor3. Maior quantidade de classes no seletor4. Maior quantidade de nomes de tags no seletor

Page 24: CSS & JQquery

Mão na massa 7

1. Desapareça com a caixa com identificador invisivel.

2. Faça as demais caixas ficarem uma ao lado da outra.

3. Coloque a caixa com identificador abaixo para não ficar ao lado das demais.

Page 25: CSS & JQquery

Pausa...

para o banheiro?

Page 26: CSS & JQquery

Javascript

Adiciona comportamento aos elementos e os manipula dinâmicamente.

Page 27: CSS & JQquery

Declaração na página

• Interna: <script type="text/javascript">... </script>  • Externa:

 <script type="text/javascript" src="myScript.js"></script>

Page 28: CSS & JQquery

Declaração de Função

function nome(var1,var2,...,varX) {// Algum código}

Page 29: CSS & JQquery

Variáveis

• Globais (escopo da página)

• Locais (escopo da função)

Page 30: CSS & JQquery

Document Object Model (DOM)

• Objetos representam recursos do navegador ou elementos do HTML;

• Objetos possuem atributos, métodos e tratadores de eventos (event handlers);

Page 31: CSS & JQquery

Objeto window

• status (texto na barra de status)• alert()• confirm()• print()• close()• Etc...

 Dá acesso aos objetos document, history e outros.

Page 32: CSS & JQquery

Objeto history

• back()• foward()• go()

Page 33: CSS & JQquery

Objeto document

• readyState• title• getElementById()• getElementsByTagName()• Etc...

Page 34: CSS & JQquery

Objeto HTMLElement

• childNodes[]• innerHTML• parentNode• nextSibling• getElementsByTagName()• removeAttribute()• setAttribute()• Etc...

Page 35: CSS & JQquery

Eventos

• onblur• onchange• onclick• ondblclick• onerror• onfocus• onkeydown• onkeypress• onkeyup• onload• onmousedown• onmousemove 

• onmouseout• onmouseover• onmouseup• onresize• onselect• onunload

Page 36: CSS & JQquery

Mão na massa 8

1. Defina uma função que imprime um texto numa janela de alerta.

2. Utilize a função para avisar o fim da carga da página;

3. Utilize a função para avisar há quanto tempo a página foi carregada a cada vez que o mouse passa pelo bloco.

Page 37: CSS & JQquery

jQuery      ( != jQuery UI )

"jQuery é uma biblioteca JavaScript rápida e concisa que simplifica a varredura de documentos HTML, a manipulação de eventos, animação e interações Ajax para um desenvolvimento web rápido. jQuery é projetado para mudar a maneira que você escreve JavaScript."  http://jquery.com/

http://docs.jquery.com/Main_Page

Page 38: CSS & JQquery

Alternativas existem

• MooTools• ExtJS• Prototype• YUI• Dojo

Page 39: CSS & JQquery

Declaração na Página

<script type="text/javascript" src="jquery.js"></script>

Page 40: CSS & JQquery

Sintaxe

$( selector ).action();

$( selector ).action1().action2().action3();

Page 41: CSS & JQquery

Seletores

• CSS• XPATH

http://api.jquery.com/category/selectors/

Page 42: CSS & JQquery

Manipulação de CSS

• addClass• removeClass• css   

Page 43: CSS & JQquery

Mão na massa 9

1. Defina cores alternadas nas linhas da tabela.

Page 44: CSS & JQquery

O que houve?

Tentamos manipular elementos que ainda não haviam sido carregados na tela.

Page 45: CSS & JQquery

Tem Solução?

Claro! Utilizar o evento document.ready para executar o processamento. 

$(document).ready( function() {    // Algum código});

Page 46: CSS & JQquery

Mão na massa 10

1. Copie os arquivos do exercício anterior. 2. Defina cores alternadas nas linhas da tabela.

Page 47: CSS & JQquery

Efeitos

• show / hide / toggle• fadeIn / fadeOut• slideUp / slideDown

Page 48: CSS & JQquery

Mão na massa 11

1. Fazer com que o corpo da tabela desapareça/apareça a cada clique no cabeçalho.

Page 49: CSS & JQquery

Manipulação

• before / after• preppend / append• remove• html• text• val

Page 50: CSS & JQquery

Mão na massa 12

1. Ao clicar no botão Adicionar inserir o conteúdo do textarea no fim da área de texto.

2. Ao clicar em um parágrafo, removê-lo do texto.

3. Ao clicar no botão Imprimir, abrir a janela de impressão.

Page 51: CSS & JQquery

Fim!

Já chega né?

Page 52: CSS & JQquery

www.myscrumhalf.com

www.gpetec.com.br

Obrigado!Rodrigo [email protected]@gmail.com