codelab@ime.usp.br
Grupo de extensão universitária que como objetivo estimular a inovação tecnológica na USP
Facebook:
Este trabalho do USPCodeLab está licenciado com uma Licença Creative Commons - Atribuição 4.0 Internacional
O USPCodeLab é um grupo de extensão que tem como objetivo estimular a inovação tecnológica na USP
- 53% dos acessos em celular
- Acesso a maior fatia da população
Global
Brasil
- Grande variedade de dispositivos mobile
- Preocupação com vários tamanhos de tela
- Filosofia de desenvolvimento web
- Desenvolva primeiro pensando em mobile, depois se preocupe com desktop!
- Por quê?
- Reflexão sobre importância do conteúdo
- Menos espaço no mobile
- Número de usuários no mobile
- Experiência de usuário num dispositivo touchscreen é muito diferente (e deve ser pensada com carinho!)
”Design e desenvolvimento devem responder ao comportamento do usuário e ao ambiente baseado no tamanho da tela e orientação“
- Ou: design que se adapta ao tamanho da tela do usuário e suas necessidades
- Não se limita a tamanhos de tela! - CSS speech
- Resolve problema de diversidade de telas
- Layout Flexível
- Apenas adapta o conteúdo ao tamanho da tela
- Será que o formato não deveria mudar também? Medium
sm
lg
md
Layout flexível: layout se adapta de forma flexível ao viewport
Layout adaptativo: layout é fixo e pensado para certos tamanhos de tela - útil para mudar o formato do conteúdo
Qual dos dois usar?
Por que não os dois?!?!
- Layout responsivo: telas de tamanho similar
- Layout adaptativo: telas de tamanho muito diferentes (PCs, Tablets e Celulares)
- Layout responsivo: FlexBox + Medidas responsivas (em, rem, %, vh, vw...)
- Layout adaptativo: ?
- Modificar layout baseado no dispositivo : Tela, Leitor de tela...
- E também baseado em características : largura, altura de tela...
- Design adaptativo!
@media tipo de mídia and (media feature) {
seletor {
propriedade: valor;
}
}
@media screen and (min-width: 900px) {
// Regras CSS
}
- Media feature : avalia características específicas do dispositivo
- width, height, min-width, orientation...
- Features tem que ser delimitadas por parêntesis
@media screen and (min-width: 900px) {
//Regras CSS
}
Mídia : o meio no qual a regra será aplicada
- Alguns valores : screen, print, tv, braille, speech
@media screen and (min-width: 900px) {
div {
background-color: red;
}
}
- Conectivos lógicos : conectam as media features e definição de mídia
- and, not, vírgula (a virgula é a mesma coisa que o Or lógico)
Exemplos
@media screen and (max-width: 700px) and (min-width: 400px) {
.phone {
background-color: red;
}
}
@media screen and (max-width: 400px) {
.phone {
background-color: green;
}
}
@media screen and (orientation: portrait) {
background-color: blue;
}
Use a página do USPCodeLab dada de exemplo, ela foi feita com o conceito mobile first, sua tarefa é deixar ela responsiva para telas de desktop como na imagem:
entrega no Google Classroom
By codelab@ime.usp.br
Grupo de extensão universitária que como objetivo estimular a inovação tecnológica na USP