纯CSS打造Bubble气泡提示框

要做一个Bubble气泡提示框,如果用CSS3特性来做很容易,用图片来做也可以,但前者有兼容性问题(好多苦逼们还在用低级浏览器呢,真希望你不是其中一个),后者又不够灵活,用图片做有一个例子可以看看jquery打造一款侧边弹出的垂直导航

那有没有办法弄一个既方便又兼容又友爱的Bubble气泡提示框呢?答案是可以的,而且就用纯CSS来来实现,当然在没出效果之前你有权去怀疑这件事情,但出了效果后,你必须坚定的认识:楼主是老实人,出家人是不打诳语的。其实呢这个方法是我以前收藏在另一个博客中的,现在为了能让更多的朋友方便地使用,就分享到博客园吧。无论你是否用得到,我都感谢你抽空来临幸我这篇文章。

首先我们来定义一组CSS样式,用来描述bubble框的样式,这里分4种情况,箭头分别在上、右、下、左,CSS代码如下:

.bubble-box{
background
:#EEE;
width
:200px;
margin-bottom
:30px;
}

.bubble-box .wrap
{
background
:#EEE;
/* 修正IE6 */
_position
:relative;
_z-index
:10;
}

/* arrow-effect */
.arrow-left
{ border-left:20px solid #FFF; border-top:20px solid #EEE; margin-top:20px;}
.arrow-right
{ border-right:20px solid #FFF; border-top:20px solid #EEE;}
.arrow-top
{ border-left:20px solid #EEE; border-top:20px solid #FFF; margin-left:20px;}
.arrow-bottom
{ border-left:20px solid #EEE; border-bottom:20px solid #FFF; margin-left:20px;}

.arrow-left .wrap,
.arrow-right .wrap
{
width
:180px;
padding
:12px 10px 12px 10px;
margin-top
:-40px;
}

.arrow-top, .arrow-bottom
{ width:140px;}

.arrow-top .wrap,
.arrow-bottom .wrap
{
width
:180px;
padding
:12px 10px 12px 10px;
margin-left
:-40px;
}

接下来就分别来应用上述样式从而来实现bubble弹出框的效果:
1、箭头在上方的情况,html代码如下:

<div class="bubble-box arrow-top">
<div class="wrap">css bubble -- 箭头在上方</div>
</div>

2、箭头在右方的情况,html代码如下:

<div class="bubble-box arrow-right">
<div class="wrap">css bubble -- 箭头在右方</div>
</div>

3、箭头在下方的情况,html代码如下:

<div class="bubble-box arrow-bottom">
<div class="wrap">css bubble -- 箭头在下方</div>
</div>

4、箭头在左方的情况,html代码如下:

<div class="bubble-box arrow-left">
<div class="wrap">css bubble -- 箭头在左方</div>
</div>

怎么样,代码还算简洁吧。另外问一下,如何在博客园编辑器里使用CSS代码,本来我打算做成在线demo的,但是style放不进去,只好截图了。所以你只好根据提供的代码自己去搞了。

忘记可以上传代码的,实例代码已上传,要用的可以下载(更新于:11月13日 9:50)

下载demo

==================================

如果能成为巨人,我愿意献出肩膀
刚开的围脖:
http://weibo.com/sxwgf  欢迎交流

==================================

posted @ 2011-11-23 01:15  sxwgf  阅读(4916)  评论(17编辑  收藏  举报