Yogesh Chauhan's Blog

How to add a ribbon on top of a container using CSS?

in CSS on February 13, 2021

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:

ribbon on top of the container

Step 1: Shift the ribbon out of the container.

We’ll add the following code to .rib class.

  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::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:

Most Read

#1 How to check if radio button is checked or not using JavaScript? #2 Solution to “TypeError: ‘x’ is not iterable” in Angular 9 #3 How to add Read More Read Less Button using JavaScript? #4 How to uninstall Cocoapods from the Mac OS? #5 PHP Login System using PDO Part 1: Create User Registration Page #6 How to Use SQL MAX() Function with Dates?

Recently Posted

#Aug 15 Is PHP still good for back-end programming? #Aug 10 How to create a multisite network in WordPress? #Aug 3 How to create a circle that follows a cursor using JavaScript and CSS? #Aug 3 How to make a curtain slider using jQuery and CSS? #Aug 2 How to progressively load images and add a blurry placeholder? #Aug 1 How to create a placeholder loader (throbber) using CSS?
You might also like these
How to scroll contents of a an element vertically using JavaScript?JavaScriptWordPress: How to loop through a repeater field in ACF?WordPressWhat is Zdog?MiscellaneousHow to concatenate variable with string in Swift?SwiftSome SQL LIKE Operators We Need to Keep in MindSQL/MySQLIntroduction to Angular modules Part 2: NgModules and componentsAngular