"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Desbloqueando o poder das funções modernas de cores CSS: história, usos e aplicações práticas

Desbloqueando o poder das funções modernas de cores CSS: história, usos e aplicações práticas

Publicado em 2024-08-06
Navegar:746

Unlocking the Power of Modern CSS Color Functions: History, Uses, and Practical Applications

As funções de cores CSS fornecem aos desenvolvedores um kit de ferramentas robusto para definir e manipular cores em web design. Essas funções oferecem flexibilidade e precisão, permitindo criar designs dinâmicos e visualmente atraentes. Este artigo irá aprofundar a história das funções de cores CSS, os problemas que elas pretendem resolver e como utilizá-las de forma eficaz.

Uma breve história das funções de cores CSS

Inicialmente, CSS fornecia um conjunto limitado de métodos para definir cores, como cores nomeadas e notação hexadecimal. Embora esses métodos fossem simples e eficazes, faltavam-lhes a flexibilidade e a precisão necessárias para necessidades de design mais sofisticadas. À medida que o web design evoluiu, também evoluiu a necessidade de técnicas mais avançadas de manipulação de cores.

A introdução das funções rgb() e hsl() marcou o início de definições de cores mais versáteis em CSS. Essas funções permitiram maior controle sobre as propriedades das cores, facilitando a criação de designs dinâmicos e responsivos. No entanto, a crescente complexidade do web design continuou a ultrapassar os limites, levando ao desenvolvimento de funções de cores ainda mais avançadas, como lab(), lch() e oklch().

Quais problemas as funções modernas de cores CSS resolvem?

1. Uniformidade Perceptiva: Modelos de cores tradicionais como RGB e HSL não levam em conta a percepção humana das diferenças de cores. Funções modernas como lab(), lch() e oklch() são projetadas para serem perceptualmente uniformes, o que significa que as mudanças nos valores das cores correspondem mais de perto à forma como percebemos essas mudanças.

2. Ajustes dinâmicos de cores: Funções como color-mix() e color-contrast() fornecem ferramentas para ajustar dinamicamente as cores com base no ambiente, garantindo melhor legibilidade e harmonia visual.

3. Consistência e Previsibilidade: Funções modernas oferecem resultados mais consistentes e previsíveis ao misturar e combinar cores, o que é crucial para criar designs coesos.

4. Acessibilidade: Funções de cores aprimoradas ajudam na criação de designs acessíveis, tornando mais fácil garantir contraste suficiente e distinção de cores.

Visão geral das funções de cores CSS

1. Cores nomeadas

CSS suporta uma variedade de cores nomeadas predefinidas, como "vermelho", "verde", "azul", etc.

.element {
  background-color: red;
}

2. Notação Hexadecimal

Notação hexadecimal para cores RGB.

.element {
  background-color: #ff6347; /* Tomato */
}

3.rgb() e rgba()

Define as cores usando o modelo de cores Vermelho-Verde-Azul.

.element {
  background-color: rgb(255, 99, 71); /* Tomato */
  background-color: rgba(255, 99, 71, 0.5); /* 50% transparent Tomato */
}

4. hsl() e hsla()

Usa o modelo Matiz-Saturação-Luminosidade.

.element {
  background-color: hsl(9, 100%, 64%); /* Tomato */
  background-color: hsla(9, 100%, 64%, 0.5); /* 50% transparent Tomato */
}

5. cor atual

Usa o valor atual da propriedade color.

.element {
  color: #ff6347;
  border: 2px solid currentColor; /* Border color matches text color */
}

6. Rebecca roxo

Uma cor nomeada introduzida em homenagem a Rebecca Alison Meyer.

.element {
  background-color: rebeccapurple; /* #663399 */
}

7.cmyk()

Define uma cor usando o modelo de cores Ciano-Magenta-Amarelo-Preto.

.element {
  background-color: cmyk(0, 1, 1, 0); /* Red */
}

8. ajuste de matiz()

Ajusta o matiz de uma cor em um grau especificado.

.element {
  background-color: adjust-hue(hsl(120, 100%, 50%), 45deg); /* Adjusted hue */
}

9. saturar()

Aumenta a saturação de uma cor.

.element {
  background-color: saturate(hsl(120, 50%, 50%), 20%); /* More saturated */
}

