【发布时间】:2018-07-12 17:10:16
【问题描述】:
我正在创建一个网站,顶部有一个标题/菜单。 中间有一个标志。为了强调这一点,我在徽标下方绝对放置了一个省略号:因此,在下方,您会看到省略号,它与菜单的其余部分完美融合。
.ellips {
border-radius: 50%;
height: 130%;
background: white;
left: 0px;
right: 0px;
z-index: 1;
position: absolute;
top: 6%;
border: 2px solid #dfe0e4;
}
现在客户希望看到左右“角”也弯曲了:
我知道“在菜单下方添加一个省略号”的方法是不够的。 我在考虑两种可能的解决方案:
使用曲线创建一个 SVG,并将其放在菜单下方。我试过这个解决方案,但我不是 SVG 专家,所以我尝试了 CSS 方法:
尝试用这样的曲线创建 CSS 项目(div):上面是白色的,下面是透明的。将 dat 项放在菜单下方。
我更喜欢 css 解决方案,因为我不是 SVG 的大英雄。但是如果使用 SVG 可以更容易地实现它。然后我会取消该解决方案。
编辑:你看到的蓝色背景是一个底层图像。所以这需要透明。
椭圆需要涂成白色。
【问题讨论】:
-
您可以使用 SVG 直接塑造您的 HTML 元素:sarasoueidan.com/blog/css-svg-clipping 有帮助吗?
-
它会有所帮助。但我无法创建具有这种形状的 SVG..
-
@sjahan 请注意,CSS
clip-path属性目前仍是一项实验性功能,并非所有常见浏览器都支持。 Here's the support overview. -
@NamelessLambda true,我已经使用过它,但它只适用于我认为复杂形状的 webkit 浏览器...:/
-
安装一个 SVG 编辑器,比如 Inkscape 并绘制任何你想要的 SVG 形状。