Home  >  Article  >  Web Front-end  >  How to Create a Responsive 45-Degree Ribbon with a Folded Corner Using Pure CSS?

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

Linda Hamilton
Linda HamiltonOriginal
2024-11-01 12:26:29771browse

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>

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>

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>

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!

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