好的,这需要做一些事情,但我想我有一个开始:
http://jsfiddle.net/uLDzA/2/
这里的主要问题是您不能只将 ARROW 设置为透明,因为菜单 div 将具有某种纯色,不会让透明渗透到主背景。
我通过将菜单项分解为顶部和底部来解决这个问题。顶部有文本,底部是这样构造的,以便我们“模拟”中间部分的三角形并给它一个透明的背景。
基本上,通过像 CSS 拼图一样将箭头拼凑在一起,将箭头构建到菜单项本身中。
<div class="con">
<div class="item">
<div class="item_top">
top
</div>
<div class="item_btm">
<div class="item_btm_lft"> </div>
<div class="item_btm_ptr"> </div>
<div class="item_btm_rgt"> </div>
</div>
</div>
</div>
.con {
width:100px;
height:40px;
padding:20px;
background:url('http://placekitten.com/g/100/100');
}
.item {
width:100px;
background:transparent;
}
.item_top {
background:orange;
text-align:center;
color:#fff
}
.item_btm {
width:100%;
overflow:hidden;
}
.item_btm_lft {
width:40px;
float:left;
background:orange;
border-bottom:2px solid orange;
}
.item_btm_ptr {
width: 0px;
height: 0px;
float:left;
border-style: solid;
border-width: 0 10px 20px 10px;
border-color: transparent orange transparent orange;
}
.item_btm_rgt {
width:40px;
float:left;
background:orange;
border-bottom:2px solid orange;
}