geral@slap.pt
+351 917502470

CSS: Media Queries

As media queries foram introduzidas no CSS3 e recorrem à regra @media para incluir um bloco de CSS caso a condição seja verdadeira.

Por exemplo, vamos mudar a cor de fundo do body se o tamanho da janela do browser for igual ou inferior a 600px:

@media only screen and (max-width: 600px) {
  body {
    background-color: lightblue;
  }
}

Adicionar Breakpoints

Imaginemos o seguinte CSS:

/* For desktop: */
.col-1 {width: 8.33%;}
.col-2 {width: 16.66%;}
.col-3 {width: 25%;}
.col-4 {width: 33.33%;}
.col-5 {width: 41.66%;}
.col-6 {width: 50%;}
.col-7 {width: 58.33%;}
.col-8 {width: 66.66%;}
.col-9 {width: 75%;}
.col-10 {width: 83.33%;}
.col-11 {width: 91.66%;}
.col-12 {width: 100%;}

Estamos a atribuir diferentes tamanhos às colunas. No entanto, num ecrã de um telemóvel, esta configuração iria ser ilegível para o utilizador. Para corrigir, adicionamos um breakpoint e alteramos a medida das colunas quando o tamanho do browser atingir esta dimensão ou inferior:

@media only screen and (max-width: 768px) {
  /* For mobile phones: */
  [class*="col-"] {
    width: 100%;
  }
}

Com este breakpoint estamos a dizer ao browser para colocar todas as colunas com 100% de comprimento.

Mobile First

O termo Mobile First, que também faz parta da analise de performance no Google Pagespeed e no GTMetrix, significa que o desenvolvimento dos websites deve ter em atenção os dispositivos móveis em primeiro lugar. Por isso, as linhas de código em cima devem ser escritas da seguinte forma:

/* For mobile phones: */
[class*="col-"] {
  width: 100%;
}

@media only screen and (min-width: 768px) {
  /* For desktop: */
  .col-1 {width: 8.33%;}
  .col-2 {width: 16.66%;}
  .col-3 {width: 25%;}
  .col-4 {width: 33.33%;}
  .col-5 {width: 41.66%;}
  .col-6 {width: 50%;}
  .col-7 {width: 58.33%;}
  .col-8 {width: 66.66%;}
  .col-9 {width: 75%;}
  .col-10 {width: 83.33%;}
  .col-11 {width: 91.66%;}
  .col-12 {width: 100%;}
}

Assim estamos a informar o browser como queremos ver as colunas num dispositivo móvel e só depois ajustamos o layout caso o website esteja a ser visto num computador desktop ou portátil.

Tags: |

Se tiver dificuldade em resolver um problema relacionado com este ou outro tópico, contacte-nos!

Temos sempre uma solução para si!

geral@slap.pt
(+351) 917 502 470