112 of 313 menu

Properti border-image

Properti border-image mengatur gambar untuk border, ini merupakan properti shorthand untuk properti border-image-source, border-image-slice, border-image-repeat, border-image-width dan border-image-outset. Sementara properti shorthand muncul di CSS lebih awal dari properti yang disingkat dan karena itu didukung dalam lebih banyak peramban lama.

Sintaksis

selektor { border-image: url(jalur ke gambar) offset/lebar/awal pengulangan; }

Deskripsi

Gambar, yang ingin kita terapkan untuk border, harus diformat dengan cara khusus: 4 gambar mini untuk sudut dan 4 gambar untuk sisi. Contoh gambar seperti itu:

Dalam hal ini bagian tengah dibiarkan putih (karena kita tidak ingin bagian itu masuk ke latar belakang elemen). Contoh gambar dengan bagian tengah yang terisi:

Nilai slice memberi tahu peramban, bagian mana dari gambar yang akan digunakan untuk sudut, dan bagian mana untuk sisi (dan bagian mana yang akan menjadi tengah). Untuk sudut digunakan 4 bagian, untuk sisi digunakan 4 bagian dan satu bagian (tengah) digunakan untuk latar belakang elemen (opsional, kata kunci fill).

Gambar "dipotong" menjadi beberapa bagian berikut cara: untuk nilai slice ditentukan dari satu sampai empat nilai. Mari kita bahas dengan contoh. Misalkan nilai berikut ditentukan: 10 20 30 40 (piksel px tidak ditentukan, ini terkait dengan fakta bahwa gambar dapat berupa raster dan vektor). Nilai-nilai menunjukkan hal berikut: 10 potong dari atas, 20 potong dari kanan, 30 potong dari bawah, 40 potong dari kiri. Bagian mana dari gambar yang akan masuk ke sudut kiri atas? Ini akan menjadi bagian: 10 dari atas, 40 dari kiri. Ke sudut kanan atas akan masuk 10 dari atas, 20 dari kanan. Dan seterusnya.

Seringkali gambar simetris (seperti belah ketupat di atas) dan kita perlu memotong bagian yang sama untuk sudut. Dalam hal ini ditentukan satu nilai, yang akan mengatur offset yang sama dari semua sisi. Untuk memotong belah ketupat oranye, kita akan menentukan slice menjadi 26 (karena belah ketupat oranye berukuran 26px kali 26px). Belah ketupat kuning akan masuk ke garis border dan hal berikut akan terjadi pada mereka: mereka akan meregang ke seluruh blok atau akan berulang sepanjang border (tergantung pada nilai repeat):

<div id="elem"></div> #elem { border-image-source: url("image.png"); border-image-slice: 26; border-image-repeat: stretch; border-style: solid; border-width: 26px; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

<div id="elem"></div> #elem { border-image-source: url("image.png"); border-image-slice: 26; border-image-repeat: repeat; border-style: solid; border-width: 26px; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Properti border-image tidak memungkinkan untuk menentukan ketebalan border elemen. Peramban hanya meregangkan gambar sepanjang border dengan lebar yang sudah ada. Jadi perlu ditentukan melalui properti border.

Pengguna peramban lama (atau dengan gambar yang dinonaktifkan) akan melihat bingkai standar, yang ditentukan dalam border, jadi masuk akal untuk mengatur gaya dan warna yang sesuai.

Nilai

