Efeitos 101: Trabalhando com animações e transições



Documentos relacionados
WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

#Aula Nº 3 Estilo CSS webstandards.samus.com.br webstandards.samus.com.br/aulas/aula3.pdf Vinicius Fiorio Custódio samus@samus.com.

CSS é a abreviatura para Cascading Style Sheets Folhas de Estilo em Cascata

Web Design Aula 15: Conhecendo CSS

Posicionamento e Layout com CSS

Sumário. 1. Instalando a Chave de Proteção Novas características da versão Instalando o PhotoFacil Álbum 4

Coleção - Análises de marketing em clientes de

Web Design. Prof. Felippe

Colégio da Policia Militar do Estado do Tocantins. HTML5 e CSS3 Formulários Prof. Gleison Batista de Sousa

Desenvolvedor Web Docente André Luiz Silva de Moraes

Definindo um Layout de Website sem Tabelas Vou apresentar nesse post como fazer o código do layout de um website sem utilizar

Clique no menu Iniciar > Todos os Programas> Microsoft Office > Publisher 2010.

Tema UFPel 2.0 WP Institucional Guia de Opções de Personalização

Galeria de Fotos MorfeoShow

Professor: Paulo Macos Trentin Escola CDI de Videira 4/6/2011 1

Disciplina: Programas de Edição de Textos Professora: Érica Barcelos

PROGRAMAÇÃO PARA DISPOSITIVOS MÓVEIS -INTRODUÇÃO A JQUERY MOBILE. Prof. Angelo Augusto Frozza, M.Sc.

Coleção - Análises de marketing em clientes de

Crie um novo documento de mais ou menos 300x300Selecione a ferramenta Elipse tool (elipse U)

ALBUM DE FOTOGRAFIAS NO POWER POINT

#Aula Nº 4 XHTML+CSS webstandards.samus.com.br webstandards.samus.com.br/aulas/aula4.pdf Vinicius Fiorio Custódio samus@samus.com.

Ele vai localizar este código, substitua então o The Beat Was Goin' Strong pelo nome do seu tumblr.

Apostila de Windows Movie Maker

Janelas e seus elementos

FACULDADE PARAÍSO DO CEARÁ Jonas Pinto Esteves CRIANDO APLICAÇÕES WEB RESPONSIVAS COM INTERFACE HTML5 VOLTADAS PARA DISPOSITIVOS MOBILE

APOSTILA DE INFORMÁTICA MICROSOFT WORD 2012

Apostilas OBJETIVA Escrevente Técnico Judiciário TJ Tribunal de Justiça do Estado de São Paulo - Concurso Público Índice

TABLELESS E PROJETO ESTRUTURAL

Dicas para usar melhor o Word 2007

Manual de Publicaça o no Blog da Aça o TRIBOS nas Trilhas da Cidadania

Manual de Utilização do Zimbra

Layouts de páginas com HTML e CSS

WEBDESIGN. Professor: Paulo Marcos Trentin - paulo@paulotrentin.com.br Escola CDI de Videira

Coleção - Análises de marketing em clientes de

Criando Quiz com BrOffice.impress

O processo termina com o surgimento da última flecha quando aparece uma bolinha azul. Outras bolinhas aparecem aleatoriamente POWER POINT NEW WAY

Criação de Formulários

HTML. (Hypertext Markup Language Linguagem de Marcação de Hipertexto)

Mudança de formatos no HTML. CSS - Cascading Style Sheets. A prioridade para o efeito cascata. A prioridade para o efeito cascata

Princípios de Design TRADUÇÃO DE TATIANE CRISTINE ARNOLD, DO ARTIGO IBM DESIGN: DESIGN PRINCIPLES CHECKLIST.

Introdução às Folhas de Estilo

Seleção Retangular Esta é uma das ferramentas mais usadas. A seleção será indicada pelas linhas tracejadas que fazem a figura de um retângulo.

DESIGN RESPONSIVO TÉCNICAS E PROCESSOS DE PRODUÇÃO. Profº Ritielle Souza

Síntese da aula anterior

TUTORIAL PARA ATUALIZAÇÃO DO PORTAL DO TJRN

Aula 5 Microsoft PowerPoint 2003: Criando uma Apresentação

Esse manual é um conjunto de perguntas e respostas para usuários(as) do Joomla! 1.5.

Manual Sistema MLBC. Manual do Sistema do Módulo Administrativo

Fluxo de trabalho do Capture Pro Software: Indexação de código de barras e separação de documentos

Unidade 1: O Painel de Controle do Excel *

