112 of 313 menu

Eigenschap border-image

De eigenschap border-image stelt een afbeelding in voor de rand. Het is een samenvattende eigenschap voor de eigenschappen border-image-source, border-image-slice, border-image-repeat, border-image-width en border-image-outset. De samenvattende eigenschap verscheen eerder in CSS dan de samengevatte eigenschappen en wordt daarom ondersteund in een groter aantal oudere browsers.

Syntaxis

selector { border-image: url(pad naar afbeelding) offset/dikte/begin herhaling; }

Beschrijving

De afbeelding die we willen gebruiken voor de rand, moet op een speciale manier worden opgemaakt: 4 mini-afbeeldingen voor de hoeken en 4 afbeeldingen voor de zijden. Voorbeeld van zo'n afbeelding:

In dit geval is het centrale deel wit gelaten (omdat we niet willen dat het op de achtergrond van het element valt). Voorbeeld van een afbeelding met een gevuld centraal deel:

De waarde slice vertelt de browser welke delen van de afbeelding naar de hoeken gaan, en welke naar de zijden (en welk deel centraal zal zijn). Naar de hoeken gaan 4 delen, naar de zijden gaan 4 delen en één deel (het centrale) gaat naar de achtergrond van het element (optioneel, trefwoord fill).

De afbeelding wordt als volgt "in stukjes gesneden": voor de waarde slice wordt een tot vier waarden opgegeven. Laten we het uitzoeken met een voorbeeld. Stel dat de volgende waarden zijn opgegeven: 10 20 30 40 (pixels px worden niet opgegeven, dit komt omdat de afbeelding zowel raster als vector kan zijn). De waarden geven het volgende aan: 10 boven afsnijden, 20 rechts afsnijden, 30 onder afsnijden, 40 links afsnijden. Welk deel van de afbeelding komt in de linker bovenhoek? Dit zal het stukje zijn: 10 boven, 40 links. In de rechter bovenhoek komt 10 boven, 20 rechts. En zo verder.

Meestal is de afbeelding symmetrisch (zoals de ruiten hierboven) en moeten we gelijke stukjes afsnijden voor de hoeken. In dat geval wordt één waarde opgegeven, die dezelfde offsets aan alle kanten instelt. Om de oranje ruiten af te snijden, geven we slice op als 26 (aangezien de oranje ruit een grootte heeft van 26px op 26px). De gele ruiten komen op de randlijnen en met hen gebeurt het volgende: ze worden ofwel uitgerekt over het hele blok of worden herhaald langs de rand (afhankelijk van de waarde 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; }

:

De eigenschap border-image staat niet toe om de dikte van de rand van het element in te stellen. De browser rekt de afbeelding eenvoudigweg uit langs de rand met de bestaande breedte. Daarom moet deze worden ingesteld via de eigenschap border.

Gebruikers van oudere browsers (of met uitgeschakelde afbeeldingen) zien de standaardrand, ingesteld in border, dus het is logisch om deze een passende stijl en kleur te geven.

Waarden

Waarde Beschrijving
url(Pad naar afbeelding) Pad naar de afbeelding. Zie voor meer details border-image-source.
offset Geeft de browser aan welke delen van de afbeelding naar de hoeken gaan, en welke naar de zijden (en welk deel centraal zal zijn). Mogelijke waarden: van 1 tot 4 getallen | van 1 tot 4 procenten. Via een spatie kan het trefwoord fill worden ingesteld als aanvulling op getallen of percentages. Zie voor meer details border-image-slice.
dikte Deze eigenschap beheert de breedte van het zichtbare deel van de rand, schaalt deze. Als deze waarde groter is dan de breedte van border-width, kruipt de randafbeelding onder de inhoud. Mogelijke waarden: CSS-eenheden | procenten | getal | auto. Zie voor meer details border-image-width.
begin Interessante eigenschap, die het mogelijk maakt om de rand buiten de grenzen van het element te verschuiven. Negatieve waarden worden niet ondersteund. Mogelijke waarden: CSS-eenheden (behalve % (?)) | positief getal | auto. Zie voor meer details border-image-outset.
herhaling Geeft aan hoe de afbeelding op de randen moet worden herhaald (niet op de hoeken): tegel of uitrekken.
Mogelijke waarden: stretch | repeat | round | space.
Zie voor meer details border-image-repeat.

Standaardwaarde: none 100%/1/0 stretch (url(pad naar afbeelding) offset/dikte/begin herhaling).

Voorbeeld . border-image-repeat: waarde 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; }

:

Voorbeeld . border-image-repeat: waarde 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; }

:

Voorbeeld . border-image-repeat: waarde round

Momenteel is in de normale staat de waarde repeat ingesteld, en bij zweven - round. Merk op dat vóór het zweven in de rand geen geheel aantal ruiten past, en na het zweven - wel. Zo werkt 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; }

:

Voorbeeld . border-image-repeat: twee woorden

Waarde repeat voor breedte en stretch voor hoogte:

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

:

Voorbeeld . Overeenkomst breedte afbeelding met randbreedte

We verhogen border-width bij zweven van de muis, waarbij de dikte van border-image hetzelfde blijft. De ruiten rekken uit over de hele rand:

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

:

Voorbeeld . border-image-slice

Laten we een andere afbeelding nemen, waarin verschillende stukjes niet gelijk zijn:

We geven aan welke delen van de afbeelding moeten worden afgesneden - 25% 30% 10% 20%. Het werkt als volgt: 25% - offset boven, 30% - offset rechts, 10% - offset onder, 20% - offset links. In feite snijden we met deze stukjes de hoeken af. De linker bovenhoek wordt 25% vanaf de bovenkant van de afbeelding, en 20% vanaf links. De rechter bovenhoek wordt 25% vanaf de bovenkant van de afbeelding, en 30% vanaf rechts, enzovoort.

Ook, als u met de muis over het blok zweeft, dan wordt het trefwoord fill geactiveerd, en het centrale deel van de afbeelding wordt de achtergrond van ons 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; }

:

Voorbeeld

Laten we een verlooprand maken met behulp van een lineair verloop:

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

:

Voorbeeld . border-image-width

Stel de waarde border-image-width in op 2 (de randafbeelding wordt 2 keer groter dan de rand zelf) bij zweven van de muis over het element (26/2 - opgegeven na de schuine streep, waarbij 26 - de waarde is van border-image-slice). Let op het feit dat de rand zelf niet is toegenomen, maar de randafbeelding - wel, omdat deze onder de tekst zal kruipen:

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

:

Voorbeeld . border-image-outset

Stel de waarde border-image-outset in op 3 bij zweven van de muis over het element. (26/1/2 - opgegeven na de tweede schuine streep, waarbij 26 - de waarde is van border-image-slice, en - 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; }

:

Zie ook

Nederlands
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Wij gebruiken cookies voor de werking van de site, analyse en personalisatie. De verwerking van gegevens gebeurt volgens het Privacybeleid.
alles accepteren aanpassen weigeren