气泡提示能给用户良好的浏览体验,相信大部分前端人都做过吧?(什么?你没做过,那信息提示层总做过吧?!)
最近在网上看到了一种写气泡提示的纯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;
} |