要做一个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>
1901210.jpg
2、箭头在右方的情况,html代码如下:
复制代码代码如下: <div class="bubble-box arrow-right"> <div class="wrap">css bubble -- 箭头在右方</div> </div>
1901211.jpg
3、箭头在下方的情况,html代码如下:
复制代码代码如下: <div class="bubble-box arrow-bottom"> <div class="wrap">css bubble -- 箭头在下方</div> </div>
1901212.jpg
4、箭头在左方的情况,html代码如下:
复制代码代码如下: <div class="bubble-box arrow-left"> <div class="wrap">css bubble -- 箭头在左方</div> </div>
1901213.jpg
怎么样,代码还算简洁吧。另外问一下,如何在博客园编辑器里使用CSS代码,本来我打算做成在线demo的,但是style放不进去,只好截图了。所以你只好根据提供的代码自己去搞了。
忘记可以上传代码的,实例代码已上传,要用的可以下载(更新于:11月13日 9:50)
下载demo |