Nilai Deskripsi
url(Jalur ke gambar) Jalur ke gambar. Lebih detail lihat border-image-source.
offset Memberi tahu peramban, bagian mana dari gambar yang akan digunakan untuk sudut, dan bagian mana untuk sisi (dan bagian mana yang akan menjadi tengah). Nilai yang mungkin: dari 1 hingga 4 angka | dari 1 hingga 4 persen. Melalui spasi dapat ditentukan kata kunci fill sebagai tambahan untuk angka atau persen. Lebih detail lihat border-image-slice.
lebar Properti mengatur lebar bagian border yang terlihat, menskalakannya. Jika nilai ini lebih besar dari lebar border-width, gambar border akan merayap di bawah konten. Nilai yang mungkin: Satuan CSS | persen | angka | auto. Lebih detail lihat border-image-width.
awal Properti menarik, memungkinkan untuk memindahkan border di luar elemen. Nilai negatif tidak didukung. Nilai yang mungkin: Satuan CSS (kecuali % (?)) | angka positif | auto. Lebih detail lihat border-image-outset.
pengulangan Menentukan cara mengulang gambar pada border (bukan pada sudut): menutupi atau meregangkan.
Nilai yang mungkin: stretch | repeat | round | space.
Lebih detail lihat border-image-repeat.

Nilai default: none 100%/1/0 stretch (url(jalur ke gambar) offset/lebar/awal pengulangan).

Contoh . border-image-repeat: nilai repeat

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Contoh . border-image-repeat: nilai stretch

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 stretch; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Contoh . border-image-repeat: nilai round

Saat ini dalam keadaan normal diatur nilai repeat, dan saat hover - round. Perhatikan bahwa sebelum hover ke border dimasukkan bukan jumlah bilangan bulat belah ketupat, dan setelah hover - bilangan bulat. Begitulah cara kerja round:

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26 round; } #elem { border-style: solid; border-width: 42px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Contoh . border-image-repeat: dua kata

Nilai repeat untuk lebar dan stretch untuk tinggi:

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat stretch; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Contoh . Kesesuaian lebar gambar dengan lebar border

Kita akan tingkatkan border-width saat hover mouse, sementara ketebalan border-image akan dibiarkan sama. Belah ketupat akan meregang ke seluruh border:

<div id="elem"></div> #elem:hover { border-width: 52px; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Contoh . border-image-slice

Mari ambil gambar lain, di mana bagian-bagian yang berbeda tidak sama:

Tentukan, bagian mana dari gambar yang perlu dipotong - 25% 30% 10% 20%. Cara kerjanya seperti ini: 25% - offset dari atas, 30% - offset dari kanan, 10% - offset dari bawah, 20% - offset dari kiri. Intinya dengan potongan-potongan ini kita memotong sudut-sudut. Sudut kiri atas akan menjadi 25% dari atas gambar, dan 20% dari kiri. Sudut kanan atas akan menjadi 25% dari atas gambar, dan 30% dari kanan dan seterusnya.

Juga, jika Anda mengarahkan mouse ke blok, maka kata kunci fill akan aktif, dan bagian tengah gambar akan menjadi latar belakang blok kita:

<div id="elem"></div> #elem:hover { border-image: url("image.png") fill 25% 30% 10% 20% stretch; } #elem { border-style: solid; border-width: 52px; border-image: url("image.png") 25% 30% 10% 20% stretch; width: 200px; height: 200px; margin: 0 auto; }

:

Contoh

Mari buat border gradien menggunakan gradien linear:

<div id="elem"></div> #elem { background: green; border-image: linear-gradient(to bottom, red, blue) 30; border-width: 30px; border-style: solid; width: 200px; height: 200px; margin: 0 auto; }

:

Contoh . border-image-width

Atur nilai border-image-width menjadi 2 (gambar border akan menjadi 2 kali lebih besar dari border itu sendiri) saat hover mouse pada elemen (26/2 - ditentukan setelah garis miring, sementara 26 - adalah nilai border-image-slice). Perhatikan bahwa border itu sendiri tidak membesar, tetapi gambar border - ya, karena akan merayap di bawah teks:

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26/2 repeat; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Contoh . border-image-outset

Atur nilai border-image-outset menjadi 3 saat hover mouse pada elemen. (26/1/2 - ditentukan setelah garis miring kedua, sementara 26 - adalah nilai border-image-slice, dan - 1 - border-image-width):

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26/1/3 repeat; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Lihat juga

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak