Html Css形状创建曲线波

Html Css形状创建曲线波,html,css,svg,Html,Css,Svg,我想知道曲线效果是如何在div上产生的。我发现的唯一一个问题接近于我所寻找的,但这太有帮助了 如何在上面的图片中创建折边效果 Css HTML 萨钦 这是我在现场检查时发现它的跨度被包裹了 锚定标记和svg标记 <a href="/" class="home"> <svg viewBox="0 0 100 25" class="shape-tab"> <use xlink:href="#shape-tab"></use&g

  • 我想知道曲线效果是如何在div上产生的。我发现的唯一一个问题接近于我所寻找的,但这太有帮助了
  • 如何在上面的图片中创建折边效果
Css HTML

萨钦
这是我在现场检查时发现它的跨度被包裹了 锚定标记和svg标记

  <a href="/" class="home">
    <svg viewBox="0 0 100 25" class="shape-tab">
      <use xlink:href="#shape-tab"></use>
    </svg>

  <span>Blog</span></a>


这里是折叠角落的最后一个演示

下面的代码是如何创建它们的:

    .note {
  position: relative;
  width: 30%;
  padding: 1em 1.5em;
  margin: 2em auto;
  color: #fff;
  background: #97C02F;
  overflow: hidden;
}

.note:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 16px 16px 0;
  border-style: solid;
  border-color: #fff #fff #658E15 #658E15;
  background: #658E15;
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
  box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
  /* Firefox 3.0 damage limitation */
  display: block; width: 0;
}

.note.rounded {
  -moz-border-radius: 5px 0 5px 5px;
  border-radius: 5px 0 5px 5px;
}

.note.rounded:before {
  border-width: 8px;
  border-color: #fff #fff transparent transparent;
  -moz-border-radius: 0 0 0 5px;
  border-radius: 0 0 0 5px;
}
要创建弯曲波浪效果,可以使用以下代码

    <div id="wave"/>
<div/>


#wave {
  position: relative;
  height: 70px;
  width: 600px;
  background: #e0efe3;
}

#wave:before {
    content: "";
    display: block;
    position: absolute;
    border-radius: 100% 50%;
    width: 340px;
    height: 80px;
    background-color: white;
    right: -5px;
    top: 40px;
}

#wave:after {
    content: "";
    display: block;
    position: absolute;
    border-radius: 100% 50%;
    width: 300px;
    height: 70px;
    background-color: #e0efe3;
    left: 0;
    top: 27px;
}

#挥手{
位置:相对位置;
高度:70像素;
宽度:600px;
背景:#e0efe3;
}
#挥手:之前{
内容:“;
显示:块;
位置:绝对位置;
边界半径:100%50%;
宽度:340px;
高度:80px;
背景色:白色;
右:-5px;
顶部:40px;
}
#挥手:之后{
内容:“;
显示:块;
位置:绝对位置;
边界半径:100%50%;
宽度:300px;
高度:70像素;
背景色:#e0efe3;
左:0;
顶部:27px;
}
要获得曲线,您需要反转曲线的起始位置。按照相同的演示只需反转您的值

要查看“边界半径”(border radius)如何创建所需形状和效果的实时演示,请查看此链接并调整每个角以查看其实际效果。

像这样的事情通常是通过图像来完成的。这是一个关于检查它的站点。您可以清楚地看到该站点使用了一个
元素。。。这基本上是一个(矢量)图像。实际上,如果你想要这些特定的标签,它们的创建在中有详细说明。它们使用内嵌SVG图标。要更改曲线对形状生效的确切位置,您需要使用值。特别是边界半径值。。。调整它们以获得你想要的曲线(左-右-下-上等),以及你想要的曲线的戏剧性。如何将这种方法用于波浪作为全宽、响应性强的背景?内部宽度的变化似乎会对:before和:after中创建的椭圆造成严重破坏。不幸的是,由于静态值,这是不可能的。实现这一点的唯一方法是使用媒体查询,并将wave更改为不同的分辨率。
    .note {
  position: relative;
  width: 30%;
  padding: 1em 1.5em;
  margin: 2em auto;
  color: #fff;
  background: #97C02F;
  overflow: hidden;
}

.note:before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  border-width: 0 16px 16px 0;
  border-style: solid;
  border-color: #fff #fff #658E15 #658E15;
  background: #658E15;
  -webkit-box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
  -moz-box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
  box-shadow: 0 1px 1px rgba(0,0,0,0.3), -1px 1px 1px rgba(0,0,0,0.2);
  /* Firefox 3.0 damage limitation */
  display: block; width: 0;
}

.note.rounded {
  -moz-border-radius: 5px 0 5px 5px;
  border-radius: 5px 0 5px 5px;
}

.note.rounded:before {
  border-width: 8px;
  border-color: #fff #fff transparent transparent;
  -moz-border-radius: 0 0 0 5px;
  border-radius: 0 0 0 5px;
}
    <div id="wave"/>
<div/>


#wave {
  position: relative;
  height: 70px;
  width: 600px;
  background: #e0efe3;
}

#wave:before {
    content: "";
    display: block;
    position: absolute;
    border-radius: 100% 50%;
    width: 340px;
    height: 80px;
    background-color: white;
    right: -5px;
    top: 40px;
}

#wave:after {
    content: "";
    display: block;
    position: absolute;
    border-radius: 100% 50%;
    width: 300px;
    height: 70px;
    background-color: #e0efe3;
    left: 0;
    top: 27px;
}