112 of 313 menu

Savybė border-image

Savybė border-image nustato paveikslėlį rėmeliui, ji yra sutrumpinta savybė savybėms border-image-source, border-image-slice, border-image-repeat, border-image-width ir border-image-outset. Tuo tarpu sutrumpinta savybė atsirado CSS anksčiau nei sutrumpinamos savybės ir todėl palaikoma daugelyje senų naršyklių.

Sintaksė

selektorius { border-image: url(paveikslėlio kelias) poslinkis/storis/atstumas kartojimas; }

Aprašas

Paveikslėlis, kurį norime pritaikyti rėmeliui, turi būti suformuotas specialiu būdu: 4 mini paveikslėliai kampams ir 4 paveikslėliai šonams. Tokio paveikslėlio pavyzdys:

Šiuo atveju centrinė dalis palikta balta (nes nenorime, kad ji patektų ant elemento fono). Paveikslėlio pavyzdys su užpildyta centrine dalimi:

Reikšmė slice nurodo naršyklei, kurios paveikslėlio dalys bus skirtos kampams, o kurios šonams (ir kuri dalis bus centrinė). Į kampus eina 4 dalys, į šonus eina 4 dalys ir viena dalis (centrinė) eina į elemento foną (pasirinktinai, raktinis žodis fill).

Paveikslėlis "perpjautas" į gabaliukus tokiu būdu: reikšmei slice nurodoma nuo vienos iki keturių reikšmių. Paanalizuokime pavyzdžiu. Tarkime, nurodytos šios reikšmės: 10 20 30 40 (pikseliai px nenurodomi, tai susiję su tuo, kad paveikslėlis gali būti ir rastrinis ir vektorinis). Reikšmės rodo tai: 10 nukirpti viršuje, 20 nukirpti dešinėje, 30 nukirpti apačioje, 40 nukirpti kairėje. Kuri paveikslėlio dalis pateks į kairįjį viršutinį kampą? Tai bus gabaliukas: 10 viršuje, 40 kairėje. Į dešinįjį viršutinį kampą pateks 10 viršuje, 20 dešinėje. Ir taip toliau.

Dažniausiai paveikslėlis simetriškas (kaip rombai aukščiau) ir mums reikia nukirpti vienodus gabaliukus kampams. Tokiu atveju nurodoma viena reikšmė, kuri nustatys vienodus poslinkius iš visų pusių. Norėdami nukirpti oranžinius rombus, nurodysime slice kaip 26 (nes oranžinis rombas turi dydį 26px ir 26px). Geltoni rombai pateks į rėmelio linijas ir su jais atsitiks taip: jie arba bus ištempti per visą bloką, arba bus kartojami išilgai rėmelio (priklauso nuo reikšmės 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; }

:

Savybė border-image neleidžia nurodyti elemento rėmelio storio. Naršyklė tiesiog ištempia paveikslėlį išilgai rėmelio su jau esančiu plotiu. Todėl jį reikia nustatyti per savybę border.

Senų naršyklių naudotojai (arba su išjungtais paveikslėliais) pamatys standartinį rėmelį, nustatytą border, todėl prasminga jį nustatyti tinkamu stiliumi ir spalva.

Reikšmės

Reikšmė Aprašas
url(Paveikslėlio kelias) Kelias į paveikslėlį. Išsamiau žiūrėkite border-image-source.
poslinkis Nurodo naršyklei, kurios paveikslėlio dalys pateks į kampus, o kurios į šonus (ir kuri dalis bus centrinė). Galimos reikšmės: nuo 1-os iki 4-ių skaičių | nuo 1-os iki 4-ių procentų. Per tarpą gali būti nustatomas raktinis žodis fill be skaičių ar procentų. Išsamiau žiūrėkite border-image-slice.
storis Savybė valdo matomos rėmelio dalies plotį, keičia jo mastelį. Jei ši reikšmė didesnė už border-width plotį, rėmelio paveikslėlis įsibraus po turiniu. Galimos reikšmės: CSS vienetai | procentai | skaičius | auto. Išsamiau žiūrėkite border-image-width.
atstumas Įdomi savybė, leidžianti pastumti rėmelį už elemento ribų. Neigiamos reikšmės nepalaikomos. Galimos reikšmės: CSS vienetai (išskyrus % (?)) | teigiamas skaičius | auto. Išsamiau žiūrėkite border-image-outset.
kartojimas Nurodo, kaip kartoti paveikslėlį rėmeliuose (ne kampuose): iškloti arba ištempti.
Galimos reikšmės: stretch | repeat | round | space.
Išsamiau žiūrėkite border-image-repeat.

Numatytoji reikšmė: none 100%/1/0 stretch (url(paveikslėlio kelias) poslinkis/storis/atstumas kartojimas).

Pavyzdys . border-image-repeat: reikšmė 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; }

:

Pavyzdys . border-image-repeat: reikšmė 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; }

:

Pavyzdys . border-image-repeat: reikšmė round

Dabar normalioje būsenoje nustatyta reikšmė repeat, o užvedus pelę - round. Atkreipkite dėmesį, kad prieš užvedant į rėmelį patenka ne sveikas skaičius rombų, o po užvedimo - sveikas. Taip veikia 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; }

:

Pavyzdys . border-image-repeat: du žodžiai

Reikšmė repeat plotiui ir stretch aukščiui:

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

:

Pavyzdys . Paveikslėlio pločio sutapimas su rėmelio plotimi

Padidinkime border-width užvedus pelę, tuo tarpu storį border-image palikime tokią pat. Rombei bus ištempti per visą rėmelį:

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

:

Pavyzdys . border-image-slice

Paimkime kitą paveikslėlį, kuriame skirtingi gabaliukai nėra vienodi:

Nurodykime, kurios paveikslėlio dalys turi būti nukirstos - 25% 30% 10% 20%. Veikia tai taip: 25% - atitraukimas viršuje, 30% - atitraukimas dešinėje, 10% - atitraukimas apačioje, 20% - atitraukimas kairėje. Iš esmės šiais gabaliukais nukertame kampus. Viršutinis kairysis kampas bus 25% paveikslėlio viršuje, ir 20% kairėje. Viršutinis dešinysis kampas bus 25% paveikslėlio viršuje, ir 30% dešinėje ir taip toliau.

Taip pat, jei užvesite pelę ant bloko, tai suveiks raktinis žodis fill, ir centrinė paveikslėlio dalis taps mūsų bloko fonu:

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

:

Pavyzdys

Sukurkime gradientinį rėmelį naudodami tiesinį gradientą:

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

:

Pavyzdys . border-image-width

Nustatykime reikšmę border-image-width kaip 2 (rėmelio paveikslėlis taps 2 karto didesnis už patį rėmelį) užvedus pelę ant elemento (26/2 - nurodyta po brūkšnio, o 26 - tai reikšmė border-image-slice). Atkreipkite dėmesį į tai, kad pats rėmelis nedidėjo, o rėmelio paveikslėlis - taip, nes jis įsibraus po tekstu:

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

:

Pavyzdys . border-image-outset

Nustatykime reikšmę border-image-outset kaip 3 užvedus pelę ant elemento. (26/1/2 - nurodyta po antrojo brūkšnio, o 26 - tai reikšmė border-image-slice, o - 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; }

:

Taip pat žiūrėkite

Lietuvių
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Mes naudojame slapukus svetainės veikimui, analizei ir personalizavimui. Duomenų apdorojimas vyksta pagal Privatumo politiką.
priimti visus nustatyti atšaukti