Programação em papel quadriculado

Manual PAINT.NET de imagens

Oficina de Manipulação e Edição de Fotografia e Imagem Digital GIMP

PROGRAMAÇÃO PARA INTERNET RICA FUNDAMENTOS DO JQUERY

Banner Flutuante. Dreamweaver

TUTORIAL COMO CRIAR E EDITAR UM VÍDEO NO WINDOWS MOVIE MAKER*

Universidade Federal de Santa Maria UFSM Centro de Tecnologia CT. Power Point. Básico

TUTORIAL: APRENDENDO A LIDAR COM O AXURE PRO

Web Design Aula 13: Introdução a CSS

CRIAÇÃO DE SITES (AULA 7)

O que há de novo. Audaces Idea

TUTORIAL DA FERRAMENTA FOTOR

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

W o r d p r e s s 1- TELA DE LOGIN

edirectory Plataforma ios / Android

,QWURGXomRDR(GLWRUGH $SUHVHQWDo}HV3RZHU3RLQW

Guia de Início Rápido

Conhecendo o Proteus

Tratamento fotográfico básico

edirectory ios / Android Plataforma

Responsive Web Design

Construtor de sites SoftPixel GUIA RÁPIDO - 1 -

CRIANDO TEMPLATES E LEGENDAS

Aula 01 - Formatações prontas e condicionais. Aula 01 - Formatações prontas e condicionais. Sumário. Formatar como Tabela

Vá em arquivo e clique em nova. Abrirá essa janelinha. Clique aqui, depois em mais... e escolha centímetros. Coloque 5,500 (5,5cm) Em opções

Manual Administrador - Mídia System

c) Insira uma nova camada, acima daquela que contém o texto. Nomeie-a de máscara. Clique com o botão direito nesta camada e marque a opção Mask.

Microsoft Access: Criar relatórios para um novo banco de dados. Vitor Valerio de Souza Campos

Bem- Vindo ao manual de instruções do ECO Editor de COnteúdo.

7. Cascading Style Sheets (CSS)

Como Gerar documento em PDF com várias Imagens

CSS - Background, Color e Fontes. Prof. Bruno Medeiros bruno.medeiros@sc.senai.br

Tutorial do programa

Manual de Instalação e Utilização

Banco de Dados Microsoft Access: Criar tabelas

Portal Sindical. Manual Operacional Empresas/Escritórios

<link rel="stylesheet" type="text/css" href="imagens.css" />

Acima temos a tela inicial do programa. USANDO O PHTOFILTER

Montar planilhas de uma forma organizada e clara.

Banco de Dados Microsoft Access: Criar tabelas. Vitor Valerio de Souza Campos

Guia de Início Rápido

QUEM SOU EU? Apresentação autobibliográfica multimídia

Aula 4 Modelo CSS. Efeito cascata. Ordem em cascata. Declarações normais e importantes. Exemplo. Especificidade de um seletor 30/08/2013

Neste texto, faremos o lançamento de armadura de flexão positiva inclinada, armadura de costela e estribo variável, em uma viga.

MANUAL DE BOAS PRÁTICAS

Barra de Títulos. Barra de Menu. Barra de Ferramentas. Barra de Formatação. Painel de Tarefas. Seleção de Modo. Área de Trabalho.

Como fazer busca de imagem no Google?

Índice. 3 Capítulo 1: Visão Geral do Blog. 4 Capítulo 2: SEO. 5 Capítulo 3: Backend: Como Funciona. Visão Geral Plataforma Frontend Backend

Transcrição:

Capítulo 8 Efeitos 101: Trabalhando com animações e transições UmadasminhaspartesfavoritasdoCSS3sãoaquantidadedeefeitosqueconseguimos criar apenas com CSS nas nossas páginas combinando algumas propriedades novas- transform, transition e animation. Sem eles, todos esses efeitos e animações de encher os olhos costumam ser feitos por bibliotecas de JavaScript como o jquery ou o script.aculo.us. Além dessa dependência adicional, problemas de performance e de renderização de elementos costumam surgir em navegadores antigos ou ao trabalhar com elementos complexos. Passando a responsabilidade de todo o trabalho pesado para os navegadores, conseguimos efeitos de maior qualidade com umataxamenordebugs. Apesar do suporte experimental, pois no momento todos essas 3 propriedades precisam ser usadas com prefixos específicos para cada os navegadores que os suportam, diversos sites e aplicativos usam esses recursos para efeitos sensacionais, sendo alguns deles os sites do último modelo do iphone e do Google Nexus e a interface

