Yan Cui
I help clients go faster for less using serverless technologies.
As I rebuild the landing page for the AppSync Masterclass I wanted to give this boring “about me” section a facelift.

After taking inspiration from other landing pages, I decided to go with something like this.

Notice the gradient effect towards the bottom of each image? It provides a nice backdrop and contrast for the caption and works well against the different background images (some are dark and some are very bright).
To make this work, I used CSS’s ::before syntax to create an empty pseudo ::before element with a gradient background colour.
This is the basic HTML for each image.
<figure class="overlay"> <figcaption class="z-50">...</figcaption> <img class="z-0" src="..."> </figure>
The first thing to note is the z-index values on the <figcaption> and <img> tags. This is to ensure the <figcaption> would appear in front of the gradient fill:
<figcaption> <– z-index: 50
the pseudo ::before element with gradient fill <– z-index: (anything between 1 and 49 would work)
<img> <– z-index: 0
So let’s look at the CSS attributes for this pseudo ::before element.
.overlay::before {
content: '';
z-index: 10;
width: 100%;
height: 100%;
display: block;
position: absolute;
background: linear-gradient(0deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 50%);
}
Notice that content is set to ''. Unfortunately, if content is not set, then the pseudo ::before element would not be created. The width, height and position settings ensure that the pseudo ::before element completely overlaps with the <img> tag underneath it (along the z-axis).
You can achieve the same result using additional <div>‘s but I found this to be a very nice technique as it relies entirely on CSS.
Whenever you’re ready, here are 3 ways I can help you:
- Production-Ready Serverless: Join 20+ AWS Heroes & Community Builders and 1000+ other students in levelling up your serverless game. This is your one-stop shop for quickly levelling up your serverless skills.
- I help clients launch product ideas, improve their development processes and upskill their teams. If you’d like to work together, then let’s get in touch.
- Join my community on Discord, ask questions, and join the discussion on all things AWS and Serverless.
