112 of 313 menu

Egenskaben border-image

Egenskaben border-image angiver et billede til rammen, det er en sammentrukken egenskab for egenskaberne border-image-source, border-image-slice, border-image-repeat, border-image-width og border-image-outset. Den sammentrukne egenskab dukkede op i CSS tidligere end de sammentrukne egenskaber og derfor understøttes den i et større antal ældre browsere.

Syntaks

selektor { border-image: url(sti til billedet) offset/bredde/udskydelse gentagelse; }

Beskrivelse

Billedet, som vi vil anvende til rammen, skal være udformet på en speciel måde: 4 mini billeder til hjørnerne og 4 billeder til siderne. Eksempel på et sådant billede:

I dette tilfælde er den centrale del efterladt hvid (da vi ikke ønsker, at den skal komme på baggrunden af elementet). Eksempel på billede med udfyldt central del:

Værdien slice fortæller browseren, hvilke dele af billedet der skal gå til hjørnerne, og hvilke der skal gå til siderne (og hvilken del der skal være central). 4 dele går til hjørnerne, 4 dele går til siderne og en del (den centrale) går til baggrunden for elementet (valgfrit, nøgleordet fill).

Billedet "skæres" i stykker på følgende måde: for værdien slice angives én til fire værdier. Lad os gennemgå det med et eksempel. Antag at følgende værdier er angivet: 10 20 30 40 (pixels px angives ikke, dette skyldes, at billedet kan være både raster og vektor). Værdierne fortæller følgende: 10 skær af øverst, 20 skær af til højre, 30 skær af nederst, 40 skær af til venstre. Hvilken del af billedet kommer i det venstre øverste hjørne? Det vil være stykket: 10 øverst, 40 til venstre. I det højre øverste hjørne kommer 10 øverst, 20 til højre. Og så videre.

Oftest er billedet symmetrisk (som romberne ovenfor) og vi skal skære lige store stykker af til hjørnerne. I så fald angives én værdi, som vil angive ens afstande fra alle sider. For at skære de orange romber ud, angiver vi slice til 26 (da den orange rombe har en størrelse på 26px gange 26px). De gule romber vil komme på linjerne i rammen og følgende vil ske med dem: de vil enten strækkes over hele blokken eller blive gentaget langs rammen (afhængigt af værdien 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; }

:

Egenskaben border-image tillader ikke at angive tykkelsen af elementets ramme. Browseren strækker simpelthen billedet langs rammen med den allerede eksisterende bredde. Derfor skal den angives via egenskaben border.

Brugere af ældre browsere (eller med deaktiverede billeder) vil se en standardramme, angivet i border, så det giver mening at give den passende stil og farve.

Værdier

Værdi Beskrivelse
url(Sti til billedet) Sti til billedet. Se mere under border-image-source.
offset Fortæller browseren, hvilke dele af billedet der skal gå til hjørner, og hvilke der skal gå til sider (og hvilken del der skal være central). Mulige værdier: fra 1 til 4 tal | fra 1 til 4 procenter. Der kan angives nøgleordet fill gennem mellemrum ud over tal eller procenter. Se mere under border-image-slice.
bredde Egenskaben styrer bredden af den synlige del af rammen, skalerer den. Hvis denne værdi er større end bredden af border-width, vil billedet af rammen krybe ind under indholdet. Mulige værdier: CSS enheder | procenter | tal | auto. Se mere under border-image-width.
udskydelse Interessant egenskab, der giver mulighed for at flytte rammen uden for elementet. Negative værdier understøttes ikke. Mulige værdier: CSS enheder (undtagen % (?)) | positivt tal | auto. Se mere under border-image-outset.
gentagelse Angiver, hvordan billedet skal gentages på rammerne (ikke på hjørnerne): fliselagt eller strækket.
Mulige værdier: stretch | repeat | round | space.
Se mere under border-image-repeat.

Standardværdi: none 100%/1/0 stretch (url(sti til billedet) offset/bredde/udskydelse gentagelse).

Eksempel . border-image-repeat: værdien 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: værdien 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: værdien round

Lige nu er værdien repeat indstillet som standard, og ved hover - round. Læg mærke til at før hover passer der ikke et helt antal romber ind i rammen, men efter hover - gør der. Sådan virker 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

Værdien repeat for bredden og stretch for højden:

<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 . Overensstemmelse mellem billedets bredde og rammens bredde

Vi øger border-width ved hover med musen, mens tykkelsen af border-image forbliver den samme. Romberne vil strækkes over hele rammen:

<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

Lad os tage et andet billede, hvor de forskellige stykker ikke er ens:

Vi angiver, hvilke dele af billedet der skal skæres af - 25% 30% 10% 20%. Det virker sådan her: 25% - afstand ovenfra, 30% - afstand til højre, 10% - afstand nedenfra, 20% - afstand til venstre. I bund og grund skærer vi med disse stykker hjørnerne ud. Det øverste venstre hjørne vil være 25% fra toppen af billedet, og 20% fra venstre. Det øverste højre hjørne vil være 25% fra toppen af billedet, og 30% fra højre og så videre.

Hvis du også holder musen over blokken, vil nøgleordet fill træde i kraft, og den centrale del af billedet vil blive baggrunden for vores blok:

<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

Lad os lave en gradientramme ved hjælp af en 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

Vi indstiller værdien af border-image-width til 2 (billedet af rammen vil blive 2 gange stoørre end rammen selv) ved hover med musen over elementet (26/2 - angivet efter skråstreg, hvor 26 er værdien af border-image-slice). Læg mærke til, at rammen selv ikke er blevet større, men billedet af rammen - er blevet det, da det vil kravle ind 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

Vi indstiller værdien af border-image-outset til 3 ved hover med musen over elementet. (26/1/2 - angivet efter den anden skråstreg, hvor 26 er værdien af 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å

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