gpt4 book ai didi

html - 如何在css3中制作曲线样式的菜单?

转载 作者:太空狗 更新时间:2023-10-29 15:08:46 28 4
gpt4 key购买 nike

是否可以用css3制作曲线/圆弧样式的菜单?

enter image description here

我可以在 HTML5 中使用 Canvas 或其他东西来实现吗?

提前致谢,洛根

最佳答案

不幸的是,我不知道有什么优雅的解决方案,尤其是涉及到菜单项时,但圆弧本身应该可以在纯 css 和几个 html 元素中实现。

也许这可以帮助您入门。

html

<div class="container">
<div class="gray"></div>
<div class="white"></div>
</div>

CSS

.container {
height: 200px;
overflow: hidden;
position: relative;
}
.gray,
.white {
position: absolute;
left: -25%;
right: -25%;
border-radius: 100%;
}
.gray { /* use a gray border with border radius to emulate an arc */
top: -50%;
border:100px solid gray;
border-top: none;
height: 200px;
}
.white { /* put a white oval on top for the top edge of the banner */
top: -80%;
background-color: white;
height: 300px;
}

http://jsfiddle.net/rNLsr/

现在的挑战是定位所有菜单项和 rotate them accordingly ...我真的不认为这是一个可行的解决方案,但无论如何我都会发帖希望你会发现它有用。

SVG允许您 curve text并且可能是更适合这项任务的工具。

编辑

这是我用 SVG 做的一个版本,这是一个概念验证,需要调整才能看起来不错(出于某种原因在 chrome 中呈现可怕而在 IE 中呈现微小),但它为您提供了基本概念:

图形

<svg viewBox="0 0 500 300" version="1.1">
<defs>
<!-- Start at (10,40) end at (490,40) use control point (250 ,85) -->
<path id="curvetext" d="M 10,40 Q 250,85 490,40" />
</defs>
<use x="0" y="0" xlink:href="#curvetext" fill="none" stroke="gray" stroke-width="50"/>
<text font-size="12" fill="white">
<textPath xlink:href="#curvetext">
<a xlink:href="http://example.com">Menu 1</a> Menu 2 Menu 3 Menu 4 Menu 5 Menu 6 Menu 7 Menu 8 Menu 9
</textPath>
</text>
</svg>

SVG 演示地址:http://jsfiddle.net/rNLsr/2/

关于html - 如何在css3中制作曲线样式的菜单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15547878/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com