Procurando uma forma de ajudar os(as) desenvolvedores(as) que estão fora do mercado do mercado de trabalho, eu decidi iniciar uma série de posts onde eu abordo perguntas e respostas recorrentes de uma entrevista para uma vaga de desenvolvedor.
Esse é o quarto post da série e desta vez eu focarei no CSS, um mecanismo para adicionar estilo a um documento web e um dos pilares do desenvolvimento frontend. E assim como nos primeiros posts, eu caprichei para o conteúdo ser o mais rico possível, então aproveitem a leitura <3
CSS é o acrônimo de Cascading Style Sheets. Ele é uma linguagem de estilo bastante simples para elementos HTML. É bem popular em web design, e sua aplicação também é comum em XHTML.
As limitações são:
Algumas das vantagens são:
Existem três maneiras de fazer essa integração.
1 - Inline
: elementos HTML podem ter o CSS aplicado a eles através do atributo style
.
2 - Embutido (Embedded)
: colocando o código em uma tag style
dentro do head
.
3 - Importado
: colocando o CSS em um arquivo externo e linkando isso.
Vantagens:
Desvantagens:
Vantagens:
Desvantagens:
Pseudo-elementos são utilizados para adicionar efeitos especiais a alguns seletores. Em alguns casos, quando não é possível adicionar marcação ou estilo extra para o documento, podemos utilizar os pseudo-elementos. Isso nos permitirá uma marcação extra no documento, sem interferir no 'documento real'.
Ele define o design e o layout dos elementos CSS. Os elementos são:
Margin
: a camada superior, a estrutura geral é mostrada.Border
: são mostrados o padding e o content, com uma borda ao seu entornoPadding
: O espaço é mostrado.Content
: o conteúdo real é mostrado.No código de cores em hexadecimal, uma cor é representada por 6 caracteres. É uma combinação de letras e números precedidas por #
, por exemplo:
.g {
color: #00FAFA;
}
Já no código de cores em RGB, uma cor é representada por uma mistura de vermelho, verde e azul. A estrutura fica da seguinte maneira: rgb (red, green, blue). Nesse caso, os valores podem estar entre 0 e 255, por exemplo:
.g {
color: rgb(231, 25, 134);
}
A dimensão de um objeto pode ser definida pelas seguintes propriedades:
O z-index possiblita fazer a sobreposição de elementos HTML usando CSS. Para especificar o elementro sobreposto, ele recebe um número que pode ser positivo ou negativo, sendo o valor padrão zero. Então um elemento com z-index: 10
, irá se sobrepor a um elemento cujo z-index
não foi declarado.
* { box-sizing: border-box; }
faz e quais suas vantagens?Por padrão, os elementos têm box-sizing: content-box
aplicado e apenas o tamanho do conteúdo está sendo contabilizado.
box-sizing: border-box
altera como a largura e a altura dos elementos serão calculadas, incluindo a borda e o padding nesse cálculo. Então:
Levar em conta o padding e a borda casa com a maneira como os designers imaginam o conteúdo em grades.
relative
, fixed
, absolute
and static
?static
- A posição padrão; o elemento fluirá para a página como faria normalmente. As propriedades top, right, bottom, left e z-index não se aplicam.relative
- A posição do elemento é ajustada em relação a si mesma, sem alterar o layout (e, assim, deixa um espaço para outro elemento na sua posição). absolute
- O elemento é removido do fluxo da página e posicionado em uma posição específica em relação ao seu parente mais próximo, caso haja algum parente, ou em relação ao bloco inicial. Esses elementos não afetam a posição de outros elementos.fixed
- O elemento é removido do fluxo da página e posicionado em uma posição específica em relação à viewport e não se move durante o scroll.sticky
- A posição stick é um híbrido entra a fixed
e a relative
. O elemento é tratado como position: relative
até cruzar um limite especificado, quando começar a ser tratado como position: fixed
.Por hora é só pessoal! Apesar de eu ter trazido apenas as questões que achei mais recorrentes para um post sobre o CSS, você pode encontar muitas outras nesse repositório aqui. Fique de olho também nos próximos posts relativos a entrevistas de emprego, e se surgirem dúvidas ou sugestões, não deixem de mandar aí nos comentários!