按钮后添加箭头内容的问题

时间:2015-11-16 20:35:41

标签: css css3

请您看看这个演示,让我知道为什么我无法在按钮后添加箭头内容

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css');
.btn-warning:after{
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  margin-top: -13px;
  border-left: 0;
  border-bottom: 13px solid transparent;
  border-top: 13px solid transparent;
  border-left: 10px solid #5A55A3;
}
   <div class="container">
<button class="btn btn-warning">Button With Arraow out<br /> This is Test</button>
</div>

1 个答案:

答案 0 :(得分:6)

箭头正好在页面右侧(注意水平滚动条)。它相对于文档绝对定位,left:100%将其放置在页面的右边缘。您似乎希望箭头相对于按钮元素本身绝对定位。

绝对定位将元素“放置在相对于其最近定位的祖先或包含块的指定位置”。 (参见absolute position @ MDN。)因此按钮本身需要“定位”。

在我的示例中,我在按钮元素中添加了position:relative,使其成为“定位的祖先”。

@import url('https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css');

.btn-warning {
  position: relative;
}

.btn-warning:after {
  content: '';
  position: absolute;
  left: 100%;
  top: 50%;
  margin-top: -13px;
  border-left: 0;
  border-bottom: 13px solid transparent;
  border-top: 13px solid transparent;
  border-left: 10px solid #5A55A3;
}
<div class="container">
  <button class="btn btn-warning">Button With Arraow out<br />This is Test</button>
</div>