Altcademy - a Forbes magazine logo Best Coding Bootcamp 2023

What are Filter Functions in CSS?

In this blog post, we will explore an interesting and powerful feature in CSS called filter functions. If you're learning programming, especially web development, you'll find this topic quite useful. So, let's dive into the world of filter functions!

What are Filter Functions?

Filter functions are a set of pre-defined functions in CSS that allow you to apply various visual effects to elements on a web page. These effects include:

  • Blurring
  • Changing brightness
  • Adjusting contrast
  • Changing hue and saturation
  • And more!

You can think of filter functions as a set of tools or filters that you can use to modify images or other elements on your web page, similar to how you would use filters on a photo-editing app like Instagram or Photoshop.

To get started with filter functions, let's take a look at the syntax.

Filter Functions Syntax

The syntax for using filter functions is quite simple. You just need to use the filter property in your CSS, followed by one or more filter functions that you want to apply to the element. Here's a basic example:

.image {
  filter: blur(5px);
}

In this example, we are applying a blur effect to an element with the class image. The blur() function takes one parameter, which specifies the radius of the blur. In this case, we're using a 5-pixel radius.

You can also chain multiple filter functions together, like this:

.image {
  filter: blur(5px) brightness(1.5) contrast(0.8);
}

In this example, we are applying a blur effect, increasing the brightness, and decreasing the contrast of the element. The brightness() function takes a value greater than 0, where a value of 1 means no change. The contrast() function also takes a value greater than 0, where a value of 1 means no change.

Now that you know the syntax let's look at some common filter functions and how to use them.

Common Filter Functions

1. Blur

As we've seen earlier, the blur() function allows you to apply a blurring effect to an element. The parameter you pass to the function specifies the radius of the blur. The higher the value, the more blurred the element will be. Here's an example:

<!DOCTYPE html>
<html>
<head>
<style>
  .image {
    filter: blur(5px);
  }
</style>
</head>
<body>

<img class="image" src="your-image-source" alt="An example image">

</body>
</html>

In this example, the image will have a 5-pixel blur radius applied to it.

2. Brightness

The brightness() function allows you to adjust the brightness of an element. The parameter you pass to the function is a number that represents the brightness factor. A value of 1 means no change, while a value greater than 1 will increase the brightness, and a value less than 1 will decrease it. Here's an example:

<!DOCTYPE html>
<html>
<head>
<style>
  .image {
    filter: brightness(1.5);
  }
</style>
</head>
<body>

<img class="image" src="your-image-source" alt="An example image">

</body>
</html>

In this example, the image's brightness will be increased by a factor of 1.5.

3. Contrast

The contrast() function allows you to adjust the contrast of an element. The parameter you pass to the function is a number that represents the contrast factor. A value of 1 means no change, while a value greater than 1 will increase the contrast, and a value less than 1 will decrease it. Here's an example:

<!DOCTYPE html>
<html>
<head>
<style>
  .image {
    filter: contrast(0.8);
  }
</style>
</head>
<body>

<img class="image" src="your-image-source" alt="An example image">

</body>
</html>

In this example, the image's contrast will be decreased by a factor of 0.8.

4. Grayscale

The grayscale() function allows you to convert an element to grayscale. The parameter you pass to the function is a number between 0 and 1 that represents the percentage of the conversion. A value of 0 means no change, while a value of 1 means the element will be completely grayscale. Here's an example:

<!DOCTYPE html>
<html>
<head>
<style>
  .image {
    filter: grayscale(1);
  }
</style>
</head>
<body>

<img class="image" src="your-image-source" alt="An example image">

</body>
</html>

In this example, the image will be completely grayscale.

5. Hue-rotate

The hue-rotate() function allows you to rotate the hue of an element. The parameter you pass to the function is an angle that represents the degree of rotation. Here's an example:

<!DOCTYPE html>
<html>
<head>
<style>
  .image {
    filter: hue-rotate(90deg);
  }
</style>
</head>
<body>

<img class="image" src="your-image-source" alt="An example image">

</body>
</html>

In this example, the image's hue will be rotated by 90 degrees.

There are more filter functions available, such as invert(), opacity(), saturate(), and sepia(). You can use them in a similar way as the functions we've discussed.

Browser Compatibility

It's essential to know that filter functions are supported in most modern browsers, including Google Chrome, Mozilla Firefox, Safari, and Microsoft Edge. However, they are not supported in Internet Explorer. You can check the Can I use website for more details on browser compatibility.

Summary

In this blog post, we've covered what filter functions are, their syntax, and some common examples. Filter functions are a powerful and easy-to-use feature in CSS that allows you to apply various visual effects to elements on your web page. They can be a great addition to your web development toolkit and help you create more engaging and visually appealing websites.

Remember to always consider browser compatibility and test your filter functions across different browsers to ensure a consistent user experience. Happy coding!