純粋な 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 を使用するimage はオプションの 1 つですが、応答性の観点からは理想的ではありません。 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 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!