Não é nenhum segredo que o mundo está cada vez mais móvel. As vendas de PCs caíram em 20% desde 2008, e em 2015 é esperado que o acesso à Internet por dispositivos portáteis supere o acesso por desktops. A Web pode ser acessada de qualquer lugar, a qualquer hora. Mas com tantos modelos de dispositivos—tablets, notebooks, netbooks e smartphones—como fazer com que seu produto funcione em todos?
O Responsive Web Design—um conjunto de técnicas e ideologias—promete solucionar este problema, oferecendo o mesmo conteúdo em todas as plataformas, da melhor maneira. Nesta palestra, serão ensinadas técnicas de design, front e back-end para que seu site seja usável e acessível por todos, sem limitar-se a modelos, tamanhos de tela ou versões específicas.
56. Sintaxe
[only | not]? {tipo} and ({feature}[:{valor}]?) [and ({feature}[:{valor}]?)]*
[, [only | not]? {tipo} and ({feature}: [:{valor}]?) [and ({feature}[:{valor}]?)]* ]
Uso
<link rel=”stylesheet” href=”wide.css” media=”screen and (min-width:1200px)” />
ou
@media screen and (max-width: 1200px) {
/* insert styles here */
}
57. Exemplos
@media print and (max-width:21cm) {}
@media all and (max-width: 1024px) {}
@media only screen and (orientation:landscape)
and (min-device-width:768px)
and (max-device-width:1024px),
only screen and (-webkit-device-aspect-ratio:1.5) {}
58. Exemplos
@media only screen and (orientation:landscape)
and (min-device-width:768px)
and (max-device-width:1024px),
only screen and (-webkit-device-aspect-ratio:1.5) {}
device-width: 1024px -webkit-device-aspect-ratio: 1.5
(novo iPad)
device-height: 768px
orientation: landscape
59. @media screen and (max-width: 1024px) {
// Diminuir a fonte do menu
}
@media screen and (max-width: 960px) {
// Diminuir Header, logo e H2
// Galeria de fotos em 3 colunas
// Nav fixo à esquerda
// Search input maior
}
@media screen and (max-width: 840px) {
// Diminuir H2, nav e campo de busca
// Formatação de data simples
}
@media screen and (max-width: 767px) {
// Uma coluna ao invés de duas
}
60. Retina Display
The New iPad™, iPhone 4(S), The Next Generation MacBook Pro with Retina Display™
61. 16 x 1 physical pixels
16 x 1 virtual pixels
device-pixel-ratio: 1 Normal displays
32 x 2 physical pixels
16 x 1 virtual pixels
device-pixel-ratio: 2 “Retina” displays
76. Responsive Images
HiSRC
Usa JavaScript com jQuery, semântico, testa bandwidth, requer markup extra na tag <img>
https://github.com/teleject/hisrc
Adaptive Images
Server-side, usa .htaccess e PHP
http://code.google.com/p/css3-mediaqueries-js/
Picturefill
Usa JavaScript, segue a proposta mais aceita entre developers sobre Responsive Images
(tag <picture>)
https://github.com/scottjehl/picturefill
Outros
O Chris Coyier, do CSS-Tricks, fez um excelente comparativo entre as diferentes técnicas
(link em inglês)
http://css-tricks.com/which-responsive-images-solution-should-you-use/