A origem do "primeiro celular"
A idéia de "primeiro móvel" no que diz respeito ao design responsivo vem de uma época em que os navegadores de dispositivos móveis eram muito menos capazes do que o que você encontraria em um dispositivo de desktop. Muitos deles não eram compatíveis com consultas de mídia; portanto, a idéia de criar um design sofisticado para a área de trabalho e, em seguida, aderir aos estilos usando consultas de mídia para uma janela de visualização estreita, cai de cara no chão.
A ausência de suporte para consultas de mídia é de fato a primeira consulta de mídia.
- Bryan Rieger
O celular ainda é relevante?
Apesar do fato de os navegadores de dispositivos móveis encontrarem seus colegas de área de trabalho, o "primeiro móvel" ainda é a maneira mais lógica de escrever seus estilos.
Prefiro pensar em termos de "evitar desfazer as declarações de estilo anteriores". Uma abordagem aditiva, em vez de escrever estilos e substituí-los mais tarde, quase sempre leva a uma folha de estilo mais compacta. Os estilos apropriados para a maioria dos dispositivos devem ser encontrados fora das consultas de mídia, enquanto os estilos relevantes apenas para uma viewport específica devem estar atrás de uma consulta de mídia.
Compare uma abordagem de "primeiro computador":
.column {
float: left;
width: 50%;
}
@media all and (max-width: 50em) {
.column {
float: none;
width: auto;
}
}
Para uma abordagem "móvel primeiro":
@media all and (min-width: 50em) {
.column {
float: left;
width: 50%;
}
}
Os resultados são os mesmos, mas o posterior é mais compacto. Os estilos de amostra copiaram descaradamente as 7 Hábitos das consultas de mídia altamente eficazes de Brad Frost .
Existem algumas raras exceções em que "a área de trabalho primeiro" é mais apropriada do que o contrário. O mais notável deles é quando você está fazendo coisas como tabelas responsivas. As viewports mais amplas desejarão os estilos padrão para as tabelas, mas uma viewport estreita desejará substituir tudo isso para que o conteúdo possa ser empilhado verticalmente.
Não quebre suas folhas de estilo
Uma coisa que você absolutamente não deve fazer é dividir seus estilos responsivos em arquivos CSS individuais e usar o atributo media no elemento link. Isso tem a conseqüência indesejável de o UA fazer o download de todas as folhas de estilo vinculadas (ou seja, não há melhoria de velocidade para isso).
<!-- this is bad, don't do this -->
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" />
Portanto, o código deve ser móvel primeiro, mas e a abordagem do design?
Sou da opinião de que isso não importa. Layouts para todas as janelas relevantes para o desenho deve ser feito (este pode envolver tão poucos como 2 ou como muitos como 5 uma vez que você fator em qualquer menores pontos de interrupção que você pode precisar!), A ordem não importa no final. Muitos designers não têm disciplina para começar com um layout de área de trabalho e acham que é mais fácil começar com um layout móvel.
Se você deseja iniciar a partir de um layout de área de trabalho, evite a tentação de preencher todo esse espaço em branco glorioso com uma confusão que não aprimora o conteúdo dessa página. Você realmente precisa daquela foto 800x600 de uma mulher sorridente segurando um telefone? Ele está apenas custando dinheiro extra ao usuário móvel para fazer o download de cotão inútil, e é apenas uma distração visual para um usuário de desktop ignorar.