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