Dentro de um arquivo CSS, regras diferentes para o tamanho de uma imagem
se o dispositivo estiver orientado verticalmente (portrait) ou
horizontalmente (landscape)
<!-- Arquivo de estilo para dispositivos pequenos --><linkrel="..."media="screen and (max-width: 640px)"href="small-screens.css"><!-- Arquivo de estilo para dispositivos grandes --><linkrel="..."media="screen and (min-width: 641px)"href="large-screens.css">
Exemplo de uso de características de mídia (2/2)
Forma 2: Dentro de um mesmo arquivo (mais comum)
#logo{width:200px;}/* com o "celular em pé"", a logo vai ocupar 100% */@mediascreenand(orientation:portrait){#logo{width:100%;}}
Densidade de pixels
Telas com “super definição”
A origem: iPad 3
Densidade de pixels
Como aproveitar
Retina display (da Apple)
Retina display (da Apple)
Simulação de retina display
Para testar em um dispositivo de tela com alta densidade de pixels:
Este dispositivo tem densidade: x
Responsive Design
Adequando ao dispositivo
O que é
Exemplos de sites
Como fazer
O que éResponsive Design
Não significa desenho responsável =)
É a idéia de que as páginas Web devem se adaptar à plataforma que a está
exibindo
Melhorar a experiência de usuário
Aproveitar características específicas de plataformas diferentes
Usa o recurso de media queries, mas também tamanhos fluidos, flexbox e grid
Exemplo de site responsive
Como fazer
Para criar uma página responsive, você deve
Usar unidades de medida relativas
Definir os pontos (largura) em que a página “quebra”
(os breakpoints)
Criar regras de estilos diferentes para cada conjunto de dimensões
Por exemplo, vamos criar uma página que mostra
4 produtos por linha em dispositivos grandes
3 produtos por linha em dispositivos médios
2 produtos por linha em dispositivos pequenos
Exemplo
#produtos{display:flex;}@media(min-width:801px){/* tela grande: 4 produtos por linha */div.produto{width:calc(100%/4);}}@media(min-width:481px)and(max-width:800px){/* tela média: 3 produtos por linha */div.produto{width:calc(100%/3);}}@media(max-width:480px){/* tela pequena: 2 produtos por linha */div.produto{width:calc(100%/2);}}