边界底部和边界图像问题

时间:2014-07-19 13:17:24

标签: html css

我对border-bottom和border-image有一些问题。据我所知,我可以为我的边框设置一个图像,在这种情况下我希望图像是:

enter image description here

然而,我没有得到图像,它只是保持正常的3px边框,并且已经指定了颜色。而且似乎没有考虑图像。

任何人都可以指出我正确的方向(检查bootply):

http://www.bootply.com/G5LTvI8YR9

3 个答案:

答案 0 :(得分:3)

您只能在不使用任何css

的情况下通过image执行此操作

Demo

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;
}