112 of 313 menu

Lastnost border-image

Lastnost border-image določa sliko za obrobo, je lastnost okrajšava za lastnosti border-image-source, border-image-slice, border-image-repeat, border-image-width in border-image-outset. Lastnost-okrajšava se je pojavila v CSS prej kot okrajšane lastnosti in zato je podprta v večjem številu starih brskalnikov.

Sintaksa

selektor { border-image: url(pot do slike) odmik/debélina/premik ponavljanje; }

Opis

Slika, ki jo želimo uporabiti za obrobo, mora biti oblikovana na poseben način: 4 mini slike za vogale in 4 slike za stranice. Primer takšne slike:

V tem primeru je osrednji del pustjen bel (ker ne želimo, da pade na ozadje elementa). Primer slike z zapolnjenim osrednjim delom:

Vrednost slice pove brskalniku, katere dele slike bodo šli na vogale, a katere na stranice (in kateri del bo osrednji). Na vogale gredo 4 deli, na stranice gredo 4 deli in en del (osrednji) gre na ozadje elementa (opcijsko, ključna beseda fill).

Slika se "razreže" na koščke na naslednji način: za vrednost slice se določi od ene do štirih vrednosti. Razložimo na primeru. Naj bodo podane naslednje vrednosti: 10 20 30 40 (pikseli px se ne navajajo, to je zato, ker je lahko slika tako rastrska kot vektorska). Vrednosti povejo naslednje: 10 odreži zgoraj, 20 odreži desno, 30 odreži spodaj, 40 odreži levo. Kateri del slike bo prišel v levi zgornji vogal? To bo košček: 10 zgoraj, 40 levo. V desni zgornji vogal bo prišel 10 zgoraj, 20 desno. In tako naprej.

Pogosto je slika simetrična (kot rombi zgoraj) in moramo odrezati enake koščke za vogale. V tem primeru se navede ena vrednost, ki bo določala enake odmike z vseh strani. Da odrežemo oranžne rombe, bomo navedli slice v 26 (ker ima oranžen romb velikost 26px na 26px). Rumeni rombi bodo padli na črte obrobe in z njimi se bo zgodilo naslednje: ali se bodo raztegnili na celoten blok ali se bodo ponavljali vzdolž obrobe (odvisno od vrednosti 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; }

:

Lastnost border-image ne dovoljuje navedbe debeline obrobe elementa. Brskalnik preprosto razteza sliko vzdolž obrobe z že obstoječo širino. Zato jo je treba nastaviti preko lastnosti border.

Uporabniki starih brskalnikov (ali z onemogočenimi silkami) bodo videli standardni okvir, nastavljen v border, zato je smiselno, da mu nastavimo ustrezne stile in barvo.

Vrednosti

Vrednost Opis
url(Pot do slike) Pot do slike. Podrobneje glejte border-image-source.
odmik Pove brskalniku, katere dele slike bodo šli na vogale, katere na stranice (in kateri del bo osrednji). Možne vrednosti: od 1-ega do 4-ih števil | od 1-ega do 4-ih odstotkov. Preko presledka je lahko podana ključna beseda fill poleg števil ali odstotkov. Podrobneje glejte border-image-slice.
debélina Lastnost upravlja s širino vidnega dela okvirja, jo spreminja glede na obrobe. Če je ta vrednost večja od širine border-width, bo slika okvirja zalezla pod vsebino. Možne vrednosti: CSS enote | odstotki | število | auto. Podrobneje glejte border-image-width.
premik Zanimiva lastnost, ki omogoča, da okvir premaknemo zunaj meja elementa. Negativne vrednosti niso podprte. Možne vrednosti: CSS enote (razen % (?)) | pozitivno število | auto. Podrobneje glejte border-image-outset.
ponavljanje Določa, kako ponavljati sliko na obrobah (ne na vogalih): tlakovati ali raztegniti.
Možne vrednosti: stretch | repeat | round | space.
Podrobneje glejte border-image-repeat.

Privzeta vrednost: none 100%/1/0 stretch (url(pot do slike) odmik/debélina/premik ponavljanje).

Primer . border-image-repeat: vrednost 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; }

:

Primer . border-image-repeat: vrednost 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; }

:

Primer . border-image-repeat: vrednost round

Trenutno je v normalnem stanju nastavljena vrednost repeat, ob preletu miške pa - round. Opazite, da se pred preletom v obrobo ne postavi celo število rombov, po preletu pa - celo. Tako deluje 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; }

:

Primer . border-image-repeat: dve besedi

Vrednost repeat za širino in stretch za višino:

<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; }

:

Primer . Ujemanje širine slike s širino obrobe

Povečajmo border-width ob preletu miške, pri tem debelino border-image pustimo enako. Rombi se bodo raztegnili na celotno obrobo:

<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; }

:

Primer . border-image-slice

Vzemimo drugo sliko, v kateri različni koščki niso enaki:

Navedimo, katere dele slike je treba odrezati - 25% 30% 10% 20%. Deluje tako: 25% - odmik zgoraj, 30% - odmik desno, 10% - odmik spodaj, 20% - odmik levo. V bistvu s temi koščki odrežemo vogale. Zgornji levi vogal bo 25% zgoraj slike, in 20% levo. Zgornji desni vogal bo 25% zgoraj slike, in 30% desno in tako naprej.

Tudi, če miško preletite čez blok, bo delovala ključna beseda fill, in osrednji del slike bo postal ozadje našega bloka:

<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; }

:

Primer

Naredimo gradientno obrobo z linearnim gradientom:

<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; }

:

Primer . border-image-width

Nastavimo vrednost border-image-width na 2 (slika obrobe bo postala 2-krat večja od same obrobe) ob preletu miške čez element (26/2 - navedeno za poševnico, pri temer je 26 - vrednost border-image-slice). Opazite, da se sama obroba ni povečala, slika obrobe pa - da, ker bo zalezla pod besedilo:

<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; }

:

Primer . border-image-outset

Nastavimo vrednost border-image-outset na 3 ob preletu miške čez element. (26/1/2 - navedeno za drugo poševnico, pri temer je 26 - vrednost border-image-slice, a - 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; }

:

Glejte tudi

Slovenščina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Za delovanje spletnega mesta, analitiko in personalizacijo uporabljamo piškotke. Obdelava podatkov poteka v skladu s Politiko zasebnosti.
sprejmi vse nastavi zavrni