Rumah > hujung hadapan web > tutorial css > Bagaimanakah saya boleh mencipta heksagon dengan isian dan garis besar warna yang berbeza menggunakan CSS?

Bagaimanakah saya boleh mencipta heksagon dengan isian dan garis besar warna yang berbeza menggunakan CSS?

DDD
Lepaskan: 2024-11-01 10:46:02
asal
233 orang telah melayarinya

How can I create a hexagon with both a fill and an outline of different colors using CSS?

Bentuk Heksagon dengan Sempadan dan Isi

Kod berikut mencipta bentuk heksagon dengan warna latar belakang pepejal dan sempadan lutsinar:

.hex:before {
    content: " ";
    width: 0; height: 0;
    border-bottom: 30px solid #6C6;
    border-left: 52px solid transparent;
    border-right: 52px solid transparent;
    position: absolute;
    top: -30px;
}

.hex {
    margin-top: 30px;
    width: 104px;
    height: 60px;
    background-color: #6C6;
    position: relative;
}

.hex:after {
    content: "";
    width: 0;
    position: absolute;
    bottom: -30px;
    border-top: 30px solid #6C6;
    border-left: 52px solid transparent;
    border-right: 52px solid transparent;
}
Salin selepas log masuk

Untuk mencapai heksagon dengan isian dan garis besar warna yang berbeza, pendekatan yang berbeza diperlukan. Berikut ialah kaedah alternatif menggunakan heksagon berlapis:

<code class="html"><div class="hex">
    <div class="hex inner">
        <div class="hex inner2"></div>
    </div>
</div></code>
Salin selepas log masuk
<code class="css">.hex {
    margin-top: 70px;
    width: 208px;
    height: 120px;
    background: #6C6;
    position: relative;
}
.hex:before, .hex:after {
    content:"";
    border-left: 104px solid transparent;
    border-right: 104px solid transparent;
    position: absolute;
}
.hex:before {
    top: -59px;
    border-bottom: 60px solid #6C6;
}
.hex:after {
    bottom: -59px;
    border-top: 60px solid #6C6;
}

.hex.inner {
    background-color:blue;
    -webkit-transform: scale(.8, .8);
    -moz-transform: scale(.8, .8);
    transform: scale(.8, .8);
    z-index:1;
}
.hex.inner:before {
    border-bottom: 60px solid blue;
}
.hex.inner:after {
    border-top: 60px solid blue;
}

.hex.inner2 {
    background-color:red;
    -webkit-transform: scale(.8, .8);
    -moz-transform: scale(.8, .8);
    transform: scale(.8, .8);
    z-index:2;
}
.hex.inner2:before {
    border-bottom: 60px solid red;
}
.hex.inner2:after {
    border-top: 60px solid red;
}</code>
Salin selepas log masuk

Kaedah ini menghasilkan tiga lapisan heksagon dengan saiz berkurangan dan warna berbeza, memberikan rupa heksagon terisi dengan garis besar.

Atas ialah kandungan terperinci Bagaimanakah saya boleh mencipta heksagon dengan isian dan garis besar warna yang berbeza menggunakan CSS?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan