Com a disseminação de todo o tipo e tamanho de tela que são usados para navegar na web, foi-se necessário estender o CSS para que ele seja capaz de se adequar a tantas telas diferentes.
Técnicas mais modernas surgiram: flexbox, media query e uso de medidas relativas, com o objetivo de tornar essa tarefa mais fácil. Vamos aprender a todas.
Estas propriedades definem o tamanho dos elementos renderizados. Elas são height e width. Recebe valores em tamanho e porcentagem (mesmas unidades vistas anteriormente).
Além da altura (height) e largura (width), temos algumas outras medidas que influenciam no tamanho total que um elemento HTML ocupa na página:
Essas distâncias configuram o que chamamos de Box-Model (modelo caixa). Desta maneira, quando definimos os atributos height e width do elemento em si, esses valores não levam em consideração o padding e o border, fazendo com que os elementos sejam maiores do que deveriam.
Para corrigir o problema de espaçamento e tamanho, basta utilizar a propriedade box-sizing. Os valores possíveis são
Uma atitude comum entre os desenvolvedores é utilizar o border-box para todos os objetos como padrão. Para facilitar, podemos utilizar a seguinte regra para colocar esse atributo para todos os elementos da página usando o wildcard:
* {
box-sizing: border-box
}
Define a maneira como os diversos elementos de uma página são exibidos. Temos quatro valores básicos:
O conceito principal de uma Media Query é verificar algumas informações do dispositivo visualizando o site, assim podendo definir um conjunto de regras que funcione melhor para este dispositivo. É possível verificar principalmente:
Técnica de Media Query é muito popular no desenvolvimento mobile.
No CSS3 foi definida mais uma propriedade display, a Flex(box). A ideia do Flexbox é garantir que o conteúdo interno da página consiga se reorganizar de uma maneira previsível caso a janela mude de tamanho. Ajuda a fazer layouts de maneira mais simplificada e fluída.
Propriedades que fazem parte do modelo flexbox são divididas em propriedades para o container (que possui o display flex, chamado de flex-container) e para os seus filhos (chamados de flex-items).
Para auxiliar em deixar previsível o comportamento dos elementos de um flexbox-container (em vermelho), temos uma série de propriedades envolvidas:
Para os flex-items (em amarelo), precisamos das seguintes propriedades:
Atente para os tópicos a seguir. Eles devem ser estudados com muita atenção, pois representam os pontos mais importantes do capítulo.
Apesar das três maneiras, a única recomendada é a utilização de arquivos CSS externos ao documento HTML.
Seletores CSS são basicamente de três tipos: por tags, por classe de tags e por id de tags (além da combinação destes);
Existem diversas propriedades do CSS, apenas a experiência e utilização lhe fará entender todas elas. Treine muito.