SlideShare uma empresa Scribd logo
1 de 40
COMO TRANSFORMAR UM SITE DESKTOP
EM UMA APLICAÇÃO RESPONSIVA
Com Flex-box e Media Queries
Tatiane Aguirres Nogueira
TATIANE AGUIRRES NOGUEIRA
Tatiane Aguirres Nogueira
ou
@tatianeaguirres
❏ Consultant Developer na ThoughtWorks
❏ Graduada em Sistemas para Internet
❏ Coordenadora no TDC
❏ Organizadora Rails Girls POA
QUAL PROBLEMA UM
SITE DESKTOP PODE TER?
Responsividade é tão importante assim?
E A RESPONSIVIDADE? É IMPORTANTE MESMO?
x
x
E AGORA JOSÉ?
O QUE É DESIGN RESPONSIVO?
RESPONSIVIDADE É
MUITO IMPORTANTE
Se você quiser manter seus usuários...
POR QUE?
❏ Experiência do usuário
❏ Crescimento do acesso via mobile
❏ Velocidade
❏ Diminuir a taxa de rejeição
❏ Aumento de vendas
❏ Compartilhamento em redes sociais
❏ Já estar preparado para o futuro
MAS ANTES...
O QUE É HTML E CSS?
SINTAXE
index.html style.css
SINTAXE
FLEX BOX
O maravilhoso mundo do Flex Box...
MAS O QUE É FLEX BOX?
FLEX CONTAINER x FLEX ITEMS
FLEX CONTAINER
DISPLAY
"Define o elemento como um flex container, tornando os
seus filhos flex-itens."
FLEX DIRECTION
"Define a direção dos flex itens. Por padrão ele é row
(linha), por isso quando o display: flex; é adicionado, os
elementos ficam em linha, um do lado do outro."
FLEX WRAP
"Define se os itens devem quebrar ou não a linha. Por
padrão eles não quebram linha, isso faz com que os flex
itens sejam compactados além do limite do conteúdo."
JUSTIFY CONTENT
"Alinha os itens flex no container de
acordo com a direção. A propriedade
só funciona se os itens atuais não
ocuparem todo o container."
ALIGN ITEMS
"O align-items alinha os flex itens
de acordo com o eixo do container.
Essa propriedade permite o tão
sonhado alinhamento central no
eixo vertical."
ALIGN CONTENT
"Alinha as linhas do container em
relação ao eixo vertical. A
propriedade só funciona se existir
mais de uma linha de flex-itens. Para
isso o flex-wrap precisa ser wrap."
FLEX ITEMS
FLEX GROW
"Define a habilidade de um flex item crescer."
FLEX SHRINK
"Define a capacidade de redução de tamanho do item se
necessário. Números negativos são inválidos."
FLEX BASIS
"Indica o tamanho inicial do flex item antes da distribuição
do espaço restante. "
FLEX
"Atalho para as propriedades flex-grow, flex-shrink e flex-
basis. Geralmente você verá a propriedade flex nos flex
itens ao invés de cada um dos valores separados."
ORDER
"Modifica a ordem dos flex itens. Sempre do menor para o
maior, assim order: 1, aparece na frente de order: 5."
ALIGN SELF
"O align-self serve para definirmos o alinhamento específico
de um único flex item dentro do nosso container. Caso um
valor seja atribuído, ele passará por cima do que for
atribuído no align-items do container."
MEDIA QUERIES
…E do Media Query também!
MAS O QUE SÃO MEDIA QUERIES?
SINTAXE DO MEDIA QUERY
MEDIA TYPES
MEDIA TYPES
MEDIA FEATURES
❏ Width
❏ Height
❏ Aspect-ratio
❏ Orientation
❏ Resolution
❏ Scan
❏ Grid
❏ Update
❏ Overflow-block
❏ Overflow-inline
❏ Color
❏ Color-index
❏ Monochrome
❏ Color-gamut
❏ Pointer
❏ Hover
❏ Any-pointer & Any-hover
❏ Scripting
SINTAXE DO MEDIA QUERY
SINTAXE DO MEDIA QUERY
DEMO
OBRIGADA!
Para dúvidas ou sugestões:
Tatiane Aguirres Nogueira
tnogueir@ThoughtWorks.com