8.1. Transformando elementos Casa do Código web do Twitter. Não existe há razão de ter medo ou receio em usar eles em seus projetos. Vamos repassar exemplos clássicos de usos para a propriedade transform, como adicionar transições entre propriedades em elementos existentes, o nível de refinamento que temos em animações e como executar transformações em 3 dimensões. 8.1 Transformando elementos Vamos começar com transformações em duas dimensões. A propriedade transform aceita diversas funções de efeitos diferentes definidos pela especificação da W3C, tais como: 1) translate: utilizado para reposicionar um elemento, movendo sua posição no eixo X e Y pelos valores informados. 2) scale: utilizada para redimensionar um elemento, aceitando valores referentes ao tamanho do elemento- scale(2) dobrará o tamanho de um elemento. 3) skew: permite distorcer as posições de um elemento, esticando e torcendo de acordo com os valores passados. 4) rotate: usada para rotacionar o ângulo dos elementos. 5) matrix: o mais complexo de todos, permite executar uma matriz de transformações. Asfunçõestranslate,scaleeskewpossuemversõesXeY,quepermitemmodificarapenasumeixoenãoambosdeumavez. Asfunçõesdeskewerotatetrabalham com uma nova medida, graus, utilizando o sufixo deg, como em transform: rotate(90deg). A melhor forma de compreender o uso de tais funções é na práticas. Vamos utilizar algumas delas no exemplo a seguir. 8.2 Os efeitos rotate, scale, skew e translate em uma galeria de fotos No começo de 2012, a Plataformatec contratou 4 desenvolvedores - incluindo eu - parareforçarasuaequipe. Emhomenagemaisso,vamoscriarumagaleriadefotos 150

