我对border-bottom和border-image有一些问题。据我所知,我可以为我的边框设置一个图像,在这种情况下我希望图像是:
然而,我没有得到图像,它只是保持正常的3px边框,并且已经指定了颜色。而且似乎没有考虑图像。
任何人都可以指出我正确的方向(检查bootply):
答案 0 :(得分:3)
您只能在不使用任何css
image
执行此操作
ul.nav a:hover {
position: relative;
border-bottom: 4px solid #f39385;
}
ul.nav a:hover:after, ul.nav a:hover:before {
bottom: 0px;
left: 50%;
border: solid transparent;
content: " ";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
ul.nav a:hover:after {
border-color: rgba(243, 147, 133, 0);
border-bottom-color: #f39385;
border-width: 3px;
margin-left: -3px;
}
ul.nav a:hover:before {
border-color: rgba(243, 147, 133, 0);
border-bottom-color: #f39385;
border-width: 6px;
margin-left: -6px;
}
答案 1 :(得分:2)
在您的情况下,在悬停状态下使用背景图像比使用边框图像要简单得多。
我根据你的bootply编写了这个例子,它应该显示你要找的东西(背景图片就是你发布的那个,你可能需要调整它并删除它左边和右边未使用的白色部分,以便三角形居中):
<强> DEMO 强>
CSS:
a:hover {
color: #f39385!important;
background: url(http://i.stack.imgur.com/fIzS3.png) right bottom no-repeat;}
a {
text-transform: uppercase;
color: #b9b9b9;
font-size: 11px;
padding-bottom: 30px;
width:112px;
display:inline-block;
text-align:center;
}
答案 2 :(得分:0)
如果您对CSS解决方案感兴趣,请点击 FIDDLE 。
<span class="border"></span>
.border {
position: relative;
display: block;
width: 70px;
background: #f0745f;
border: 4px solid #f0745f;
}
.border:before,
.border:after {
bottom: 100%;
left: 50%;
border: solid transparent;
content: "";
height: 0;
width: 0;
position: absolute;
pointer-events: none;
}
.border:before {
border-color: transparent;
border-bottom-color: #f0745f;
border-width: 10px;
margin-left: -10px;
}
.border:after {
border-color: transparent;
border-bottom-color: #f0745f;
border-width: 4px;
margin-left: -4px;
}