How to Create a Responsive 45-Degree Ribbon with a Folded Corner Using Pure CSS?

Linda Hamilton
Release: 2024-11-01 12:26:29
Original
809 people have browsed it

How to Create a Responsive 45-Degree Ribbon with a Folded Corner Using Pure CSS?

Creating a Responsive 45-Degree Ribbon with Folded Corner

Is it possible to have a CSS ribbon shaped like a corner?

Using a PNG image is one option, but it's not ideal for responsiveness. Here's how to create it purely with CSS:

<code class="css">.container {
  width: 200px;
  height: 150px;
  position: relative;
  display: inline-block;
  margin: 10px;
  background: lightblue;
}

.stack-top {
  --d: 5px;
  --g: 16px;
  --c: #333;

  position: absolute;
  top: 0;
  right: 0;
  transform: translate(29.29%, -100%) rotate(45deg);
  color: #fff;
  text-align: center;
  width: 100px;
  transform-origin: bottom left;
  padding: 5px 0 calc(var(--d) + 5px);
  background:
    linear-gradient(135deg, transparent var(--g), var(--c) calc(var(--g) - 0.3px)) left,
    linear-gradient(-135deg, transparent var(--g), var(--c) calc(var(--g) - 0.3px)) right;
  background-size: 51% 100%;
  background-repeat: no-repeat;
  clip-path: polygon(
    0 0,
    100% 0,
    100% 100%,
    calc(100% - var(--d)) calc(100% - var(--d)),
    var(--d) calc(100% - var(--d)),
    0 100%
  );
}</code>
Copy after login

Customizing the Ribbon

You can adjust the following variables to customize the ribbon's appearance:

  • --d: Controls the size of the corner fold
  • --g: Controls the height of the ribbon's peak
  • --c: Specifies the color of the ribbon

Usage

To use the ribbon, simply add the following HTML code to your document:

<code class="html"><div class="container">
  <div class="stack-top">1Month</div>
</div></code>
Copy after login

You can also specify the custom variables directly in the HTML by using the style attribute, as seen in the updated example below:

<code class="html"><div class="container">
  <div class="stack-top" style="--d: 0px; --g: 19px; width: 120px; --c: blue">1Month</div>
</div></code>
Copy after login

The above is the detailed content of How to Create a Responsive 45-Degree Ribbon with a Folded Corner Using Pure CSS?. For more information, please follow other related articles on the PHP Chinese website!

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!