Ich mag die Antwort von ThomasA, wollte aber einen realistischeren Kontext mit der Welle, mit der zwei Divs getrennt werden. Also habe ich eine vollständigere Demo erstellt, in der das Trennzeichen SVG perfekt zwischen den beiden Divs positioniert wird.
Jetzt dachte ich, es wäre cool, weiter zu gehen. Was wäre, wenn wir dies alles in CSS tun könnten , ohne die Inline-SVG zu benötigen ? Der Punkt ist, zusätzliche Aufschläge zu vermeiden. So habe ich es gemacht:
Zwei einfache <div>
:
#A {
background: #0074D9;
}
#B {
background: #7FDBFF;
}
#A::after {
content: "";
position: relative;
left: -3rem;
top: calc( 3rem - 4rem / 2);
float: left;
display: block;
height: 4rem;
width: 100vw;
background: hsla(0, 0%, 100%, 0.5);
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 70 500 60' preserveAspectRatio='none'%3E%3Crect x='0' y='0' width='500' height='500' style='stroke: none; fill: %237FDBFF;' /%3E%3Cpath d='M0,100 C150,200 350,0 500,100 L500,00 L0,0 Z' style='stroke: none; fill: %230074D9;'%3E%3C/path%3E%3C/svg%3E");
background-size: 100% 100%;
}
* {
margin: 0;
}
#A,
#B {
padding: 3rem;
}
div {
font-family: monospace;
font-size: 1.2rem;
line-height: 1.2;
}
#A {
color: white;
}
<div id="A">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus nec quam tincidunt, iaculis mi non, hendrerit felis. Nulla pretium lectus et arcu tempus, quis luctus ex imperdiet. In facilisis nulla suscipit ornare finibus. …
</div>
<div id="B" class="wavy">… In iaculis fermentum lacus vel porttitor. Vestibulum congue elementum neque eget feugiat. Donec suscipit diam ligula, aliquam consequat tellus sagittis porttitor. Sed sodales leo nisl, ut consequat est ornare eleifend. Cras et semper mi, in porta nunc.</div>
Demo Welliger Teiler (mit CSS-Pseudoelementen, um zusätzliches Markup zu vermeiden)
Die Positionierung war etwas schwieriger als bei einem Inline-SVG, funktioniert aber genauso gut. (Kann benutzerdefinierte CSS-Eigenschaften oder Präprozessorvariablen verwenden, um die Höhe und den Abstand gut lesbar zu halten.)
Um die Farben zu bearbeiten, müssen Sie die URL-codierte SVG selbst bearbeiten.
Achten Sie (wie in der ersten Demo) auf eine Änderung inviewBox
, um unerwünschte Leerzeichen in der SVG zu entfernen. (Eine andere Möglichkeit wäre, eine andere SVG zu zeichnen.)
Eine andere Sache, auf die Sie hier achten sollten, ist das background-size
Set 100% 100%
, um es in beide Richtungen zu dehnen.