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上产生的。我发现的唯一一个问题接近于我所寻找的,但这太有帮助了
- 如何在上面的图片中创建折边效果
萨钦
这是我在现场检查时发现它的跨度被包裹了
锚定标记和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;
}