Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Mencipta Elemen Serong dengan Bahagian Atas Sempadan Bulat Dalaman Menggunakan CSS?

Bagaimana untuk Mencipta Elemen Serong dengan Bahagian Atas Sempadan Bulat Dalaman Menggunakan CSS?

Linda Hamilton
Linda Hamiltonasal
2024-11-01 15:13:31244semak imbas

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

Elemen Skew CSS dan Mencapai Bahagian Atas Sempadan Bulat Dalam

Dalam reka bentuk web, mungkin sukar untuk meniru elemen grafik kompleks dengan ketepatan dan responsif menggunakan CSS. Satu cabaran sedemikian ialah mencipta elemen senget dengan bahagian atas sempadan bulat dalam.

Mentakrifkan Struktur HTML

Pertama, mari kita tentukan struktur HTML:

<code class="html"><header>
  <nav></nav>
</header></code>

Melaksanakan CSS

Untuk menyerong elemen dan menambah bahagian atas sempadan bulat dalam, kami akan menggunakan CSS berikut:

<code class="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%);
}</code>

CSS ini mencipta elemen senget yang berfungsi sebagai asas untuk bahagian atas sempadan bulat dalam. Elemen pseudo :before mengisi kawasan biru dengan sudut bulat, manakala elemen pseudo :selepas menambah kesan kecerunan jejari untuk mencipta sempadan dalam.

Menggabungkan Skew dan Sempadan Dalam

Dengan menggabungkan elemen senget dan sempadan dalam, kami mencapai kesan yang diingini:

<code class="css">.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%);
}</code>

Kaedah ini membolehkan kami mencipta elemen responsif dengan kedua-dua bentuk senget dan bulat dalam atas sempadan tanpa memerlukan pelbagai elemen. Pendekatan ini menawarkan lebih fleksibiliti dan kemudahan pelaksanaan.

Atas ialah kandungan terperinci Bagaimana untuk Mencipta Elemen Serong dengan Bahagian Atas Sempadan Bulat Dalaman Menggunakan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn