气泡提示能给用户良好的浏览体验,相信大部分前端人都做过吧?(什么?你没做过,那信息提示层总做过吧?!)
最近在网上看到了一种写气泡提示的纯CSS代码,其代码简练,兼容性之强,是非常少见的,效果如下图。

首先,是第一种,利用字符“◆”实现。
请看代码,HTML部分:
|
1
2
3
4
|
<div class="poptip"> <span class="poptip-arrow poptip-arrow-bottom"><em>◆</em><i>◆</i></span> 这是气泡提示,纯CSS[◆字符]写的哦 </div> |
CSS部分(上面的CSS代码看上去很多,但其实已经很简练了):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
|
.poptip { position: absolute; top: 20px; left:20px; padding: 6px 10px 5px; *padding: 7px 10px 4px; line-height: 16px; color: #DB7C22; font-size: 12px; background-color: #FFFCEF; border: solid 1px #FFBB76; border-radius: 2px; box-shadow: 0 0 3px #ddd; } .poptip-arrow { position: absolute; overflow: hidden; font-style: normal; font-family: simsun; font-size: 12px; text-shadow:0 0 2px #ccc; } .poptip-arrow em,.poptip-arrow i { position: absolute; left:0;top:0; font-style: normal; } .poptip-arrow em { color: #FFBB76; } .poptip-arrow i { color: #FFFCEF; text-shadow:none; } .poptip-arrow-top,.poptip-arrow-bottom { height: 6px; width: 12px; left:12px; margin-left:-6px; } .poptip-arrow-left,.poptip-arrow-right { height: 12px; width: 6px; top: 12px; margin-top:-6px; } .poptip-arrow-top { top: -6px; } .poptip-arrow-top em { top: -1px; } .poptip-arrow-top i{ top: 0px; } .poptip-arrow-bottom { bottom: -6px; } .poptip-arrow-bottom em { top: -8px; } .poptip-arrow-bottom i { top: -9px; } .poptip-arrow-left { left:-6px; } .poptip-arrow-left em { left:1px; } .poptip-arrow-left i { left:2px; } .poptip-arrow-right { right:-6px; } .poptip-arrow-right em { left:-6px; } .poptip-arrow-right i { left:-7px; } |
第二种,边框实现,一样,直接上代码:
HTML部分:
|
1
2
3
4
5
|
<div class="message-box"> <span>这是气泡提示,纯CSS[border]写的哦</span> <div class="triangle-border tb-background"></div> <div class="triangle-border tb-border"></div> </div> |
CSS部分(依旧是很简练的代码):
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
.message-box { position:relative; width:240px; height:60px; line-height:60px; background:#E9FBE4; box-shadow:1px 2px 3px #E9FBE4; border:1px solid #C9E9C0; border-radius:4px; text-align:center; color:#0C7823; font-size:12px; } .triangle-border { position:absolute; left:30px; overflow:hidden; width:0; height:0; border-width:10px; border-style:solid dashed dashed dashed; } .tb-background { bottom:-20px; border-color:#C9E9C0 transparent transparent transparent; } .tb-border { bottom:-19px; border-color:#E9FBE4 transparent transparent transparent; } |
posted on
浙公网安备 33010602011771号