Home >Web Front-end >CSS Tutorial >How to Create a Responsive Wavy Shape Using SVG and CSS?

How to Create a Responsive Wavy Shape Using SVG and CSS?

Mary-Kate Olsen
Mary-Kate OlsenOriginal
2024-12-29 09:26:11701browse

How to Create a Responsive Wavy Shape Using SVG and CSS?

Using SVG and CSS to Create a Wavy Shape

Question: How can I create a wavy shape using CSS, similar to the image provided?

Answer:

The desired wavy shape can be achieved through a combination of SVG and CSS. Here's a comprehensive approach:

First, create an SVG element and define the path for the wave. This path controls the shape's curves and contours. In the example below, the path forms a wave from point (0, 100) to point (500, 100):

<svg viewBox="0 0 500 500" preserveAspectRatio="xMinYMin meet">
  <path d="M0,100 C150,200 350,0 500,100 L500,00 L0,0 Z">

Next, create a container element to hold the SVG. This container will ensure the wave shape remains responsive.

<div class="container">
  <svg viewBox="0 0 500 500" preserveAspectRatio="xMinYMin meet">
    <path d="M0,100 C150,200 350,0 500,100 L500,00 L0,0 Z">

Finally, style the container using CSS to make it responsive and position the SVG. By setting the container's padding-bottom to 100% and position to relative, you can preserve the aspect ratio of the SVG while filling the container's available height:

.container {
  display: inline-block;
  position: relative;
  width: 100%;
  padding-bottom: 100%;
  vertical-align: middle;
  overflow: hidden;
}

This approach ensures that the SVG wave shape is responsive, maintaining its desired form regardless of the container's dimensions.

The above is the detailed content of How to Create a Responsive Wavy Shape Using SVG and CSS?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn