112 of 313 menu

Egenskapen border-image

Egenskapen border-image setter bilde for kanten, den er en sammensatt egenskap for egenskapene border-image-source, border-image-slice, border-image-repeat, border-image-width og border-image-outset. Den sammensatte egenskapen dukket opp i CSS tidligere enn de enkelte egenskapene og derfor støttes den i flere eldre nettlesere.

Syntaks

velger { border-image: url(sti til bildet) offset/bredde/utskifting repetisjon; }

Beskrivelse

Bildet som vi vil bruke for kanten, må være utformet på en spesiell måte: 4 mini bilder for hjørnene og 4 bilder for sidene. Eksempel på et slikt bilde:

I dette tilfellet er den sentrale delen latt hvit (fordi vi ikke vil at den skal havne på elementets bakgrunn). Eksempel på bilde med fylt sentral del:

Verdien slice forteller nettleseren, hvilke deler av bildet som skal gå til hjørnene, og hvilke som skal gå til sidene (og hvilken del som skal være sentral). Det går 4 deler til hjørnene, 4 deler går til sidene og en del (den sentrale) går til elementets bakgrunn (valgfritt, nøkkelordet fill).

Bildet "skjæres" i biter på følgende måte: for verdien slice angis fra en til fire verdier. La oss se på et eksempel. Anta at følgende verdier er angitt: 10 20 30 40 (piksler px angis ikke, dette er fordi bildet kan være både raster og vektor). Verdiene forteller følgende: 10 kutt av øverst, 20 kutt av til høyre, 30 kutt av nederst, 40 kutt av til venstre. Hvilken del av bildet havner i venstre øvre hjørne? Det vil være en bit: 10 øverst, 40 til venstre. I høyre øvre hjørne havner 10 øverst, 20 til høyre. Og så videre.

Oftest er bildet symmetrisk (som rombene over) og vi trenger å skjære av like biter for hjørnene. I så fall angis én verdi, som vil sette like offset fra alle sider. For å skjære av de oransje rombene, angir vi slice som 26 (siden den oransje romben har størrelse 26px26px). De gule rombene havner på linjene til kanten og følgende vil skje med dem: de vil enten strekkes over hele blokken eller vil gjentas langs kanten (avhenger av verdien 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; }

:

Egenskapen border-image tillater ikke å angi tykkelsen på elementets kant. Nettleseren strekker bare bildet langs kanten med den eksisterende bredden. Derfor må den angis gjennom egenskapen border.

Brukere av eldre nettlesere (eller med deaktiverte bilder) vil se en standard ramme, angitt i border, så det er fornuftig å gi den passende stil og farge.

Verdier

Verdi Beskrivelse
url(Sti til bilde) Sti til bilde. Se mer i border-image-source.
offset Forteller nettleseren hvilke deler av bildet som skal gå til hjørnene, og hvilke som skal gå til sidene (og hvilken del som skal være sentral). Mulige verdier: fra 1 til 4 tall | fra 1 til 4 prosent. Mellomrom kan brukes til å angi nøkkelordet fill i tillegg til tall eller prosent. Se mer i border-image-slice.
bredde Egenskapen styrer bredden på den synlige delen av rammen, skalerer den. Hvis denne verdien er større enn bredden på border-width, vil bildet av rammen krype under innholdet. Mulige verdier: CSS-enheter | prosent | tall | auto. Se mer i border-image-width.
utskifting Interessant egenskap som lar deg flytte rammen utenfor elementet. Negative verdier støttes ikke. Mulige verdier: CSS-enheter (unntatt % (?)) | positivt tall | auto. Se mer i border-image-outset.
repetisjon Angir hvordan bildet skal gjentas på kantene (ikke på hjørnene): fliselegg eller strekk.
Mulige verdier: stretch | repeat | round | space.
Se mer i border-image-repeat.

Standardverdi: none 100%/1/0 stretch (url(sti til bilde) offset/bredde/utskifting repetisjon).

Eksempel . border-image-repeat: verdien 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; }

:

Eksempel . border-image-repeat: verdien 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; }

:

Eksempel . border-image-repeat: verdien round

Nå er det i normal tilstand satt verdien repeat, og ved hovering - round. Legg merke til at før hovering passer det ikke et helt antall romber inn i kanten, men etter hovering - et helt antall. Slik fungerer 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; }

:

Eksempel . border-image-repeat: to ord

Verdien repeat for bredde og stretch for høyde:

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

:

Eksempel . Samsvar mellom bildets bredde og kantens bredde

La oss øke border-width ved hovering med musepeker, samtidig som vi lar tykkelsen på border-image være den samme. Rombene vil strekkes over hele kanten:

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

:

Eksempel . border-image-slice

La oss ta et annet bilde, der de forskjellige bitene ikke er like:

La oss angi hvilke deler av bildet som skal skjæres av - 25% 30% 10% 20%. Dette fungerer slik: 25% - offset øverst, 30% - offset til høyre, 10% - offset nederst, 20% - offset til venstre. I praksis skjærer vi av hjørnene med disse bitene. Øverste venstre hjørne vil være 25% øverst på bildet, og 20% til venstre. Øverste høyre hjørne vil være 25% øverst på bildet, og 30% til høyre og så videre.

Også, hvis du holder musepekeren over blokken, vil nøkkelordet fill aktiveres, og den sentrale delen av bildet vil bli bakgrunnen til blokken vår:

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

:

Eksempel

La oss lage en gradientkant ved hjelp av lineær 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; }

:

Eksempel . border-image-width

La oss sette verdien border-image-width til 2 (bildet av kanten vil bli 2 ganger større enn selve kanten) ved hovering med musepekeren på elementet (26/2 - angitt etter skråstreken, mens 26 er verdien for border-image-slice). Legg merke til at selve kanten ikke ble større, men bildet av kanten - ja, siden det vil krype under teksten:

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

:

Eksempel . border-image-outset

La oss sette verdien border-image-outset til 3 ved hovering med musepekeren på elementet. (26/1/2 - angitt etter den andre skråstreken, mens 26 er verdien for border-image-slice, og - 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; }

:

Se også

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis