This is a submission for Frontend Challenge - Comfort Food Edition, CSS Art.
Inspiration
My inspiration was a warm bowl of ramen on a quiet, rainy night—the kind of meal that feels comforting before you even take the first bite.
I wanted to capture more than the food itself, so I created a complete midnight ramen-shop scene. The steaming bowl is surrounded by a glowing lantern, falling rain, a handwritten order slip, shelves of ingredients, and a tiny shop cat peeking over the counter.
Demo
You can also explore the source code on GitHub.
Journey
I created the illustration using HTML and CSS, without image assets or JavaScript. The bowl, broth, noodles, egg, chashu pork, nori, narutomaki, mushrooms, scallions, lantern, window, furniture, and cat are all composed from regular HTML elements.
The visual details rely on:
- Layered CSS gradients
- Borders and border radii
- Pseudo-elements
- Transforms and clipping
- CSS custom properties
- Responsive media queries
- Subtle keyframe animations
The scene also includes CSS-only interactions. The chili-oil control changes the appearance of the broth and introduces small animated spice sparks. A compact day/night control changes the window, lantern, steam, and surrounding color palette without JavaScript.
The ingredient labels can be revealed with a mouse or keyboard. I also included prefers-reduced-motion support so visitors who disable animation receive a calmer version of the scene.
The most challenging part was creating depth while keeping the markup understandable. The ramen bowl contains several overlapping layers, and each topping needs to remain recognizable without using an image. Careful positioning, contrast, shadows, and restrained animation helped the individual pieces feel like one cohesive illustration.
I am particularly proud that the finished project requires only two files for the artwork: index.html and style.css. It can run directly in a browser without a framework, build process, or external JavaScript.
This project reminded me that CSS is not only a styling language—it can also be an expressive illustration medium.
Source
The complete source is available on GitHub.
The project is shared under the MIT License.
Top comments (0)