气泡提示能给用户良好的浏览体验,相信大部分前端人都做过吧?(什么?你没做过,那信息提示层总做过吧?!)

最近在网上看到了一种写气泡提示的纯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 2013-02-20 16:35  纳米程序员  阅读(3615)  评论(0编辑  收藏  举报