10. dessaturar()

Reduz a saturação de uma cor.

.element {
  background-color: desaturate(hsl(120, 50%, 50%), 20%); /* Less saturated */
}

11. iluminar()

Torna a cor mais clara.

.element {
  background-color: lighten(hsl(120, 50%, 50%), 20%); /* Lighter */
}

12. escurecer()

Torna a cor mais escura.

.element {
  background-color: darken(hsl(120, 50%, 50%), 20%); /* Darker */
}

13. cor()

Permite usar cores de diferentes espaços de cores.

.element {
  background-color: color(display-p3 1 0.5 0); /* Display P3 color space */
}

14. mistura de cores()

Combina duas cores.

.element {
  background-color: color-mix(in srgb, blue 30%, yellow 70%);
}

15. laboratório()

Usa o modelo de cores CIE LAB para uniformidade perceptiva.

.element {
  background-color: lab(60% 40 30); /* Lightness, a*, b* */
}

16. lch()

Uma representação cilíndrica do modelo de cores CIE LAB.

.element {
  background-color: lch(70% 50 200); /* Lightness, Chroma, Hue */
}

17.hwb()

Concentra-se na quantidade de branco e preto adicionada à cor.

.element {
  background-color: hwb(260 30% 40%); /* Hue, Whiteness, Blackness */
}

18. cinza()

Cria tons de cinza usando uma porcentagem.

.element {
  background-color: gray(50%); /* Medium gray */
}

19. contraste de cor()

Seleciona uma cor que fornece contraste suficiente em relação ao fundo.

.element {
  background-color: color-contrast(white vs black, blue, red);
}

20. ok ()

Usa Luminância, Croma e Matiz Oklab para uniformidade perceptiva.

.element {
  background-color: oklch(80% 0.5 200); /* Luminance, Chroma, Hue */
}

Aplicações práticas

1. Efeitos de foco: Use rgba() ou hsla() para criar efeitos sutis de foco com transparência.

.button {
  background-color: rgb(0, 123, 255);
}
.button:hover {
  background-color: rgba(0, 123, 255, 0.8);
}

2. Tema: Utilize currentColor para criar componentes com reconhecimento de tema.

.theme-dark {
  color: #ffffff;
}
.theme-light {
  color: #000000;
}
.themed-element {
  border: 1px solid currentColor;
}

3. Cores dinâmicas: Aproveite hsl() para ajustes dinâmicos de cores, como alteração de luminosidade ou saturação.

.lighten {
  background-color: hsl(220, 90%, 70%);
}
.darken {
  background-color: hsl(220, 90%, 30%);
}

4. Mistura consistente de cores: Use oklch() para misturar cores de uma forma que pareça mais natural e consistente.

.box {
  background-color: oklch(75% 0.3 90); /* Soft, bright color */
}
.highlight {
  background-color: oklch(75% 0.3 120); /* Slightly different hue */
}

5. Harmonias de cores: Crie esquemas de cores harmoniosos ajustando o matiz enquanto mantém a luminância e o croma constantes.

.primary {
  background-color: oklch(70% 0.4 30);
}
.secondary {
  background-color: oklch(70% 0.4 60);
}
.accent {
  background-color: oklch(70% 0.4 90);
}

6. Cores acessíveis: Use oklch() para criar cores perceptualmente distintas, melhorando a legibilidade e acessibilidade.

.text {
  color: oklch(20% 0.1 30); /* Dark color for text */
}
.background {
  background-color: oklch(90% 0.1 30); /* Light background color */
}

Conclusão

As funções modernas de cores CSS ampliam os recursos do web design, oferecendo um nível mais alto de precisão e flexibilidade. Ao incorporar funções como lab(), lch(), hwb(), gray(), color-contrast() e oklch(), você pode obter manipulações de cores mais sofisticadas e acessíveis. Mantenha-se atualizado com os desenvolvimentos mais recentes em CSS para continuar aproveitando todo o potencial dessas ferramentas poderosas em seus projetos de web design.

Declaração de lançamento Este artigo foi reproduzido em: https://dev.to/mdhassanpatwary/unlocking-the-power-of-modern-css-color-functions-history-uses-and-practical-applications-3j2a?1 Se houver alguma violação , entre em contato com study_golang @163.comdelete
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3