波浪(或形状?)在 CSS3 上有边框 [英] Wave (or shape?) with border on CSS3
问题描述
我需要用CSS3实现一个波浪形,我尝试用CSS3 Shapes来实现,但没有达到预期的效果.
* {边距:0;填充:0;}身体 {背景:#007FC1;}.容器,.控制板 {边框底部:4px 实心 #B4CAD8;}.容器 {背景色:#fff;}.container >.文本 {填充:0.5em;}.控制板 {位置:相对;浮动:对;宽度:200px;高度:40px;边距顶部:-4px;背景色:#fff;行高:42px;文本对齐:居中;}.面板:之前{内容: '';位置:绝对;左:-44px;宽度:0;高度:0;边框顶部:44px 实心 #B4CAD8;左边框:44px 实心透明;}
<div class="text"><p>Lorem ipsum dolor sat amet, consectetur adipisicing 精英.Voluptates nam fuga eligendi ipsum sed ducimus quia adipisci unde atque enim quasi quidem perspiciatis totam soluta tempora hic voluptatem optio perferendis.
<div class="panel">这是一个面板</div>
无法在波形上实现边框和设置背景颜色.我需要达到这个结果:
你可以使用 svg
而不是 .panel
(div
) 和将其向右浮动.
body {背景:#007FC1;}.容器 {边框底部:4px 实心 #B4CAD8;}.容器 {背景色:#fff;z-索引:-1;}.container >.文本 {填充:0.5em;}.控制板 {位置:相对;浮动:对;边距顶部:-4px;}
<div class="text"><p>Lorem ipsum dolor sat amet, consectetur adipisicing 精英.Voluptates nam fuga eligendi ipsum sed ducimus quia adipisci unde atque enim quasi quidem perspiciatis totam soluta tempora hic voluptatem optio perferendis.
<svg class="panel" width="200" height="54"><path d="M0,0 h7 q9,3 12.5,10 l13,30 q3.2,10 13,10 h157 v-50z" fill="white"/><path transform="translate(0, -0.5)" d="M0,2 h7 q10,2 13,10 l13,30 q3,9 13,10 h157" fill="none"stroke="#B4CAD8"stroke-width="4"/><text x="110.5" y="25" text-anchor="middle">这是一个面板</text></svg>
您也可以通过其他方式获得形状.
body {背景:#007FC1;}.容器 {边框底部:4px 实心 #B4CAD8;}.容器 {背景色:#fff;z-索引:-1;}.container >.文本 {填充:0.5em;}.控制板 {位置:相对;浮动:对;边距顶部:-4px;}
<div class="text"><p>Lorem ipsum dolor sat amet, consectetur adipisicing 精英.Voluptates nam fuga eligendi ipsum sed ducimus quia adipisci unde atque enim quasi quidem perspiciatis totam soluta tempora hic voluptatem optio perferendis.
<svg class="panel" width="200" height="59"><path d="M0,0 h30 q15,0 5,15 l-17,20 q-13,16 5,15 h200 v-58" fill="white"/><path transform="translate(0, -0.5)" d="M0,2 h30 q15,0 5,15 l-17,20 q-13,16 5,15 h200" fill="none"stroke="#B4CAD8"stroke-width="4"/><text x="115" y="30" text-anchor="middle">这是一个面板</text></svg>
有点弯曲.
body {背景:#007FC1;}.容器 {边框底部:4px 实心 #B4CAD8;}.容器 {背景色:#fff;z-索引:-1;}.container >.文本 {填充:0.5em;}.控制板 {位置:相对;浮动:对;边距顶部:-4px;}
<div class="text"><p>Lorem ipsum dolor sat amet, consectetur adipisicing 精英.Voluptates nam fuga eligendi ipsum sed ducimus quia adipisci unde atque enim quasi quidem perspiciatis totam soluta tempora hic voluptatem optio perferendis.
<svg class="panel" width="200" height="54"><path d="M0,0 h7 q55,-5 15,35 q-13,16 15,15 h200 v-54" fill="white"/><path transform="translate(0, -0.5)" d="M0,2 h7 q55,-5 15,35 q-13,16 15,15 h200" fill="none" stroke="#B4CAD8" stroke-width="4"/><text x="115" y="30" text-anchor="middle">这是一个面板</text></svg>