
用 CSS 写对话气泡,其中小尖角希望和 iMessage 一样,然而似乎有些困难,网上也都是微信那种尖角。
大家有什么建议嘛……
1 ming2050 May 23, 2017 via iPhone |
2 adspe May 23, 2017 和 CSS tooltip 一个思路 |
3 xmgit May 23, 2017 via Android 伪类是一个思路 |
4 dumbass May 23, 2017 via Android 伪元素:before,:after 写个三角形然后位置调调调 |
5 islujw OP @bojackhorseman 那个三角形是镰刀状的……不知道怎么写 $_$ |
7 gongpeione May 23, 2017 上个图看看是什么样的 |
8 learnshare May 23, 2017 |
9 geelaw May 23, 2017 via iPhone 贴图呗,伪元素 content 可以是图 |
10 islujw OP |
12 Tonni May 23, 2017 |
13 aleen42 May 24, 2017 via Android 用 border 三角形出 |
14 islujw OP @Tonni 非常感谢,已经成功!只是有一个细节希望能继续完善:iMessage 的蓝色是全屏范围渐变的,我将颜色定义为: background-image: linear-gradient(to bottom, #5ac8fa, #0b93f6); background-attachment:fixed; 达成效果。 但小尾巴是 border 拼出来的,border 怎样才能支持类似「 background-attachment:fixed;」的设定,让渐变在全屏幕范围,而不是仅仅是单个内? |
15 islujw OP @aleen42 嗯,做到了。但 border 的渐变填充能否达成类似 background-attachment:fixed; 的效果?也就是在全屏幕范围内的渐变,而不局限在单个元素内。要和气泡本身保持一致。 |
17 geelaw May 24, 2017 |
18 geelaw May 24, 2017 上个图,感觉自己棒棒哒 |
19 islujw OP @geelaw 谢谢 Gee Law 热情创作 ^ ^ 搞定了~ 蓝色小尾巴 border 定义颜色为 transparent 即可让 background-image 可见~开心! |
23 lxy42 May 24, 2017 学习了 |
24 joyqi May 24, 2017 |
27 Tonni May 24, 2017 |
28 islujw OP @Tonni 基于那份代码,渐变效果已在 Mac Safari 上成功实现。但 iOS Safari 不支持 background-attachment: fixed; 特性,导致渐变色被固定在每个元素,不能根据位置而变化,这个还有解决的希望嘛…… |
34 geelaw May 26, 2017 |
37 islujw OP @geelaw 1. 你是如何在手机上滚动这块页面的?我增加了对话、改变了颜色后,整个网页被撑高了,滑动是滑动整个网页,而非仅限于这个区块内。2. 我在自己网页上实现后,的确无法实现。3. 能搜出大量关于 iOS Safari 不支持此特性的讨论。你截图中的是 iOS Safari 实现的还是那个网站给的运行环境实现的呢? |
39 islujw OP @geelaw 经过测试,在 JSFiddle 和自己的网页上,为区块设置固定高度和滚动条 {max-height: 300px; overflow: scroll; } 可以让 iOS Safari 将背景固定住,达到效果。但从浏览体验出发,不可以这么设定。然而,在页面自然滚动状态下,就无法达成效果了。为了弄清楚背景图究竟是如何定位的,将颜色替换为图片,发现是以整个页面长度(而非屏幕高度,亦非第一个和最后一个气泡的高度差)为填充高度。 |
40 geelaw May 28, 2017 via iPhone @islujw 那你可以把整个页面套进一个 div 里面,让这个 div 具有 100vh、100vw 和滚动条,并禁止 body、html 之滚动条 |
41 islujw OP @geelaw 最后权衡了一下,还是决定让宽度小于等于 1024px 的浏览器使用纯色。页面滑动的顺畅度还是首要考虑的。不管怎样,还是谢谢啦…(ì _ í) |
42 e8c47a0d Jun 30, 2017 形状比较复杂的,建议用 inline svg |
43 islujw OP @e8c47a0d 已经用 border 写出来了。现在的问题是移动端的 Safari 不支持背景 fixed。当然还有滑动时的气泡缓冲效果,不过这个可有可无~ |