使用css实现网页弹出气泡层效果
作者:迷失的宇 来源:ASP急救中心 浏览: 添加日期:2010-11-09 我要评论( )
[导读]我们前面给大家介绍了,使用jquery实现网页弹出气泡层的效果,但是如果你不熟悉,或者不喜欢用它的话,我们用css也可以显示,今天给大家的介绍的就是使用css的方法。我们看下面的教程吧。
做个气泡层,我们需要下列这几个元素:带三角指示箭头、边框需要描边、渐进圆角。
然后我们的任务就是把他们一一都做出来,下面我们先做一个浮动层,效果如下:

下来我们的就要开始做三角箭头了,我们这里用的是一个空的S标签,来表示他的形状。代码如下:
<html>
<head>
<style>
div{
position:absolute;
top:30px;
left:40px;
display:block;
height:100px;
width:200px;
border:1px solid #666;
}
s{
position:absolute;
top:-21px;
left:20px;
display:block;
height:0;
width:0;
font-size: 0;
line-height: 0;
border-color:transparent transparent #666 transparent;
border-style:dashed dashed solid dashed;
border-width:10px;
}
</style>
</head>
<body>
<div>
<s></s>
</div>
</body>
</html>
效果如下图:

下面,我们需要一个白色背景的小三角将原来的深色三角遮住,用深色三角做底,为了颜色更明显一些,我这里用#ff0做底色,在s标签内嵌套一个空的i标签,并设置它的边框宽度略小一点。
效果如下:<html>
<head>
<style>
div{
position:absolute;
top:30px;
left:40px;
display:block;
height:100px;
width:200px;
border:1px solid #666;
background-color:#ff0;
}
s{
position:absolute;
top:-21px;
left:20px;
display:block;
height:0;
width:0;
font-size: 0;
line-height: 0;
border-color:transparent transparent #666 transparent;
border-style:dashed dashed solid dashed;
border-width:10px;
}
i{
position:absolute;
top:-9px;
left:-10px;
display:block;
height:0;
width:0;
font-size: 0;
line-height: 0;
border-color:transparent transparent #ff0 transparent;
border-style:dashed dashed solid dashed;
border-width:10px;
}
</style>
</head>
<body>
<div>
<s>
<i></i>
</s>
</div>
</body>
</html>

在IE下,有点小瑕疵,三角的定位有点的问题,简单hack一下,并把背景颜色改回白色。
<html>
<head>
<style>
div{
position:absolute;
top:30px;
left:40px;
display:block;
height:100px;
width:200px;
border:1px solid #666;
background-color:#fff;
}
s{
position:absolute;
top:-21px;
*top:-20px;
left:20px;
display:block;
height:0;
width:0;
font-size: 0;
line-height: 0;
border-color:transparent transparent #666 transparent;
border-style:dashed dashed solid dashed;
border-width:10px;
}
i{
position:absolute;
top:-9px;
*top:-9px;
left:-10px;
display:block;
height:0;
width:0;
font-size: 0;
line-height: 0;
border-color:transparent transparent #fff transparent;
border-style:dashed dashed solid dashed;
border-width:10px;
}
</style>
</head>
<body>
<div>
<s>
<i></i>
</s>
</div>
</body>
</html>
在IE下的效果如下:
Tags:
- 上一篇:CSS中实现无图片圆角效果方法总结
- 下一篇:实用的CSS版中国地图
相关文章
文章评论
相关栏目
- HTML/Xhtml(19)
- CSS教程(20)
- Dreamweaver(2)
- Frontpage(0)
- Javascript/Ajax(72)
- XML/XSLT(9)
- CMS技巧(9)
