Gradient.art - Designing and Inspecting Complex CSS Gradients
Tags: showdev, css, gradients
Published: 2021-09-02 13:12:46

I've recently launched [gra.dient.art](https://gra.dient.art) - an advanced online CSS gradient editor that has support for background layering, design tools, free cloud storage, and a growing list of examples. And the best part - it's totally free!

With this editor, you can create your own unique designs, from basic patterns and icons to more complex illustrations and art, all using pure CSS. You can also explore the various different projects on the site if you're looking to use some existing designs, or just learn how it's done.

## The editor

The editor was designed to provide a photoshop-like experience, with a toolbar on the left, and panels on the right.

![The Gradient.art editor](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nu15e9vmakdnyq9h77by.png)

### The Toolbar

In the left toolbar, you can find tools for moving, scaling and rotating a gradient background:

You can move a gradient:

![Moving a gradient - gra.dient.art](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ods93h6v2rq279hylkos.gif)

Scale it:

![Scaling a gradient - gra.dient.art](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/z70ytutv9k2uyfz3d9vx.gif)

And rotate it (only for conic/linear gradients):

![Rotating a gradient - gra.dient.art](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/4mb6hyci7w1y6ca5vlmp.gif)

### The Panels

On the right of the editor you can find a few panels. Each panel is dedicated for a different aspect of the project.

#### The Gradients Panel

The Gradients panel is where you can see all of your gradients, and add/remove/rename/reorder them.

![Gradient.art - The Gradients panel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/fk0zz1h7jc38fusnzr3y.png)

#### The Properties Panel

The Properties panel is where you can modify the selected gradient. All of the CSS properties for all the 3 gradient types are supported.

![Gradient.art - The Properties panel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/7s1su0eraw3514q4tdqh.png)

#### The Code Panel

The Code panel displays the generated CSS code for your project.

![Gradient.art - The Code panel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/nkfvjmilpyqjz5ky1mik.png)

#### The Document Panel

The document panel is used for configuring project-wide things like canvas size, title, description & keywords. Good title & description will help other users find your project when they search for examples on the site. You can use special keywords if you want your project to be featured on one of the project pages. For example, use the  `pattern` keyword if you  want your project to appear under [gra.dient.art/explore/patterns](https://gra.dient.art/explore/patterns)

![Gradient.art - The Document panel](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/t9cz0wtdr3yp3si4g16m.png)

### Resizing the panels

The panels are resizable, so you can change the layout to your convenience. As a side note, getting the panels to stack when they resize beyond their siblings was a bit of a challenge, but I love the result 😎. You can see how it looks below:

![Resizable panels in gra.dient.art](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/k3ehcezciw8l6ls48a2l.gif)

## Examples

Below are some projects you can find on [gra.dient.art](https://gra.dient.art). Click on any of the images to open it in the editor and inspect it. You can find many more projects  [here](https://gra.dient.art/explore).

<a href="https://gra.dient.art/editor/mq54ntrzsr"><img src="https://gradient-art-og-image.vercel.app/api/mq54ntrzsr"/></a>

<a href="https://gra.dient.art/editor/ggu4968jj0"><img src="https://gradient-art-og-image.vercel.app/api/ggu4968jj0"/></a>

<a href="https://gra.dient.art/editor/lhk0fierr8"><img src="https://gradient-art-og-image.vercel.app/api/lhk0fierr8"/></a>

<a href="https://gra.dient.art/editor/jzxjb65uaj"><img src="https://gradient-art-og-image.vercel.app/api/jzxjb65uaj"/></a>

<a href="https://gra.dient.art/editor/b14o5f7qx0"><img src="https://gradient-art-og-image.vercel.app/api/b14o5f7qx0"/></a>

## Roadmap

In the near future, and depending on the popularity and demand, I plan to add support for the following features:

* **Variables** - defining and using variables for colors and units, using CSS custom properties. 
* **Elements** - currently, the CSS is applied to a single element, and the most you can do is stack multiple backgrounds to it. This feature will allow the user to create a tree of elements for more complex designs.
* **Transformations** - Once elements are fully supported, this feature will add support for CSS transforms on the elements - rotate, scale, skew, and translate.
* **Open sourcing** - I would like to expose some of the components as open source, so that other developers can use them and contribute back.

## Technology

Under the hood, Gradient.art uses the following libraries/services, and I would like to express my gratitude to the people behind those projects:

* [React](https://reactjs.org/)
* [Next.js](https://nextjs.org/)
* [NextAuth.js](https://next-auth.js.org/)
* [Recoil.js](https://recoiljs.org/)
* [Webrix.js](https://webrix.amdocs.com/) (disclosure - i'm the developer behind this library)
* [Vercel](https://vercel.com/)
* [MongoDB](https://www.mongodb.com/)

## Conclusion

I hope you find this tool useful, and i'm looking forward to seeing your designs on [gra.dient.art](https://gra.dient.art)! If you encounter any issue, or would like to request some new features, feel free to [contact us](https://gra.dient.art/contact) or [file a bug](https://github.com/GradientArt/issues/issues).