Saltar para o conteúdo
030 · Web Development Essentials

T10 — Estilização com CSS

TópicoT10Objetivo033.3Peso2PáginasLPI Web Development Essentials (030) - Version 1.0

Resumo Conciso

Cores

Palavras-chave de cor

Nomes simples como black, white, red, purple, green, yellow, blue:

bash
* { color: purple; }

Valores numéricos de cor

FormatoSintaxeExemplo (vermelho)
RGBrgb(R, G, B)rgb(255,0,0)
RGB %rgb(R%, G%, B%)rgb(100%,0%,0%)
Hexadecimal#RRGGBB#FF0000
Hex abreviado#RGB#F00

Tabela de cores comuns:

Palavra-chaveRGBHex
blackrgb(0,0,0)#000000
whitergb(255,255,255)#FFFFFF
redrgb(255,0,0)#FF0000
purplergb(128,0,128)#800080
greenrgb(0,128,0)#008000
yellowrgb(255,255,0)#FFFF00
bluergb(0,0,255)#0000FF

Dica: Se os dígitos de cada componente hexadecimal se repetirem (ex: #FF0000), pode abreviar para um dígito por componente (#F00).

Opacidade da cor

A opacidade é um quarto componente que varia de 0 (totalmente transparente) a 1 (totalmente opaca):

NotaçãoExemploDescrição
RGBArgba(255,0,0,0.5)Vermelho 50% transparente
Hexadecimal#FF000080Vermelho 50% transparente (hex)

Plano de Fundo

PropriedadeDescriçãoValores
background-colorCor de fundoPalavras-chave, RGB, hex
background-imageImagem de fundourl("imagem.jpg")
background-repeatRepetição da imagemrepeat, no-repeat, repeat-x, repeat-y
background-positionPosição da imagemtop, bottom, left, right, center, %

Exemplo comum:

bash
body {  background-image: url("background.jpg");  background-repeat: no-repeat;  background-position: 30% 10%;}

Propriedade abreviada (shorthand):

bash
body {  background: no-repeat url("background.jpg");}

Bordas

A propriedade border tem três componentes:

PropriedadeDescriçãoValores
border-colorCor da bordaMesmos valores de cor
border-styleEstilo da bordadotted, dashed, double, groove, ridge, inset, outset
border-widthEspessura da bordathin, medium, thick ou valor numérico

Unidades de Medida

Unidades Absolutas

UnidadeDescriçãoEquivalência
pxPixel1/96 de polegada
ptPonto1/72 de polegada
inPolegada2,54 cm = 96 px
cmCentímetro96 px / 2,54
mmMilímetro1 cm / 10

Unidades Relativas

UnidadeDescrição
%Relativa ao elemento pai
emTamanho da fonte do elemento atual
remTamanho da fonte do elemento raiz (<html>)
vw1% da largura da janela de visualização
vh1% da altura da janela de visualização

Vantagem das unidades relativas: Permitem criar layouts ajustáveis alterando apenas uma medida base. Por exemplo, definir font-size no body em pt e usar rem nos outros elementos permite ajustar todos os tamanhos alterando apenas um valor.

Propriedades de Fonte e Texto

PropriedadeDescriçãoValores
font-familyNome da fonte"Nome", genérico
font-sizeTamanho da fontexx-small a xxx-large, smaller, larger, valores numéricos, %
font-weightEspessura da fontenormal, bold, lighter, bolder
font-styleEstilo da fontenormal, italic, oblique
line-heightDistância entre linhasValor numérico (1 = altura da fonte)
text-decorationDecoração do textonone, underline, line-through
list-style-typeEstilo dos marcadorescircle, square, none

Famílias de fontes genéricas:

  • serif — Padrão da maioria dos navegadores
  • sans-serif — Sem serifa
  • monospace — Largura fixa

Exemplo com fallback:

bash
* {  font-family: "DejaVu Sans", sans-serif;}

O navegador procura as fontes pela ordem especificada e usa a genérica como substituto.

🧭 Exercícios Guiados (resolvidos)

Exercício Guiado 1 — Semitransparência com RGBA

Enunciado: Como adicionar uma semitransparência à cor azul (rgb(0,0,255)) para usá-la na propriedade CSS color?

Solução passo a passo:

  1. Usar o prefixo rgba em vez de rgb
  2. Adicionar um quarto valor (canal alpha) entre 0 e 1
  3. Resposta: rgba(0,0,255,0.5) — azul com 50% de transparência

Exercício Guiado 2 — Cor hexadecimal abreviada

Enunciado: Que cor corresponde ao valor hexadecimal #000?

Solução passo a passo:

  1. #000 é a abreviatura de #000000
  2. Todos os componentes (R, G, B) estão a zero
  3. Resposta: A cor black (preto)

Exercício Guiado 3 — Fallback de fonte

Enunciado: Dado que Times New Roman é uma fonte serif e que não está disponível em todos os dispositivos, como seria possível escrever uma regra CSS para solicitar o uso de Times New Roman, tendo a família de fontes genérica serif como substituto?

Solução passo a passo:

  1. Especificar primeiro o nome da fonte desejada entre aspas
  2. Seguir com a família genérica como alternativa
  3. Resposta:
bash
* {  font-family: "Times New Roman", serif;}

Exercício Guiado 4 — Tamanho relativo de fonte

Enunciado: Como usar uma palavra-chave de tamanho relativo para definir uma fonte menor para o elemento <p class="disclaimer"> em relação ao seu elemento pai?

Solução passo a passo:

  1. Usar a palavra-chave smaller na propriedade font-size
  2. Esta palavra-chave reduz o tamanho em relação ao elemento pai
  3. Resposta:
bash
p.disclaimer {  font-size: smaller;}

🔬 Exercícios Exploratórios (prática no terminal)

  1. Enunciado: Reescreva a regra CSS seguinte como uma única propriedade abreviada background:

    bash
    body {  background-image: url("background.jpg");  background-repeat: repeat-x;}
bash
   body {     background: repeat-x url("background.jpg");   }

Explicação: A propriedade abreviada background permite combinar background-image e background-repeat (e outras propriedades background-*) numa só declaração.

  1. Enunciado: Escreva uma regra de CSS para o elemento <div id="header"> de maneira a alterar somente a borda inferior para 4px.
bash
   #header {     border-bottom-width: 4px;   }

Explicação: A propriedade border-bottom-width permite alterar apenas a largura da borda inferior sem afetar os outros lados.

  1. Enunciado: Escreva uma propriedade font-size que dobre o tamanho da fonte usada no elemento raiz da página.
bash
   font-size: 2rem;

Explicação: A unidade rem corresponde ao tamanho da fonte usado no elemento raiz (<html>). 2rem equivale a 2× o tamanho da fonte raiz.

  1. Enunciado: O duplo espaçamento é um recurso comum de formatação nos processadores de texto. Como definir um formato semelhante usando CSS?
bash
   line-height: 2em;

Explicação: A unidade em corresponde ao tamanho da fonte do elemento atual. Um line-height de 2em cria um espaçamento duplo entre linhas.