In this post I demonstrated how to add the ribbon inside the container.
We’ll continue the same style and add few more styles to it to make the ribbon come out of the container so that it will look like it’s on the top of the container.
This is our end goal:

Step 1: Shift the ribbon out of the container.
We’ll add the following code to .rib class.
.rib{
top: -10px;
left: -10px;
}
This is how it will look like afterwards:
Step 2: Fill the gap between the ribbon and the container.
After step 1, you can see the small gap between both ends of the ribbon. We are going to fill those gaps using CSS ::before and ::after properties.
Add this CSS code:
.rib::before,
.rib::after {
border-top-color: transparent;
border-left-color: transparent;
position: absolute;
z-index: -1;
content: '';
display: block;
border: 5px solid navy;
}
.rib::before {
top: 0;
right: 0;
}
.rib::after {
bottom: 0;
left: 0;
}
The overall container and ribbon will look like this:
Step 3: Finally, adjust the ribbon.
We will replace this code:
.rib span {
width: 200px;
right: -35px;
top: 20px;
}
with this code:
.rib span {
width: 160px;
right: -25px;
top: 25px;
}
That will adjust the width and position of the span inside the ribbon.
Finally, the result we wanted:
box containers how to ribbon style