Mais conteúdo relacionado

Semelhante a Como Transformar Um Site Desktop Em Uma Aplicação Responsiva

Semelhante a Como Transformar Um Site Desktop Em Uma Aplicação Responsiva (6)

Modelagem de dados
Modelagem de dadosModelagem de dados
Modelagem de dados
 
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um LegadoComo DDD e Strategic Design estão nos ajudando a modernizar um Legado
Como DDD e Strategic Design estão nos ajudando a modernizar um Legado
 
Hexagonal Rails
Hexagonal RailsHexagonal Rails
Hexagonal Rails
 
Flexbox
FlexboxFlexbox
Flexbox
 
Hacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution PrincipleHacking Evening - Liskov Substitution Principle
Hacking Evening - Liskov Substitution Principle
 
Como transformar suas ideias em PROJETOS
Como transformar suas ideias em PROJETOSComo transformar suas ideias em PROJETOS
Como transformar suas ideias em PROJETOS
 

Mais de Tatiane Aguirres Nogueira

Mais de Tatiane Aguirres Nogueira (14)

Identifying and fixing the most common web accessibility issues
Identifying and fixing the most common web accessibility issuesIdentifying and fixing the most common web accessibility issues
Identifying and fixing the most common web accessibility issues
 
10 Dicas para Melhorar a Acessibilidade da sua Web App
10 Dicas para Melhorar a Acessibilidade da sua Web App10 Dicas para Melhorar a Acessibilidade da sua Web App
10 Dicas para Melhorar a Acessibilidade da sua Web App
 
The Power of Semantic HTML
The Power of Semantic HTMLThe Power of Semantic HTML
The Power of Semantic HTML
 
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na EuropaTecnologias & Desafios: a Vida de uma Front-ender na Europa
Tecnologias & Desafios: a Vida de uma Front-ender na Europa
 
Best Practices to Make your Web Application Accessible
Best Practices to Make your Web Application AccessibleBest Practices to Make your Web Application Accessible
Best Practices to Make your Web Application Accessible
 
Como é ser uma Front-end em 2018
Como é ser uma Front-end em 2018Como é ser uma Front-end em 2018
Como é ser uma Front-end em 2018
 
CSS
CSSCSS
CSS
 
O dia a dia de uma Desenvolvedora Front-end
O dia a dia de uma Desenvolvedora Front-endO dia a dia de uma Desenvolvedora Front-end
O dia a dia de uma Desenvolvedora Front-end
 
Práticas para Melhorar o seu Desenvolvimento Front-End
Práticas para Melhorar o seu Desenvolvimento Front-EndPráticas para Melhorar o seu Desenvolvimento Front-End
Práticas para Melhorar o seu Desenvolvimento Front-End
 
Javascript
JavascriptJavascript
Javascript
 
Ionic 2 - O que mudou?
Ionic 2 - O que mudou?Ionic 2 - O que mudou?
Ionic 2 - O que mudou?
 
O que é programação?
O que é programação?O que é programação?
O que é programação?
 
Front End x Back End
Front End x Back EndFront End x Back End
Front End x Back End
 
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
Palestra "Ionic Framework 2 - O que vem por aí?" TDC 2016
 

Último

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Dirceu Resende
 

Último (6)

Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
Apresentação Power Embedded - Descubra uma nova forma de compartilhar relatór...
 
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdfConcurso Caixa TI - Imersão Final - Rogério Araújo.pdf
Concurso Caixa TI - Imersão Final - Rogério Araújo.pdf
 
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdfFrom_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
From_SEH_Overwrite_with_Egg_Hunter_to_Get_a_Shell_PT-BR.pdf
 
Certificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdfCertificado - Data Analytics - CoderHouse.pdf
Certificado - Data Analytics - CoderHouse.pdf
 
Apresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdfApresentação Comercial VITAL DATA 2024.pdf
Apresentação Comercial VITAL DATA 2024.pdf
 
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
[ServiceNow] Upgrade de versão - 2ª edição (Revisada, atualizada e ampliada)
 

Como Transformar Um Site Desktop Em Uma Aplicação Responsiva

