Cascading style sheet

Create Diagonal Stripes in CSS

We generally encounter striped design in most websites, magazines and flyers. But a diagonal stripe in CSS? How is that even possible?

Yes, it is possible and we are not using a bitmap image or an SVG. We would just rely on CSS’s linear gradient and background-size property.

So let’s begin.

<body style="background: repeating-linear-gradient(45deg,
green 0, green 25%, #58a 0, #58a 50%);
background-size: 42.426406871px 42.426406871px;">
<p>Your text here </p>
</body>

Let’s understand how this worked out.

To understand how we were able to create the diagonal stripe, we need to remember the Pythagorean theorem we learned at school about calculating the lengths of the sides of right triangles.

The theorem states that the hypotenuse (the longest, diagonal side of the triangle) is equal to a2 + b2 where a and b are the lengths of its legs. On a 45° right triangle, both its legs are of the same length, so the formula becomes 2a2 = a 2.

In our diagonal stripes, the background size specifies the length of the hypotenuse, but the stripe width is actually the length of the leg.

This means that to get our original stripe width of 15px, we need to specify a background size of 2 × 15 2 ≈ 42 . 426406871 pixels, which we can safely round off to 42px.

Author

Recent Posts

Observer Pattern in JavaScript: Implementing Custom Event Systems

Introduction The Observer Pattern is a design pattern used to manage and notify multiple objects…

3 weeks ago

Memory Management in JavaScript

Memory management is like housekeeping for your program—it ensures that your application runs smoothly without…

1 month ago

TypeScript vs JavaScript: When to Use TypeScript

JavaScript has been a developer’s best friend for years, powering everything from simple websites to…

1 month ago

Ethics in Web Development: Designing for Inclusivity and Privacy

In the digital age, web development plays a crucial role in shaping how individuals interact…

1 month ago

Augmented Reality (AR) in Web Development Augmented Reality (AR) is reshaping the way users interact…

1 month ago

Node.js Streams: Handling Large Data Efficiently

Introduction Handling large amounts of data efficiently can be a challenge for developers, especially when…

1 month ago