112 of 313 menu

Eigenschaft border-image

Die Eigenschaft border-image legt ein Bild für den Rahmen fest und ist eine Kurzschreibweise für die Eigenschaften border-image-source, border-image-slice, border-image-repeat, border-image-width und border-image-outset. Dabei erschien die Kurzschreibweise in CSS früher als die einzelnen Eigenschaften und wird daher von einer größeren Anzahl älterer Browser unterstützt.

Syntax

Selektor { border-image: url(Pfad zum Bild) Versatz/Dicke/Verschiebung Wiederholung; }

Beschreibung

Das Bild, das wir für den Rahmen verwenden möchten, muss speziell aufbereitet sein: 4 Miniaturbilder für die Ecken und 4 Bilder für die Seiten. Beispiel für ein solches Bild:

In diesem Fall ist der mittlere Teil weiß belassen (da wir nicht möchten, dass er auf den Hintergrund des Elements gelangt). Beispiel für ein Bild mit gefülltem mittleren Teil:

Der Wert slice weist den Browser an, welche Teile des Bildes für die Ecken verwendet werden und welche für die Seiten (und welcher Teil der mittlere sein wird). Für die Ecken werden 4 Teile verwendet, für die Seiten werden 4 Teile verwendet und ein Teil (der mittlere) wird für den Hintergrund des Elements verwendet (optional, Schlüsselwort fill).

Das Bild wird wie folgt in Stücke "geschnitten": Für den Wert slice wird ein bis vier Werte angegeben. Lassen Sie uns das an einem Beispiel erläutern. Nehmen wir an, die folgenden Werte sind angegeben: 10 20 30 40 (Pixel px werden nicht angegeben, da das Bild sowohl Raster- als auch Vektorgrafik sein kann). Die Werte bedeuten Folgendes: 10 oben abschneiden, 20 rechts abschneiden, 30 unten abschneiden, 40 links abschneiden. Welcher Teil des Bildes landet in der linken oberen Ecke? Dies wird das Stück sein: 10 von oben, 40 von links. In die rechte obere Ecke kommt 10 von oben, 20 von rechts. Und so weiter.

Meistens ist das Bild symmetrisch (wie die Rauten oben) und wir müssen gleiche Stücke für die Ecken abschneiden. In diesem Fall wird ein Wert angegeben, der gleiche Versätze von allen Seiten festlegt. Um die orangefarbenen Rauten abzuschneiden, geben wir slice als 26 an (da die orangefarbene Raute eine Größe von 26px auf 26px hat). Die gelben Rauten landen auf den Linien des Rahmens und mit ihnen passiert Folgendes: sie werden entweder auf den gesamten Block gestreckt oder entlang des Rahmens wiederholt (abhängig vom Wert 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; }

:

Die Eigenschaft border-image erlaubt es nicht, die Dicke des Rahmens des Elements anzugeben. Der Browser streckt das Bild einfach entlang des Rahmens mit der bereits vorhandenen Breite. Daher muss diese über die Eigenschaft border festgelegt werden.

Nutzer älterer Browser (oder mit deaktivierten Bildern) sehen den standardmäßigen Rahmen, der in border festgelegt wurde. Daher ist es sinnvoll, ihm einen passenden Stil und eine passende Farbe zu geben.

Werte

