Skip to main content

Function var() in CSS

Function var() in CSS

The var() function is a cornerstone of CSS Variables, enabling developers to use the values of custom properties (variables) in their stylesheets. It provides a dynamic and flexible approach to styling, making it easier to manage and modify CSS values across a web project.


01. What is the var() Function?

The var() function is used to insert the value of a CSS variable (custom property) into a stylesheet. This function allows developers to leverage the power of variables in CSS, simplifying code maintenance and promoting consistency.

Basic syntax:


element {
  property: var(--variable-name, fallback-value);
}

02. How Does the var() Function Work?

The var() function takes two arguments:

  • Custom Property: The variable name prefixed with -- (required).
  • Fallback Value: A default value used if the variable is not defined (optional).

Example:


:root {
  --primary-color: #3498db;
}

button {
  background-color: var(--primary-color, #000); /* Uses --primary-color if defined, else #000 */
}

03. Advantages of Using var()

The var() function offers several benefits:

  • Dynamic Styling: Easily change the appearance of a website by modifying variables.
  • Reusability: Reduce code duplication by reusing variable values.
  • Maintainability: Centralize style definitions for easier updates.
  • Fallback Mechanism: Provide alternative values for better browser compatibility.

04. Fallback Values in var()

Fallback values ensure a default value is applied if the variable is undefined or invalid. This is particularly useful for handling missing definitions or unsupported browsers.

Example:


h1 {
  color: var(--main-color, black); /* Black is used if --main-color is not defined */
}

05. Practical Applications of var()

1. Theming

Switch between light and dark modes:


:root {
  --bg-color: #ffffff;
  --text-color: #000000;
}

.dark-theme {
  --bg-color: #000000;
  --text-color: #ffffff;
}

body {
  background-color: var(--bg-color);
  color: var(--text-color);
}

2. Responsive Design

Adjust styles dynamically based on screen size:


:root {
  --font-size: 16px;
}

@media (max-width: 768px) {
  :root {
    --font-size: 14px;
  }
}

body {
  font-size: var(--font-size);
}

3. Component Styling

Ensure consistent styling across components:


:root {
  --button-padding: 10px;
  --button-border-radius: 5px;
}

button {
  padding: var(--button-padding);
  border-radius: var(--button-border-radius);
}

06. Limitations of var()

  • Browser Support: While most modern browsers support var(), older versions may not.
  • Global Variables: Excessive global variables can make the stylesheet harder to manage.
  • Nested Variables: Values of variables cannot directly reference other variables within the same var().

07. Browser Support

The var() function is supported in the following browsers:

  • Google Chrome 49+
  • Mozilla Firefox 31+
  • Safari 9.1+
  • Microsoft Edge 15+

For unsupported browsers, consider providing fallback values or using a polyfill.


08. Best Practices

  • Define Variables Globally: Use the :root pseudo-class to ensure variables are accessible throughout the document.
  • Use Descriptive Names: Choose meaningful names for variables to enhance readability.
  • Leverage Fallbacks: Always include fallback values for better reliability.
  • Group Related Variables: Organize variables logically for better maintainability.

Conclusion

The var() function revolutionizes CSS by introducing dynamic and reusable variables. By mastering the use of var(), developers can create scalable, consistent, and easily maintainable stylesheets, making their projects more efficient and adaptable.


Additional Resources

Comments