DEV Community

Cover image for Caso de uso: initial css value
doug-source
doug-source

Posted on

Caso de uso: initial css value

Dias atrás cá estava eu, estudando sobre flexbox e acabei lendo a cerca de uma propriedade css chamada flex. Um possível valor que pode ser atribuído à ela seria o valor initial. Ele faz como se a propriedade css flex estivesse utilizando seus valores default. Utilizar seus valores default, em outras palavras, seria como se não houvesse nenhum valor ainda atribuído para uma regra css específica, fazendo com que ela ficasse com um valor automaticamente pré-atribuído pelo próprio navegador para aquele elemento HTML.

Glosário de termos

  • Shorthand property: refere-se à uma regra css que possui a capacidade de abreviar múltiplas regras css (chamadas também de longhand properties) em uma única regra somente. Por exemplo, a propriedade flex, consegue abreviar outras três regras css, flex-grow, flex-shrink e flex-basis.
  • Longhand property: refere-se a regras css que podem ser declaradas de forma lateral, ou seja, através de outras regras css (também chamadas de shorthand properties).

Imagine um cenário que você tivesse que declarar uma (ou mais do que uma) de algumas das seguintes regras css em um elemento HTML, através de algum seletor css:

  • flex-grow
  • flex-shrink
  • flex-basis

Como você faria para modificar o comportamento adquirido com essas propriedades?

Uma possível solução seria criar outro seletor css, com uma cascading order mais alta, para que o comportamento anterior pudesse ser substituído por esse novo comportamento. Você atribuíria um novo valor para uma ou mais dessas regras css, todas elas agrupadas nesse novo seletor css.

Digamos que o comportamento desejado utilizasse valores que fossem exatamente os mesmos valores pré-estabelecidos pelo navegador, caso você não atribuísse nenhum seletor css a esse elemento HTML (como se fosse um “reset” de propriedades). Você ainda teria o trabalho de atribuir o valor a cada uma dessas regras, dentro desse novo seletor css.

Mas, e se você pudesse fazer isso utilizando apenas uma declaração de regra css? Como? Oras, utilizando o valor initial.

Lembra-se das propriedades conhecidas como longhand? Elas possuem a capacidade de abreviar diversas regras css em somente uma única regra. Utilizando o valor initial em conjunto com elas, você consegue fazer tudo isso em uma única linha.

Resumidamente, flex: initial; faz com que flex-grow, flex-shrink e flex-basis fiquem automaticamente todas com o valor initial, ou seja:

  • flex-grow: initial;
  • flex-shrink: initial;
  • flex-basis: initial;

Por hoje é só…

Heroku

Simplify your DevOps and maximize your time.

Since 2007, Heroku has been the go-to platform for developers as it monitors uptime, performance, and infrastructure concerns, allowing you to focus on writing code.

Learn More

Top comments (0)

Billboard image

The Next Generation Developer Platform

Coherence is the first Platform-as-a-Service you can control. Unlike "black-box" platforms that are opinionated about the infra you can deploy, Coherence is powered by CNC, the open-source IaC framework, which offers limitless customization.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay