4 Verlauf der Grenzen im CSS
Ich brauche Hilfe die Anwendung eines gradient Grenze auf allen 4 Seiten des Kastens. Ich habe es versucht, aber es funktioniert nur für zwei Seiten. Nach einem Blick auf all die links und SO Antworten ich habe dieses:
CSS:
.test{
height:250px;
border: 2px solid;
border-image: linear-gradient(to left,rgba(78,137,176,1) 1%, rgba(115,192,85,1) 100%) 100% 0 100% 0/2px 0 2px 0;
padding-top:50px;
}
HTML:
<div class="test">
This is a box and I want borders for all the sides
</div>
Ich würde jede Hilfe zu schätzen wissen. Ich bin versucht, etwas ähnliches wie auf dem Bild unten.
Danke.
- Ich sah dies vor kurzem: "Codepen.io
- der link, den Sie angebracht haben, funktioniert nicht richtig. ich habe es vor dem posten der Frage
- der link, der u befestigt ist, hilfreich. ich komme bald wieder, wenn es funktioniert. bedanken Sie sich bei u
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit hintergrund-Bild: (produziert die genaue Leistung wie dein Bild)
Scheinen Sie zu sein mit Gefälle, sind verschiedenen auf die einzelnen Seiten und so ist es schwierig, dies zu erreichen mit der
border-image
Eigenschaft. Sie könnten versuchen, und imitieren das Verhalten mitbackground-image
wie in der unten snippet.Im Grunde, was die unten snippet stimmt ist, dass es schafft die Steigung für jede der 4 Seiten als gradient hintergrund-Bild und Streifen verwendet dann
background-position
um Sie auf den richtigen Speicherort.Den transparenten Rand auf die Eltern ist ein Platzhalter, wo die mimiced Grenze enden würde erscheinen. Die
background-origin: border-box
macht den hintergrund des Elements start vonborder-box
Bereich selbst (und nichtpadding-box
odercontent-box
). Diese beiden sind nur zusätzliche Schritte, um vermeiden Sie die Verwendung von unnötigencalc
Sachen in derbackground-position
.CSS:
HTML:
Mit border-image: (erzeugt einen Rand auf allen 4 Seiten, aber nicht dieselbe Leistung wie dein Bild)
Die beste Leistung, die Sie bekommen konnte, mit
border-image
Eigenschaft wäre die unter, aber wie Sie sehen können von der demo-es ist nicht genau das gleiche wie das Bild (oder das erste snippet-Ausgabe):CSS:
HTML:
border-image
ist die empfohlene Eigenschaft für die Erstellung Grenze Gradienten, aber es produziert nicht die Ausgabe, die Sie benötigen, also müssen wir die Alternative Methode nur. Mitbackground-image
ist nicht falsch (ich weiß, Semantik klug es ist, aber das ist eine andere Sache). Nur die Sache ist, dass, wenn das element tatsächlich hat ein Gefälle/Bild hintergrund auch dann müssen wir besonders vorsichtig sein, in der Sie ihn platzieren. Aber das kann man mit den gleichen Eigenschaften (background-origin
,background-position
) + ein extrabackground-clip
. Es ist nicht unmöglich 🙂