用CSS来制作无图片带箭头的DIV方框(此代码比较适合追求纯代码者)KHEHTML5中文学习网 - HTML5先行者学习网
这类效果也可以用图片背景来实现,代码会更简洁KHEHTML5中文学习网 - HTML5先行者学习网
CSS代码:KHEHTML5中文学习网 - HTML5先行者学习网
CSS Code复制内容到剪贴板KHEHTML5中文学习网 - HTML5先行者学习网
div.container{position:absolute;KHEHTML5中文学习网 - HTML5先行者学习网
top:30px;KHEHTML5中文学习网 - HTML5先行者学习网
left:40px;KHEHTML5中文学习网 - HTML5先行者学习网
font-size: 9pt;KHEHTML5中文学习网 - HTML5先行者学习网
display:block;KHEHTML5中文学习网 - HTML5先行者学习网
height:100px;KHEHTML5中文学习网 - HTML5先行者学习网
width:200px;KHEHTML5中文学习网 - HTML5先行者学习网
background-color:transparent;KHEHTML5中文学习网 - HTML5先行者学习网
*border:1px solid #666;KHEHTML5中文学习网 - HTML5先行者学习网
}KHEHTML5中文学习网 - HTML5先行者学习网
s{KHEHTML5中文学习网 - HTML5先行者学习网
position:absolute;KHEHTML5中文学习网 - HTML5先行者学习网
top:-20px;KHEHTML5中文学习网 - HTML5先行者学习网
*top:-22px;KHEHTML5中文学习网 - HTML5先行者学习网
left:20px;KHEHTML5中文学习网 - HTML5先行者学习网
display:block;KHEHTML5中文学习网 - HTML5先行者学习网
height:0;KHEHTML5中文学习网 - HTML5先行者学习网
width:0;KHEHTML5中文学习网 - HTML5先行者学习网
font-size: 0;KHEHTML5中文学习网 - HTML5先行者学习网
line-height: 0;KHEHTML5中文学习网 - HTML5先行者学习网
border-color:transparent transparent #666 transparent;KHEHTML5中文学习网 - HTML5先行者学习网
border-style:dashed dashed solid dashed;KHEHTML5中文学习网 - HTML5先行者学习网
border-width:10px;KHEHTML5中文学习网 - HTML5先行者学习网
}KHEHTML5中文学习网 - HTML5先行者学习网
i{position:absolute;KHEHTML5中文学习网 - HTML5先行者学习网
top:-9px;KHEHTML5中文学习网 - HTML5先行者学习网
*top:-9px;KHEHTML5中文学习网 - HTML5先行者学习网
left:-10px;KHEHTML5中文学习网 - HTML5先行者学习网
display:block;KHEHTML5中文学习网 - HTML5先行者学习网
height:0;KHEHTML5中文学习网 - HTML5先行者学习网
width:0;KHEHTML5中文学习网 - HTML5先行者学习网
font-size: 0;KHEHTML5中文学习网 - HTML5先行者学习网
line-height: 0;KHEHTML5中文学习网 - HTML5先行者学习网
border-color:transparent transparent #fff transparent;KHEHTML5中文学习网 - HTML5先行者学习网
border-style:dashed dashed solid dashed;KHEHTML5中文学习网 - HTML5先行者学习网
border-width:10px;KHEHTML5中文学习网 - HTML5先行者学习网
}KHEHTML5中文学习网 - HTML5先行者学习网
.content{KHEHTML5中文学习网 - HTML5先行者学习网
border:1px solid #666;KHEHTML5中文学习网 - HTML5先行者学习网
-moz-border-radius:3px;KHEHTML5中文学习网 - HTML5先行者学习网
-webkit-border-radius:3px;KHEHTML5中文学习网 - HTML5先行者学习网
position:absolute;KHEHTML5中文学习网 - HTML5先行者学习网
background-color:#fff;KHEHTML5中文学习网 - HTML5先行者学习网
width:100%;KHEHTML5中文学习网 - HTML5先行者学习网
height:100%;KHEHTML5中文学习网 - HTML5先行者学习网
padding:5px;KHEHTML5中文学习网 - HTML5先行者学习网
*top:-2px;KHEHTML5中文学习网 - HTML5先行者学习网
*border-top:1px solid #666;KHEHTML5中文学习网 - HTML5先行者学习网
*border-top:1px solid #666;KHEHTML5中文学习网 - HTML5先行者学习网
*border-left:none;KHEHTML5中文学习网 - HTML5先行者学习网
*border-right:none;KHEHTML5中文学习网 - HTML5先行者学习网
*height:102px;KHEHTML5中文学习网 - HTML5先行者学习网
box-shadow: 3px 3px 4px #999;KHEHTML5中文学习网 - HTML5先行者学习网
-moz-box-shadow: 3px 3px 4px #999;KHEHTML5中文学习网 - HTML5先行者学习网
-webkit-box-shadow: 3px 3px 4px #999;KHEHTML5中文学习网 - HTML5先行者学习网
/* For IE 5.5 - 7 */KHEHTML5中文学习网 - HTML5先行者学习网
filter: progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#999999');KHEHTML5中文学习网 - HTML5先行者学习网
/* For IE 8 */KHEHTML5中文学习网 - HTML5先行者学习网
-ms-filter: "progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color='#999999')";KHEHTML5中文学习网 - HTML5先行者学习网
}KHEHTML5中文学习网 - HTML5先行者学习网
HTML代码:KHEHTML5中文学习网 - HTML5先行者学习网
XML/HTML Code复制内容到剪贴板KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
这是框中的文字,可动态显示。高度自动增加,应该不错吧^_^KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
效果图:KHEHTML5中文学习网 - HTML5先行者学习网

