HTML: Cores HTML
Cores em HTML podem ser representadas de várias formas. Dominar diferentes métodos de representação de cores dá a você controle flexível e preciso sobre cada pixel do seu design web.
1. Visão Geral da Representação de Cores
Existem três métodos principais de representação de cores em HTML e CSS: nomes de cores, hexadecimal e RGB. Todos podem definir cores, mas cada um tem seus próprios casos de uso:
▶ Exemplo
<!-- Os três representam um fundo vermelho -->
<div style="background-color: red;">Nome da cor: red</div>
<div style="background-color: #FF0000;">Hex: #FF0000</div>
<div style="background-color: rgb(255,0,0);">RGB: rgb(255,0,0)</div>
2. Nomes de Cores
O HTML suporta mais de 140 nomes de cores padrão. Os mais usados incluem: red, blue, green, black, white, gray, orange, purple, yellow e muitos outros. Usar nomes de cores é a abordagem mais intuitiva — sem necessidade de memorizar regras de codificação.
(1) Nomes de Cores Comuns
| Nome da Cor | Hex | RGB | Descrição |
|---|---|---|---|
red |
#FF0000 | rgb(255,0,0) | Vermelho |
green |
#008000 | rgb(0,128,0) | Verde (padrão) |
lime |
#00FF00 | rgb(0,255,0) | Verde lima (brilhante) |
blue |
#0000FF | rgb(0,0,255) | Azul |
black |
#000000 | rgb(0,0,0) | Preto |
white |
#FFFFFF | rgb(255,255,255) | Branco |
gray |
#808080 | rgb(128,128,128) | Cinza |
silver |
#C0C0C0 | rgb(192,192,192) | Prata |
orange |
#FFA500 | rgb(255,165,0) | Laranja |
yellow |
#FFFF00 | rgb(255,255,0) | Amarelo |
purple |
#800080 | rgb(128,0,128) | Roxo |
cyan |
#00FFFF | rgb(0,255,255) | Ciano |
magenta |
#FF00FF | rgb(255,0,255) | Magenta |
pink |
#FFC0CB | rgb(255,192,203) | Rosa |
brown |
#A52A2A | rgb(165,42,42) | Marrom |
gold |
#FFD700 | rgb(255,215,0) | Dourado |
navy |
#000080 | rgb(0,0,128) | Azul marinho |
teal |
#008080 | rgb(0,128,128) | Azul petróleo |
olive |
#808000 | rgb(128,128,0) | Verde oliva |
coral |
#FF7F50 | rgb(255,127,80) | Coral |
tomato |
#FF6347 | rgb(255,99,71) | Tomate |
skyblue |
#87CEEB | rgb(135,206,235) | Azul céu |
violet |
#EE82EE | rgb(238,130,238) | Violeta |
3. Hexadecimal (Hex)
Cores hexadecimais começam com # no formato #RRGGBB, onde RR representa o valor de vermelho, GG o valor de verde e BB o valor de azul, com faixa de 00 a FF (hexadecimal). Se cada par tiver dígitos idênticos, você pode abreviar para três caracteres #RGB.
(1) Cores Hexadecimais Comuns
| Cor | Hex | Valores RGB | Descrição |
|---|---|---|---|
| Vermelho Puro | #FF0000 | 255,0,0 | Canal vermelho máximo |
| Verde Puro | #00FF00 | 0,255,0 | Canal verde máximo |
| Azul Puro | #0000FF | 0,0,255 | Canal azul máximo |
| Preto Puro | #000000 | 0,0,0 | Todos os canais 0 |
| Branco Puro | #FFFFFF | 255,255,255 | Todos os canais máximo |
| Azul Céu | #87CEEB | 135,206,235 | Azul claro |
| Azul Escuro | #00008B | 0,0,139 | Azul profundo |
| Coral | #FF7F50 | 255,127,80 | Laranja-rosa |
| Tomate | #FF6347 | 255,99,71 | Vermelho-laranja |
| Dourado | #FFD700 | 255,215,0 | Amarelo dourado |
| Verde Oliva | #808000 | 128,128,0 | Amarelo escuro |
| Marrom | #800000 | 128,0,0 | Vermelho escuro |
| Azul Marinho | #000080 | 0,0,128 | Azul profundo |
| Violeta | #EE82EE | 238,130,238 | Roxo-rosa |
| Azul Petróleo | #00CED1 | 0,206,209 | Ciano escuro |
▶ Exemplo
<!-- Hex de seis dígitos -->
<div style="background-color: #FF5733;">#FF5733 (laranja)</div>
<div style="background-color: #33A1FF;">#33A1FF (azul)</div>
<div style="background-color: #2ECC71;">#2ECC71 (verde)</div>
<!-- Abreviação de três caracteres (quando cada par é igual) -->
<div style="background-color: #F00;">#F00 equivale a #FF0000 (vermelho)</div>
<div style="background-color: #0F0;">#0F0 equivale a #00FF00 (verde)</div>
<div style="background-color: #00F;">#00F equivale a #0000FF (azul)</div>
4. RGB e RGBA
A função rgb(vermelho, verde, azul) usa valores decimais de 0 a 255 para representar os canais vermelho, verde e azul. Comparado ao hexadecimal, o RGB é mais próximo da compreensão intuitiva humana dos números. rgba() adiciona um canal Alpha de transparência sobre o RGB.
(1) Valores RGB e Mapeamento de Cores
| Valor RGB | Cor | Descrição |
|---|---|---|
| rgb(255, 0, 0) | Vermelho | Canal vermelho máximo |
| rgb(0, 255, 0) | Verde | Canal verde máximo |
| rgb(0, 0, 255) | Azul | Canal azul máximo |
| rgb(255, 255, 0) | Amarelo | Vermelho + Verde |
| rgb(0, 255, 255) | Ciano | Verde + Azul |
| rgb(255, 0, 255) | Magenta | Vermelho + Azul |
| rgb(255, 255, 255) | Branco | Todos os canais máximo |
| rgb(0, 0, 0) | Preto | Todos os canais 0 |
| rgb(128, 128, 128) | Cinza | Todos os canais médios |
| rgb(255, 165, 0) | Laranja | Vermelho + verde parcial |
| rgb(255, 192, 203) | Rosa | Vermelho + pequenas quantidades de verde/azul |
| rgb(165, 42, 42) | Marrom | Vermelho escuro + pouco verde |
| rgb(0, 128, 128) | Azul Petróleo | Verde + Azul igualmente |
| rgb(128, 0, 128) | Roxo | Vermelho + Azul igualmente |
| rgb(0, 0, 128) | Azul Marinho | Azul profundo |
▶ Exemplo
<div style="background-color: rgb(255, 99, 71);">
rgb(255, 99, 71) — Tomate
</div>
<div style="background-color: rgb(60, 179, 113);">
rgb(60, 179, 113) — Verde Mar Médio
</div>
<!-- rgba adiciona transparência, último parâmetro de 0 a 1 -->
<div style="background-color: rgba(255, 0, 0, 0.3);">
Vermelho semitransparente (30% de opacidade)
</div>
<div style="background-color: rgba(0, 0, 255, 0.6);">
Azul semitransparente (60% de opacidade)
</div>
5. HSL
hsl(matiz, saturação, luminosidade) é um modelo de cor mais alinhado com a intuição humana. A matiz é o ângulo da cor (0—360 graus), a saturação é a intensidade (porcentagem) e a luminosidade é o brilho (porcentagem). Da mesma forma, hsla() suporta transparência.
(1) Roda de Cores HSL
| Ângulo | Cor | Valor HSL | Descrição |
|---|---|---|---|
| 0° | Vermelho | hsl(0, 100%, 50%) | Início da matiz |
| 30° | Laranja | hsl(30, 100%, 50%) | Transição Vermelho→Amarelo |
| 60° | Amarelo | hsl(60, 100%, 50%) | Vermelho + Verde |
| 90° | Verde-amarelo | hsl(90, 100%, 50%) | Transição Amarelo→Verde |
| 120° | Verde | hsl(120, 100%, 50%) | Ponto central da matiz |
| 150° | Verde-ciano | hsl(150, 100%, 50%) | Transição Verde→Ciano |
| 180° | Ciano | hsl(180, 100%, 50%) | Verde + Azul |
| 210° | Azul céu | hsl(210, 100%, 50%) | Transição Ciano→Azul |
| 240° | Azul | hsl(240, 100%, 50%) | Ponto final da matiz |
| 270° | Roxo | hsl(270, 100%, 50%) | Transição Azul→Vermelho |
| 300° | Magenta | hsl(300, 100%, 50%) | Azul + Vermelho |
| 330° | Rosa | hsl(330, 100%, 50%) | Transição Magenta→Vermelho |
| 360° | Vermelho | hsl(360, 100%, 50%) | Volta ao início |
(2) Ajustes de Saturação e Luminosidade
| Ajuste | Efeito | Exemplo |
|---|---|---|
| Saturação 100% | Mais vívido | hsl(0, 100%, 50%) = Vermelho puro |
| Saturação 50% | Mais suave | hsl(0, 50%, 50%) = Vermelho escuro |
| Saturação 0% | Cinza | hsl(0, 0%, 50%) = Cinza |
| Luminosidade 50% | Normal | hsl(0, 100%, 50%) = Vermelho puro |
| Luminosidade 100% | Totalmente branco | hsl(0, 100%, 100%) = Branco |
| Luminosidade 0% | Totalmente preto | hsl(0, 100%, 0%) = Preto |
▶ Exemplo
<!-- Exemplos de mistura de cores HSL -->
<div style="background-color: hsl(0, 100%, 50%);">
hsl(0, 100%, 50%) — Vermelho puro
</div>
<div style="background-color: hsl(120, 100%, 50%);">
hsl(120, 100%, 50%) — Verde puro
</div>
<div style="background-color: hsl(240, 100%, 50%);">
hsl(240, 100%, 50%) — Azul puro
</div>
<div style="background-color: hsl(200, 80%, 60%);">
hsl(200, 80%, 60%) — Azul suave
</div>
<!-- hsla adiciona transparência -->
<div style="background-color: hsla(0, 100%, 50%, 0.4);">
hsla(0, 100%, 50%, 0.4) — Vermelho semitransparente
</div>
❓ Perguntas Frequentes
#FF5733) e RGB (rgb(255, 87, 51))?rgba(0, 0, 0, 0.5) significa 50% de preto transparente.vermelho?red, blue, green), e existem apenas 147 nomes de cores padrão. Nomes de cores em português (como vermelho) não serão reconhecidos. Recomendações:1)Use nomes de cores em inglês para cenários simples; 2)Use hex ou RGB para precisão; 3)Use variáveis CSS quando gerenciar muitas cores.📖 Resumo
- Nomes de cores (ex.: red, blue): Simples e intuitivos, mas limitados em precisão
- Hexadecimal (ex.: #FF5733): A notação precisa mais comum no desenvolvimento web
- RGB / RGBA: rgb() usa 0—255 para três canais, rgba() adiciona transparência
- HSL / HSLA: hsl() usa matiz/saturação/luminosidade para misturar cores, hsla() adiciona transparência
- O canal Alpha (RGBA/HSLA) permite semitransparência, com valores de 0 (transparente) a 1 (opaco)
📝 Exercícios
- Paleta de Cores: Crie três blocos de cores usando três representações de cores diferentes (nome de cor, hex, RGB). Cada bloco deve ter 100x100px, exibidos lado a lado.
- Gradiente de Transparência: Use rgba() para criar um efeito de gradiente horizontal onde o fundo transiciona de totalmente opaco para totalmente transparente (dica: use
background: linear-gradient()).