Casa do Código Capítulo 8. Efeitos 101: Trabalhando com animações e transições paraapresentarosnovosmembrosdotime. ComeçandocomumHTMLcomalista de contratados e suas fotos: <h1>reforços da Plataformatec em 2012</h1> <ul> <li> <img src='pics/galdino.png' alt='carlos Galdino'> <span>carlos Galdino</span> </li> <li> <img src='pics/erich.png' alt='erich Kist'> <span>erich Kist</span> </li> <li> <img src='pics/lucas.png' alt='lucas Mazza'> <span>lucas Mazza</span> </li> <li> <img src='pics/rondy.png' alt='rondy Sousa'> <span>rondy Sousa</span> </li> </ul> EumpoucodeCSSparaalinharasfotoserealçarosnomes: ul { list-style: none; padding: 0; li { float: left; margin-left: 10px; position: relative; span { color: #153755; display: block; font-weight: bold; margin-top: 5px; 151

8.2. Os efeitos rotate, scale, skew e translate em uma galeria de fotos Casa do Código text-align: center; Figura8.1: Agaleriacomas4fotosnolugar. Para dar uma descontraída na galeria, vamos girar as fotos utilizando a função rotate. Sendo que as fotos ímpares (do Carlos e a minha) irão para um lado e as pares(doerichedorondy)paraoutro. Utilizandooseletordenth-child,ocódigo para isso fica bem enxuto: li:nth-child(even) { transform: rotate(5deg); li:nth-child(odd) { transform: rotate(-5deg); 152

Casa do Código Capítulo 8. Efeitos 101: Trabalhando com animações e transições Figura 8.2: A função rotate em ação, aplicada nas fotos. Passando um valor negativo podemos rotacionar as imagens no sentido antihorário, enquanto valores positivos são para o sentido horário. Outro efeito que conseguimos adicionar facilmente é ao passar com o cursor por cima das fotos, aumentarotamanhodaimagemedotexto,atravésdousodoscale. li:hover { transform: scale(1.3); z-index: 1; Figura 8.3: Combinando o hover com o scale. Destaforma,aimgeospanirãovoltaraposiçãonormaleficarão30%maiores - e o uso do z-index vai posicionar a foto em cima das demais. Podemos testar 153

8.2. Os efeitos rotate, scale, skew e translate em uma galeria de fotos Casa do Código outras funções como o skew e o translate aqui, mas elas não são aplicações tão interessantes quanto o rotate e o scale no nosso cenário. Mas vamos conferir como elas ficariam na nossa galeria. li { transform: skew(10deg, 10deg); Figura8.4: Talvezo skew nãosejaomaisinteressanteparaonossocaso. li:nth-child(even) { transform: translatey(10px); li:nth-child(odd) { transform: translatey(-10px); 154

Casa do Código Capítulo 8. Efeitos 101: Trabalhando com animações e transições Figura 8.5: Movimente os elementos com a função translate. Emcadacasoénecessárioestudarqualomelhorefeitoaserusado. Oskewpode ser útil para desenhar cubos em 3D utilizando 3 elementos, e o translate é uma ótima alternativa ao uso de position: absolute junto de top e left. Em navegadores sem suporte a transform, a galeria seria exibida da forma que ela foi criada inicialmente - sem efeitos nenhum. Caso você precise trabalhar com navegadores sem suporte, sempre teste as suas páginas sem os efeitos de transform para confirmar que elas continuam funcionais. 8.3 Transições de estilos A propriedade transition permite você animar a mudança- ou seja, a transiçãoentre outras propriedades dos seus elementos quando elas mudam de valor. Seja esta mudança feita através de JavaScript, alterando as classes aplicadas a um elemento, ou pelas mudanças causadas por pseudo seletores, como:focus e:hover. Transições são uma ótima adição a interfaces já existentes, já que dependem da mudança de estado existente, como containers deslizantes e modais que aparecem e desaparecem das telas. Se você está acostumado a usar animações em JavaScript com o jquery, por exemplo, é possível substituir o uso de funções como slidedown e fadetoggle por transições entre classes específicas para modificar a altura ou a opacidade, tornando esses efeitos mais rápidos e garantido melhor qualidade aos efeitos. Vamos voltar a esse assunto do JavaScript mais tarde, mas primeiro vamos ver as transições em ação para melhorar a experiência de interfaces que já desenvolvemos anteriormente. 155

8.4. Transições na galeria de fotos Casa do Código 8.4 Transições na galeria de fotos Você se lembra da galeria de fotos dos reforços da Plataformatec que criamos anteriormente para usar a propriedade transform com a função rotate? Vamos aprimoraroefeitodescaleadicionadoao:hoverdasfotoscomumatransição-eissoserá absurdamente simples- basta aplicar a seguinte linha ao seletor da li: li { transition: transform 0.2s linear; Abra a galeria no seu navegador e passe o mouse pelas fotos novamente. Incrível, certo? ApenasumalinhadeCSSeganhamosessaanimação-masessalinhacontém bastante informação sobre o que queremos fazer. A propriedade transform é um atalhoparaas4propriedadesquecompõeaanimação,damesmaformacomousamos margin para definir 4 margens diferentes em uma propriedade só, sendo elas: 1) transition-property: para qual propriedade a transição será aplicada. É possível utilizar o valor all para referenciar todas as propriedades do elemento; 2) transition-duration: A duração que a transição deve ter, em segundos; 3) transition-timing-function: Como a velocidade da transição deverá ser calculada, os valores mais comuns são linear, ease, ease-in, ease-out e ease-in-out; 4) transition-delay: tempo de espera que precede a transição - geralmente omitimos essa propriedade para utilizar o valor padrão dela, 0. Comissoexplicado, ficafácilentenderoqueanossadefiniçãofaz: aplicamosa transição a propriedade transform, com 0.2s de duração e a transição deverá ser executada em uma velocidade linear. Apesar de existir um mar de opções possíveis que conseguimos combinar com essas propriedades, é fácil definir um padrão de valoresparaaduraçãoeavelocidadeerepetirosvaloresemdiversoslugareseprojetos - melhor do que se preocupar constantemente em otimizar as transições para cada uso possível. 156

Casa do Código Capítulo 8. Efeitos 101: Trabalhando com animações e transições Revisitando um velho amigo Vamos voltar ao formulário de contato criado no capítulo anterior- onde as mensagens de ajuda são exibidas conforme os campos recebem foco- e adicionar transições as mensagens. Diferente do exemplo anterior, precisamos fazer alguns ajustes ao estilo do formulário e podemos combinar transições diferentes para criar um efeito melhor. Figura 8.6: O formulário de contato criado no capítulo anterior. Primeiramente, precisamos trocar a definição de display: none; das mensagens- não podemos usar essa propriedade nas nossas animações, pois elementos que estão escondidos desta forma não recebem os efeitos de transição quando mudamos o valor dela para block. Para contornar isso, precisamos esconder as mensagens de outra maneira, utilizando a propriedade opacity. Então, o CSS da classe.hint ficará assim:.hint { background-color: #FFFBE4; border-radius: 3px; border: 1px solid #CCC; box-shadow: 1px 1px 3px rgba(0,0,0,0.2); display: inline-block; /* Colocamos o `inline-block` de volta. */ font-size: 0.8em; margin-left: 20px; opacity: 0; /* Remove a opacidade do elemento para escondê-lo. */ 157