「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > CSS を使用して内側の丸い境界線を持つ斜めの要素を作成する方法

CSS を使用して内側の丸い境界線を持つ斜めの要素を作成する方法

2024 年 11 月 11 日に公開
ブラウズ:658

How to Create a Skewed Element with an Inner Rounded Border Top Using CSS?

CSS 要素をスキューし、内側の丸い境界線を上部に実現

Web デザインでは、複雑なグラフィック要素を精度と応答性で複製するのが難しい場合があります。 CSSを使用して。そのような課題の 1 つは、内側の丸い境界線の上部を持つ斜めの要素を作成することです。

HTML 構造の定義

まず、HTML 構造を定義しましょう:

CSS の実装

要素を傾けて内側の丸い境界線の上部を追加するには、次の CSS を使用します:

.header {
    border-top: 20px solid blue;
    height:100px;
    position: relative;
    overflow: hidden;
}
.header:before,
.header:after {
    content: "";
    vertical-align:top;
    display: inline-block;
    transform-origin: top right;
    transform: skew(-40deg);
}

.header:before {
    height: 100%;
    width: 50%;
    border-radius: 0 0 20px 0;
    background: blue;
}

.header:after {
    height: 20px;
    width: 20px;
    margin-left:-1px;
    background: radial-gradient(circle at bottom right, transparent 68%, blue 73%);
}

この CSS は、内側の丸い境界線の上部のベースとして機能する斜めの要素を作成します。 :before 疑似要素は青い領域を丸い角で塗りつぶし、:after 疑似要素は放射状のグラデーション効果を追加して内側の境界線を作成します。

スキューと内側の境界線の組み合わせ ]

斜めの要素と内側の境界線を組み合わせることで、目的の結果を実現します効果:

.header {
    border-top: 20px solid blue;
    height:100px;
    position: relative;
    overflow: hidden;
}
.header:before {
    content: "";
    vertical-align:top;
    display: inline-block;
    transform-origin: top right;
    transform: skew(-40deg);
    height: 100%;
    width: 50%;
    border-radius: 0 0 20px 0;
    background: blue;
}
.header:after {
    content: "";
    vertical-align:top;
    display: inline-block;
    transform-origin: top right;
    transform: skew(-40deg);
    height: 20px;
    width: 20px;
    margin-left:-1px;
    background: radial-gradient(circle at bottom right, transparent 68%, blue 73%);
}

このメソッドを使用すると、複数の要素を必要とせずに、歪んだ形状と内側の丸い境界線上部の両方を備えた応答性要素を作成できます。このアプローチにより、柔軟性が向上し、実装が容易になります。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3