Ich habe eine Form mit einer Kante, wie dies in Photoshop:machen gezacktes Dreieck Grenze in CSS
Ist es möglich, die wiederholten Dreiecken als Grenze mit CSS zu machen?
Ich habe eine Form mit einer Kante, wie dies in Photoshop:machen gezacktes Dreieck Grenze in CSS
Ist es möglich, die wiederholten Dreiecken als Grenze mit CSS zu machen?
Sie können CSS3-Verläufe verwenden, um einen Zick-Zack-gemusterten Hintergrund zu erstellen, verwenden Sie die after
css-Pseudo, um es wie eine Grenze anzuwenden.
HTML:
<div class="header"><h1>This is a header</h1></div>
CSS:
.header{
color:white;
background-color:#2B3A48;
text-align:center;
}
.header:after {
content: " ";
display:block;
position: relative;
top:0px;left:0px;
width:100%;
height:36px;
background: linear-gradient(#2B3A48 0%, transparent 0%), linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%;
background: -webkit-linear-gradient(#2B3A48 0%, transparent 0%), -webkit-linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 -webkit-linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%;
background: -o-linear-gradient(#2B3A48 0%, transparent 0%), -o-linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 -o-linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%;
background: -moz-linear-gradient(#2B3A48 0%, transparent 0%), -moz-linear-gradient(135deg, #272220 33.33%, transparent 33.33%) 0 0%, #272220 -moz-linear-gradient(45deg, #272220 33.33%, #2B3A48 33.33%) 0 0%;
background-repeat: repeat-x;
background-size: 0px 100%, 9px 27px, 9px 27px;
}
Quelle: CSS Zigzag Border with a Textured Background
JSFiddle: http://jsfiddle.net/kA4zK/
Obwohl es nicht Browser-kompatibel sein kann, wird es tun. Vielen Dank! – svbnet
Es sieht in IE10 so aus: http://i.imgur.com/TubTh4s.png – Sk8erPeter
funktioniert nicht in IE10 –
Sie können eine individual triangle mithilfe von CSS relativ einfach erstellen (ändern Sie die Rahmeneigenschaften). Damit dies funktioniert, müssen Sie selbst einiges an Markup generieren. Ich würde diesen Ansatz empfehlen.
Stattdessen sind Sie wahrscheinlich besser dran, ein einzelnes Bild mit einem einzigen Dreieck (vorzugsweise ein transparentes .png) enthält, und dann verwendet background-image
und background-repeat
(repeat-x
) Eigenschaften, die zu einem div zu binden (Ihre „Grenze“).
Leider gibt es noch keine direkte Methode, um dies mit reinem CSS zu erreichen.
In CSS3 gibt es eine border-image -Eigenschaft. Vielleicht können Sie es so ausarbeiten, wie Sie es möchten. Mehr hier http://www.w3schools.com/cssref/css3_pr_border-image.asp
non-w3schools link: https://developer.mozilla.org/en-US/docs/Web/CSS/border-image (IE11 +) –
Für zukünftige Zuschauer, ich diese Anpassung von @extramaster's answer fand ein wenig zu sein, einfacher.
Es ist im Wesentlichen das gleiche, aber es verwendet eine weniger Hintergrund Farbverläufe und ermöglicht das Hintergrundobjekt (.navbar
in meinem Markup) durch durchscheinen, anstatt die zweite Farbe in den Zick-Zack fest zu codieren.
JsFiddle:http://jsfiddle.net/861gjx0b/2/
html:
<div class="header"><h1>This is a header</h1></div>
<nav class="navbar"></nav>
CSS:
.header{
position:relative;
color:white;
background-color:#2B3A48;
text-align:center;
}
.navbar {
background: #272220;
height:20px;
}
.header:after {
content: "";
position: absolute;
display: block;
height: 10px;
bottom: -10px; /* -height */
left:0;
right:0;
/* TODO Add browser prefixes */
background:
linear-gradient(
45deg, transparent 33.333%,
#2B3A48 33.333%, #2B3A48 66.667%,
transparent 66.667%
),linear-gradient(
-45deg, transparent 33.333%,
#2B3A48 33.333%, #2B3A48 66.667%,
transparent 66.667%
);
background-size: 8px 20px; /* toothSize doubleHeight */
background-position: 0 -10px; /* horizontalOffset -height */
}
Nice Cleanup, aber nicht die Anbieter-Präfixe, die immer noch (leider) benötigt werden. – zxbEPREF
Das kann für Leute gut sein, die es durch etwas wie Auto-pretiser laufen lassen. –
Für einen ähnlichen Effekt mit gekrümmten Unterkanten (wie Tröpfchen) anstelle von dreieckigen , siehe [diese Antwort] (http: // stackoverflow. com/questions/25895895/Creating-ein-Tröpfchen-wie-Grenze-Effekt-in-css/25903879 # 25903879). – Harry
Nicht reagierend, aber eine Lösung dafür finden Sie unter http://css-shapes.xyz/saw-tooth-border-effect – Akshay