SlideShare uma empresa Scribd logo
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?
Como transformar um site desktop em uma aplicação responsiva com flex-box e media queries
E A RESPONSIVIDADE? É IMPORTANTE MESMO?
E AGORA JOSÉ?
RESPONSIVIDADE É
MUITO IMPORTANTE
Se você quiser manter seus usuários...
DESIGN RESPONSIVO
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?
"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.”
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

PPTX
Criar testes em Java é tão chato e demorado... Então use Spock e crie testes ...
PDF
GraphQL e APIs: como manter a qualidade?
PDF
Testes de Acessibilidade em Mobile e Web
PPTX
DevOps na nuvem: Azure DevOps Projects
PPTX
Potencializando seus testes com Jenkins
PPTX
Automação is comming - Como transformamos os Gritos em Risadas
PPTX
Testes Contínuos na metodologia DEVOps
PPTX
Sysadmin: como chegar lá ?
Criar testes em Java é tão chato e demorado... Então use Spock e crie testes ...
GraphQL e APIs: como manter a qualidade?
Testes de Acessibilidade em Mobile e Web
DevOps na nuvem: Azure DevOps Projects
Potencializando seus testes com Jenkins
Automação is comming - Como transformamos os Gritos em Risadas
Testes Contínuos na metodologia DEVOps
Sysadmin: como chegar lá ?

Último (16)

PPTX
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
PDF
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
PDF
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
PDF
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PDF
Processos na gestão de transportes, TM100 Col18
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PDF
COBITxITIL-Entenda as diferença em uso governança TI
PPTX
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
PDF
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
PDF
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
PDF
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
PDF
Custos e liquidação no SAP Transportation Management, TM130 Col18
PPTX
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Como-se-implementa-um-softwareeeeeeeeeeeeeeeeeeeeeeeee.pptx
20250805_ServiceNow e a Arquitetura Orientada a Serviços (SOA) A Base para Ap...
Custos e faturamento no SAP S/4HANA Transportation Management, S4TM3 Col26
Otimizador de planejamento e execução no SAP Transportation Management, TM120...
Arquitetura de computadores - Memórias Secundárias
Mergulho profundo técnico para gestão de transportes no SAP S/4HANA, S4TM6 Col14
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Processos na gestão de transportes, TM100 Col18
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
COBITxITIL-Entenda as diferença em uso governança TI
Programação - Linguagem C - Variáveis, Palavras Reservadas, tipos de dados, c...
Fullfilment AI - Forum ecommerce 2025 // Distrito e Total Express
Fundamentos de gerenciamento de ordens e planejamento no SAP TransportationMa...
Gestão de transportes básica no SAP S/4HANA, S4611 Col20
Custos e liquidação no SAP Transportation Management, TM130 Col18
Gestao-de-Bugs-em-Software-Introducao.pptxxxxxxxx
Anúncio
Anúncio

Como transformar um site desktop em uma aplicação responsiva com flex-box e media queries

Notas do Editor

  • #19: 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.
  • #20: 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.
  • #21: 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.
  • #25: 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.
  • #26: 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.
  • #27: 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.
  • #28: Para melhor consistência entre os browsers, é recomendado utilizar a propriedade flex ao invés de cada propriedade separada.
  • #29: 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.
  • #30: 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.