制作CSS气泡框

气泡状文本框,是一种很生动的网页设计手段。

它可以用来表示用户的发言。


也可以用来作为特定信息的提示符。


DVD租借网站Netflix,还用它显示碟片的详细信息。


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

制作CSS气泡框的传统方法,需要5张背景图片,分别是:

  *

tl.gif,左上方的圆角。
* tr.gif,右上方的圆角。
* bl.gif,左下方的圆角。
* br.gif,右下方的圆角。
* angle.gif,突出的三角形。

现在假定有这样一段代码:

  <blockquote>床前明月光,疑是地上霜。</blockquote>

  <p>李白</p>

我们希望通过气泡框,产生一种视觉效果,将李白与诗句对应起来。


那么,首先需要为诗句添加四个"钩子"(handler):

  <div class="tl">
<div class="tr">
<div class="br">
<div class="bl">
<blockquote>床前明月光,疑是地上霜。</blockquote>
</div>
</div>
</div>
</div>

然后,为最外面的容器div.tl指定高度和宽度,使它形成一个视觉方框:

  .tl{
width:300px;
height:50px;
text-align:center;
line-height:50px;
}

接着,为四个"钩子"依次添加四个不同的圆角背景:

  .tl{background:url('tl.gif') top left no-repeat #ff8c45;}
.tr{background:url('tr.gif') top right no-repeat;}
.bl{background:url('bl.gif') bottom left no-repeat;}
.br{background:url('br.gif') bottom right no-repeat;}

最后,在"李白"前面加上三角形图片。

  p{
padding: 15px 0px 0px 50px;
background: url('angle.gif') 40px top no-repeat;
}

气泡框就生成了。

这种方法的优点是所有浏览器都支持,缺点是比较麻烦,必须制作专门的图片,增加多余的标签,代码的灵活性较小。

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

随着CSS3的出现,现在有了更好的方法,不需要任何背景图片和多余的标签,就能生成漂亮的文本框。

请看新方法发明人Nicolas Gallagher制作的范例:


由于这种方法用到了CSS3,所以IE6不支持,IE7和IE8无法显示圆角效果。其他浏览器的最新版本,都能够正常显示。

还是以前面的代码为例。

  <blockquote class="bubble">床前明月光,疑是地上霜。</blockquote>

第一步,生成基本的方框。

  .bubble{
position:relative;
padding:15px;
margin:1em 0em 3em;
width:300px;
line-height:1.2;
text-align:center;
color:#fff;
background:#075698;
}


第二步,生成圆角。

  .bubble{
-moz-border-radius:10px;
-webkit-border-radius:10px;
border-radius:10px;
}


第三步,制作线性渐变的效果。

  .bubble{
background:-webkit-gradient(linear, left top, left bottom, from(#f9d835), to(#f3961c));
background:-moz-linear-gradient(top, #f9d835, #f3961c);
background:-o-linear-gradient(top, #f9d835, #f3961c);
background:linear-gradient(top, #f9d835, #f3961c);
}


第四步,在容器后面添加一个空元素,并将长度和宽度都设为0。

  .bubble:after {
content:"\00a0";
width:0;
height:0;
}

第五步,指定这个空元素为块级元素,并且四个边框之中,只显示上方的边框,其他三个边框,都设为透明。因为该元素的大小为0,所以它的每一个边框,都是一个等腰三角形。

  .bubble:after{
display:block;
border-style:solid;
border-width:15px;
border-color:#f3961c transparent transparent transparent;
}

这时,已经可以看见这个三角形了(其实是一个上边框)。


第六步,指定空元素的定位方式为absolute。然后,以容器元素的左下角为基点,将空元素水平右移一定的距离(这里是50像素),再垂直下移两个边界的距离。(由于第五步将空元素的边界设为15像素,所以这里就是下移30像素。)

  .bubble:after{
position:absolute;
z-index:-1;
bottom:-30px;
left:50px;
}

至此,一个不需要任何背景图片和多余标签的气泡框,就出现在我们眼前了。


灵活处理空元素的边框,或者改变大小,或者生成圆角,或者将两个空元素的边框重叠,就会产生各种各样的变化。具体的效果和代码,请参考Nicolas Gallagher的范例页。

(完)

时间: 2024-08-30 10:45:46

制作CSS气泡框的相关文章

CSS设计网页教程:制作网页气泡状文本框

气泡对话框在网页中经常用于说明提示等功能,可以形象生动的现实一些需要用户注意的文字与内容,本文介绍仅用CSS来实现这种简单的网页效果. 气泡状文本框,是一种很生动的网页设计手段. 它可以用来表示用户的发言. 也可以用来作为特定信息的提示符. DVD租借网站Netflix,还用它显示碟片的详细信息. ========================= 制作CSS气泡框的传统方法,需要5张背景图片,分别是: * tl.gif,左上方的圆角. * tr.gif,右上方的圆角. * bl.gif,左下方

自己动手丰衣足食之气泡框和三角形

气泡框(或者提示框)是网页中一种很常见的元素,大多用来展示提示信息,如下图所示: 拆分来看,形如这种气泡框无外乎就是一个矩形框+一个指示方向的三角形小箭头,要制作出这样的气泡框,如果解决了三角形小箭头就容易了.一种方法就是制作这样一个三角形箭头的图片,然后定位在矩形框上.但这种解决办法在后期更改气泡框会很不方便,可能每修改一次气泡框都要重新制作一个三角形小图标.如果我们能够直接用HTML和CSS代码实现这样一个三角形小箭头一切都迎刃而解了. 首先我们来看一下border这个属性,当我们把一个di

css实现气泡框效果(实例加图解)_CSS/HTML

前提:气泡框或者提示框是网页很常见的,实现它的方式有很多,我们以前最常用的就是切图片 然后通过 "定位" 方式 定位到相应的位置,但是用这种方式维护很麻烦,比如设计师想改成另外一种或者另外一种颜色 那我们只有再次切图片等.下面我们来学习下使用html+css来实现这种效果! 如下效果:    and   我们可以来分析下:要实现这种效果 无外乎就是一个矩形和一个小三角形 然后三角形定位上去就可以了,那么我们怎么样通过css来制作小三角形呢? 一:首先我们来看看css border属性,

制作网页新闻框:CSS相对与绝对的方法

文章简介:CSS使用相对与绝对制作常用新闻框,JQuery附加标题前标点. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>

使用jquery制作弹出框效果_jquery

非常不错的国产JS弹出框插件,由前端工程师alien开发,提供多种类型的自定义对话框,使用方法简单,浏览器兼容性好,支持的弹出框模式有: alert:普通提示(警告)对话框 confirm:询问(确认)对话框 message:简单消息对话框(无title.无按钮) iframe:在对话框中嵌入一个iframe tip:带有小三角指向的小tip dialog:最基础的自定义对话框 var jDialogId = []; (function ($) { $.jDialog = function (o

CSS3圆角气泡框,评论对话框

<title>CSS3圆角气泡框,评论对话框</title> <style> body { padding:0; margin:0; font:1em/1.4 Cambria, Georgia, sans-serif; color:#333; background:#fff; } a:link, a:visited { border-bottom:1px solid #c55500; text-decoration:none; color:#c55500; } a:vi

网站制作css书写规范

1. 代码缩进与格式: 建议网站制作单行书写, 可根据自身习惯, 后期优化i会统一处理;     2. 协作开发及分工: i会根据各个模块, 同时根据页面相似程序, 事先写好大体框架文件, 分配给前端人员实现内部结构&表现&行为; 共用css文件base.css由i书写, 协作开发过程中, 每个页面请务必都要引入, 此文件包含reset及头部底部样式, 此文件不可随意修改;     3. class与id的使用: id是唯一的并是父级的, class是可以重复的并是子级的, 所以id仅使用

Word怎样制作下拉框

  Word中制作下拉框步骤1 :打开Word软件,现在我们来制作一个选择国籍的下拉框. Word中制作下拉框步骤2: 现在把光标移动到后面的括号里面,选择菜单栏"开发工具". Word中制作下拉框步骤3: 选择控件中的"组合框"按钮,如图所示. Word中制作下拉框步骤4 :现在括号里面出现了控件,单击菜单栏中的"属性"按钮. Word中制作下拉框步骤5 :在打开的"内容控件属性"对话框中输入标题,如图所示. Word中制作

气泡框 动态监控-怎么在页面上自动弹出提示信息

问题描述 怎么在页面上自动弹出提示信息 需要实现在页面上动态弹出一个气泡框能够动态监控数据库中的数据,求哪位大神帮帮忙!!!