Wert Beschreibung
url(Pfad zum Bild) Pfad zum Bild. Weitere Informationen finden Sie unter border-image-source.
Versatz Weist den Browser an, welche Teile des Bildes für die Ecken verwendet werden, welche für die Seiten (und welcher Teil der mittlere sein wird). Mögliche Werte: von 1 bis 4 Zahlen | von 1 bis 4 Prozent. Durch Leerzeichen getrennt kann zusätzlich zu Zahlen oder Prozent das Schlüsselwort fill angegeben werden. Weitere Informationen finden Sie unter border-image-slice.
Dicke Die Eigenschaft steuert die Breite des sichtbaren Teils des Rahmens, skaliert ihn. Wenn dieser Wert größer als die Breite von border-width ist, kriecht das Rahmenbild unter den Inhalt. Mögliche Werte: CSS-Einheiten | Prozente | Zahl | auto. Weitere Informationen finden Sie unter border-image-width.
Verschiebung Interessante Eigenschaft, die es erlaubt, den Rahmen über die Grenzen des Elements hinaus zu verschieben. Negative Werte werden nicht unterstützt. Mögliche Werte: CSS-Einheiten (außer % (?)) | positive Zahl | auto. Weitere Informationen finden Sie unter border-image-outset.
Wiederholung Gibt an, wie das Bild auf den Rändern (nicht auf den Ecken) wiederholt werden soll: kacheln oder strecken.
Mögliche Werte: stretch | repeat | round | space.
Weitere Informationen finden Sie unter border-image-repeat.

Standardwert: none 100%/1/0 stretch (url(Pfad zum Bild) Versatz/Dicke/Verschiebung Wiederholung).

Beispiel . border-image-repeat: Wert 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; }

:

Beispiel . border-image-repeat: Wert 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; }

:

Beispiel . border-image-repeat: Wert round

Im Normalzustand ist derzeit der Wert repeat eingestellt, und beim Darüberfahren mit der Maus - round. Beachten Sie, dass vor dem Überfahren in den Rahmen keine ganze Anzahl von Rauten passt, und nach dem Überfahren - eine ganze. So funktioniert 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; }

:

Beispiel . border-image-repeat: zwei Wörter

Wert repeat für die Breite und stretch für die Höhe:

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

:

Beispiel . Übereinstimmung der Bildbreite mit der Rahmenbreite

Wir erhöhen border-width beim Überfahren mit der Maus, behalten dabei die Dicke von border-image bei. Die Rauten werden über den gesamten Rahmen gestreckt:

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

:

Beispiel . border-image-slice

Nehmen wir ein anderes Bild, bei dem die verschiedenen Stücke nicht gleich sind:

Wir geben an, welche Teile vom Bild abgeschnitten werden sollen - 25% 30% 10% 20%. Das funktioniert so: 25% - Abstand oben, 30% - Abstand rechts, 10% - Abstand unten, 20% - Abstand links. Im Grunde schneiden wir mit diesen Stücken die Ecken ab. Die obere linke Ecke wird 25% von der Oberseite des Bildes und 20% von links sein. Die obere rechte Ecke wird 25% von der Oberseite des Bildes, und 30% von rechts sein und so weiter.

Wenn Sie außerdem die Maus über den Block bewegen, wird das Schlüsselwort fill aktiviert, und der mittlere Teil des Bildes wird zum Hintergrund unseres Blocks:

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

:

Beispiel

Erstellen wir einen Farbverlauf-Rahmen mit Hilfe eines linearen Farbverlaufs:

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

:

Beispiel . border-image-width

Setzen wir den Wert border-image-width auf 2 (das Rahmenbild wird um das 2-fache größer als der Rahmen selbst), wenn die Maus über das Element fährt (26/2 - nach dem Schrägstrich angegeben, wobei 26 der Wert für border-image-slice ist). Beachten Sie, dass der Rahmen selbst nicht größer wurde, das Rahmenbild aber schon, da es unter den Text kriechen wird:

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

:

Beispiel . border-image-outset

Setzen wir den Wert border-image-outset auf 3, wenn die Maus über das Element fährt. (26/1/2 - nach dem zweiten Schrägstrich angegeben, wobei 26 der Wert für border-image-slice ist, und - 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; }

:

Siehe auch

Deutsch
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskΕλληνικά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
Wir verwenden Cookies für den Betrieb der Website, Analyse und Personalisierung. Die Datenverarbeitung erfolgt gemäß der Datenschutzerklärung.
alle akzeptieren anpassen ablehnen