这次介绍下CSS制作三角箭头KHEHTML5中文学习网 - HTML5先行者学习网

通常,我们做上图那个三角形,一般都是做张图,而且需要两张,因为一般都是下拉菜单的效果,需要有个hover的样式,箭头是反的。那是不是有更好的办法呢,毕竟要用两张图片来解决这么一个小问题太浪费资源了,于是,下面我要用纯CSS的方法来解决这一问题,用到的只需css的一个属性,就是border-widthKHEHTML5中文学习网 - HTML5先行者学习网
我们先来看个样式,如果设置元素边框,会怎么样:KHEHTML5中文学习网 - HTML5先行者学习网

似乎看不出什么,让我给四个边框加上不同的颜色吧再看看吧:KHEHTML5中文学习网 - HTML5先行者学习网

是不是发现了些什么?对,让我们把中间的文字去掉吧:KHEHTML5中文学习网 - HTML5先行者学习网

这样,就出现4个三角形了,然后我们如果需要顶部那个三角形,只需要将border的left、right、bottom设置成背景色就行了:KHEHTML5中文学习网 - HTML5先行者学习网

这样,我们需要的三角形就出现了,并且可以设置4个不同方向的了:KHEHTML5中文学习网 - HTML5先行者学习网

样式代码很简单,就几句话:KHEHTML5中文学习网 - HTML5先行者学习网
CSS Code复制内容到剪贴板KHEHTML5中文学习网 - HTML5先行者学习网
float: left;KHEHTML5中文学习网 - HTML5先行者学习网
border-style: solid; border-width: 10px;KHEHTML5中文学习网 - HTML5先行者学习网
border-color: #000 #ccc #ccc #ccc;KHEHTML5中文学习网 - HTML5先行者学习网
height: 0;KHEHTML5中文学习网 - HTML5先行者学习网
width: 0;KHEHTML5中文学习网 - HTML5先行者学习网
font-size: 0;KHEHTML5中文学习网 - HTML5先行者学习网
实际应用KHEHTML5中文学习网 - HTML5先行者学习网
比如我们要使用向下的箭头(兼容IE6写法)KHEHTML5中文学习网 - HTML5先行者学习网
HTML代码:KHEHTML5中文学习网 - HTML5先行者学习网
XML/HTML Code复制内容到剪贴板KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
KHEHTML5中文学习网 - HTML5先行者学习网
CSS代码:KHEHTML5中文学习网 - HTML5先行者学习网
CSS Code复制内容到剪贴板KHEHTML5中文学习网 - HTML5先行者学习网
.demo{position:relative}KHEHTML5中文学习网 - HTML5先行者学习网
.bottombottom-arrow{KHEHTML5中文学习网 - HTML5先行者学习网
position:absolute;KHEHTML5中文学习网 - HTML5先行者学习网
top:10px;KHEHTML5中文学习网 - HTML5先行者学习网
left:0px;KHEHTML5中文学习网 - HTML5先行者学习网
border-style:solid;KHEHTML5中文学习网 - HTML5先行者学习网
border-width:100px;KHEHTML5中文学习网 - HTML5先行者学习网
border-color:#000000 transparent transparent transparent;/*上边框设置想要的颜色*/KHEHTML5中文学习网 - HTML5先行者学习网
height:0;KHEHTML5中文学习网 - HTML5先行者学习网
width:0;KHEHTML5中文学习网 - HTML5先行者学习网
font-size:0;KHEHTML5中文学习网 - HTML5先行者学习网
_border-color:#000000 tomato tomato tomato ; /*边框透明色 For IE6-*/KHEHTML5中文学习网 - HTML5先行者学习网
_filter:chroma(color=tomato);/*边框透明色 For IE6-*/KHEHTML5中文学习网 - HTML5先行者学习网
}KHEHTML5中文学习网 - HTML5先行者学习网
说明:KHEHTML5中文学习网 - HTML5先行者学习网
这里的演示是用了边框透明色,如果你用不到透明的话,直接设置border-color为你需要的颜色就可以了,免去为了兼容IE6的透明边框滤镜写法KHEHTML5中文学习网 - HTML5先行者学习网
Chroma属性可以设置一个对象中指定的颜色为透明色,它的表达式如下:KHEHTML5中文学习网 - HTML5先行者学习网
CSS Code复制内容到剪贴板KHEHTML5中文学习网 - HTML5先行者学习网
Filter:Chroma(color=color)KHEHTML5中文学习网 - HTML5先行者学习网
这个属性的表达式是不是很简单,它只有一个参数。只需把您想要指定透明的颜色用Color参数设置出来就可以了。