首頁 > web前端 > css教學 > 主體

如何使用純 CSS 創建帶有折疊角的響應式 45 度絲帶?

Linda Hamilton
發布: 2024-11-01 12:26:29
原創
782 人瀏覽過

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

建立帶有折疊角的響應式 45 度功能區

是否可以使用 CSS 功能區形狀像一個角?

使用 PNG影像是一種選擇,但它對於反應能力來說並不理想。以下是純粹使用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>
登入後複製

自訂功能區

您可以調整以下變數來自訂功能區的外觀:

  • -- d:控制角折的大小
  • --g:控制色帶峰的高度
  • --c:指定色帶的顏色

用法

要使用功能區,只需將以下HTML 程式碼新增至文件即可:

<code class="html"><div class="container">
  <div class="stack-top">1Month</div>
</div></code>
登入後複製

您也可以使用style 屬性直接在 HTML 中指定自訂變量,如在下面更新的範例中可見:

<code class="html"><div class="container">
  <div class="stack-top" style="--d: 0px; --g: 19px; width: 120px; --c: blue">1Month</div>
</div></code>
登入後複製

以上是如何使用純 CSS 創建帶有折疊角的響應式 45 度絲帶?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!