Notas do Editor

  1. Já faz muito tempo que ninguém mais diz “vou entrar na internet”, a gente só precisa pegar o celular, porque geralmente nós estamos sempre conectados. E essa “facilidade” que o celular nos deu de poder acessar tudo atraves dele, acabou virando um problema para os sites que foram desenvolvidos para serem acessado somente por computador.
  2. Site responsive é aquele que se adapta perfeitamente a qualquer resolução de tela, eles são inteligentimente projetados para isso.
  3. 1 – melhorar a experiencia do usuario 2 – acesso via mobile está crescendo muito 3 – Velocidade recomendação Google PageSpeed Developers 1s 4 – Diminuir a taxa de rejeição 5 – Aumento de vendas 6 – Mais compartilhamento nas redes sociais 7 – Preparar-se para dispositivos futuros
  4. Flexbox faz parte da especificação do CSS3 e nos ajuda a organizar esses elementos sem a ajuda do float e também nos ajudam a sanar problemas de Box Model que normalmente acontecem quando acrescentamos, padding, margin e border além da largura do elemento.
  5. "O Flex Container é a tag que envolve os itens flex, ao indicar display: flex essa tag passa a ser um Flex Container." “Os Flex Itens são os filhos diretos do Flex Container. É possível que um Flex Item seja também um Flex Container.”
  6. A mudança de row para column geralmente acontece quando estamos definindo os estilos em media queries para o mobile. Assim você garante que o conteúdo seja apresentado em coluna única.
  7. Essa é geralmente uma propriedade que é quase sempre definida como flex-wrap: wrap; Pois assim quando um dos flex itens atinge o limite do conteúdo, o último item passa para a coluna debaixo e assim por diante.
  8. Isso significa que ao definir flex: 1; ou algo similar nos itens, a propriedade não terá mais função. Excelente propriedade para ser usada em casos que você deseja alinhar um item na ponta esquerda e outro na direita, como em um simples header com marca e navegação.
  9. Por padrão o valor é zero, assim os flex itens ocupam um tamanho máximo relacionado o conteúdo interno deles ou ao width definido. Ao definir 1 para todos os Flex Itens, eles tentarão ter a mesma largura e vão ocupar 100% do container. Digo tentarão pois caso um elemento possua um conteúdo muito largo, ele irá respeitar o mesmo. Se você tiver uma linha com quatro itens, onde três são flex-grow: 1 e um flex-grow: 2, o flex-grow: 2 tentará ocupar 2 vezes mais espaço extra do que os outros elementos. OBS: justify-content não funciona em items com flex-grow definido.
  10. UM: Valor padrão, permite que os itens tenham os seus tamanhos (seja esse tamanho definido a partir de width ou flex-basis) reduzidos para caber no container. ZERO: Não permite a diminuição dos itens, assim um item com flex-basis: 300px; nunca diminuirá menos do que 300px, mesmo que o conteúdo não ocupe todo esse espaço. NÚMERO: Um item com shrink: 3 diminuirá 3 vezes mais que um item com 1.
  11. Quando definimos o flex-grow: 1; e possuímos auto no basis, o valor restante para ocupar o container é distribuído ao redor do conteúdo do flex-item. AUTO: Esse é o padrão, ele faz com que a largura da base seja igual a do item. Se o item não tiver tamanho especificado, o tamanho será de acordo com o conteúdo. UNIDADE: Pode ser em %, em, px e etc. ZERO: Se o grow for igual ou maior que 1, ele irá tentar manter todos os elementos com a mesma largura, independente do conteúdo (por isso 0 é o valor mais comum do flex-basis). Caso contrário o item terá a largura do seu conteúdo.
  12. Para melhor consistência entre os browsers, é recomendado utilizar a propriedade flex ao invés de cada propriedade separada.
  13. NÚMERO: Número para modificar a ordem padrão. Pode ser negativo. // ZERO: 0 é o valor padrão e isso significa que a ordem dos itens será a ordem apresentada no HTML. Se você quiser colocar um item do meio da lista no início da mesma, sem modificar os demais, o ideal é utilizar um valor negativo para este item, já que todos os outros são 0.
  14. Vale lembrar que o alinhamento acontece tanto em linha quanto em colunas. Por exemplo o flex-start quando os itens estão em linhas, alinha o item ao topo da sua linha. Quando em colunas, alinha o item ao início (esquerda) da coluna.