纯·Css 样式如何实现该样式

2023-07-20 16:55:12 +08:00
 soislom

RT

有前端的大佬帮帮忙吗

1449 次点击
所在节点    问与答
21 条回复
murmur
2023-07-20 16:57:50 +08:00
这个折腾一下 svg 应该是可以做出来,为什么纯 css ,这是面试题么,这么复杂的东西想不想直接切图省着和需求撕逼
murmur
2023-07-20 16:59:28 +08:00
https://stackoverflow.com/questions/57215029/css-tabs-with-rounded-base-smooth-base-transition

虽然我这么写但是我帮你搜到了类似的答案

不过我仍然认为这种我看不出来是什么参数的曲线就直接切图
nbin2008
2023-07-20 17:03:11 +08:00
解题:
1 、先做选中效果:白色背景,蓝底线
2 、选中状态,左上右上设置弧形
3 、css 前一个兄弟元素不支持,故用 before ,after 伪类设置相邻的弧形效果
4 、需要做判断,在头/尾的时候,before ,after 相应隐藏
soislom
2023-07-20 17:04:46 +08:00
@murmur UI 设计出来的就是这样,因为 svg 不是特别熟练,就考虑用纯 Css 实现
soislom
2023-07-20 17:05:35 +08:00
@nbin2008 感谢,我试试看
IvanLi127
2023-07-20 17:06:43 +08:00
这还有阴影欸,蹲个成果
shuxhan
2023-07-20 17:17:33 +08:00
https://codepen.io/imzsh/pen/rNQKwxd

写了个简单的,hover 转场依靠 css 会有瑕疵就懒得写了
P233
2023-07-20 17:18:25 +08:00
@soislom 应该让设计师导出 SVG
cheese
2023-07-20 17:24:02 +08:00
svg,css 搞这种曲线不得行
soislom
2023-07-20 17:25:40 +08:00
@P233 有点问题导致没有 SVG
soislom
2023-07-20 17:25:54 +08:00
@shuxhan 感谢
mringg
2023-07-20 17:26:58 +08:00
mringg
2023-07-20 17:28:15 +08:00
@mringg 给的链接有点问题,这个 svg 更擅长些
Seanfuck
2023-07-20 17:30:00 +08:00
用背景图转成 base64 data 来做吧,别烧脑了
soislom
2023-07-20 17:32:43 +08:00
@mringg 最开始也考虑过贝塞尔曲线来做,但想到一般都是做动画就放弃了
soislom
2023-07-20 17:33:20 +08:00
@Seanfuck 哈哈,也考虑过直接背景图覆盖
abc635073826
2023-07-20 18:57:13 +08:00
css 会有瑕疵,而且不太适配
molvqingtai
2023-07-20 20:39:41 +08:00
kkocdko
2023-07-20 22:33:44 +08:00
刚想说,看到了 18 楼说了我认为的正解。

还可以用 url()嵌入 svg ,svg 弄成 dataurl 就行,base64 或者 encodeURIcomponent 一下都可以。
SpiritQAQ
2023-07-21 09:55:37 +08:00
点击后是否有横向位移动画是不是也会对最终实现方式有影响

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/958363

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX