<p style="text-align: center">
无论是提示框还是导航栏都能看到如上图所示的带有箭头的框框,这种箭头可以通过背景图片或者是css来实现,本文介绍三种通过css实现带箭头的提示框。
1.通过border属性
思路:两个三角形,通过定位使两个三角形相差1px作为边框。
2.CSS3 transfrom
思路:先做一个两条边相同颜色的正方形,然后旋转一定角度就是三角形了
3.特殊字符'♦'
思路:特殊字符漏出上半部分,看上去就像三角形了
一、通过border属性:
我们先做一个宽和高都是10px的div,边框也是10px,
如下图:
图中间空白是我们设置的宽和高,如果设置为0px,会出现什么情况呢?,如下图:
这时候我们就可以通过设置它的左右和下边框的颜色都设成透明或和背景颜色相同的颜色,就出来我们想要的三角形了。如下图:
现在我们来实现第一幅图上的效果:
css:
Box-shadow:1px 2px 3px #E9D985;
border:1px solid #DACE7C;
border-radius:4px;
text-align:center;
color:red;
}
.nav {
position:absolute;
left:30px;
overflow:hidden;
width:0;
height:0;
border-width:10px;
border-style:solid dashed dashed dashed;
}
.nav-border {
top:-20px;
border-color:transparent transparent #DACE7C transparent;
}
.nav-background {
top:-19px;
border-color:transparent transparent #F6F1B3 transparent;
}
html:
提示信息
二、CSS3 transfrom
我们首先制作一个两条相邻的边框颜色相同,其他两条边边框为0px的div方框。如图:
css:
Box-shadow :1px 2px 3px #E9D985;
border :1px solid #DACE7C;
border-radius :4px;
text-align :center;
color :red;
}
.nav {
position :absolute;
top :-8px;
left :30px;
overflow :hidden;
width :13px;
height :13px;
background :#F6F1B3;
border-left :1px solid #DACE7C;
border-top :1px solid #DACE7C;
-webkit-transform :rotate(45deg);
-moz-transform :rotate(45deg);
-o-transform :rotate(45deg);
transform :rotate(45deg);
}
html:
提示信息
三、特殊字符'♦'
'♦'是一个特殊字符,也就相当于一个字,所以大小是通过font-size来设置,实现第一幅图的效果:
css:
Box-shadow:1px 2px 3px #E9D985;
border:1px solid #DACE7C;
border-radius:4px;
text-align:center;
color:red;
}
.nav {
position:absolute;
left:30px;
overflow:hidden;
width:24px;
height:24px;
font:normal 24px "微软雅黑";
}
.nav-border {
top:-17px;
color:#DACE7C;
}
.nav-background {
top:-16px;
color:#F6F1B3;
}