html - div 之前伪显示之后的 css

标签 html css

我试图用 css 做简单的箭头,当我使用 after 时,元素显示在 div 之前。为什么会这样?

div {
  width: 400px;
  height: 40px;
  background: #000;
  margin-top: 3em;
}
div:after {
  content: '';
  display:inline-block;
  width: 0;
  height: 0;
  border-style: solid;
  border-width: 20px 0 20px 40px;
  border-color: transparent transparent transparent #7B98B5;
}

    <div></div>

http://plnkr.co/edit/SkUY5ygufCdXXpRdSQl5?p=preview

最佳答案

我会确保包括:

div {
    ...
    position: relative;
}
div:after {
    ....
    position: absolute;
    left: 100%;
}

更新了您的 Plunker(以前从未听说过该网站):http://plnkr.co/edit/7oXVgqEBLBuoYLDsRlEM?p=preview

关于html - div 之前伪显示之后的 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27450703/

相关文章:

javascript - 滚动时如何使 <li> 元素固定在 <ul> 元素的顶部和底部

javascript - 面临滚动问题

css - 具有 3 个背景的容器,绝对 div 为父级的 100% 高度

html - 我有两个垂直 div,但第二个 div 的可变高度导致第一个 div 本身错位

html - 使用 flex 设计 mat-table

html - Chrome 和 Firefox 很快就会支持指针事件(压力、倾斜、触摸等)吗?

html - 使用 CSS 在 div 中定位 anchor 标记

javascript - 如何通过第二次单击取消选中单选按钮

javascript - anchor 标记到页面中间

css - 如何更改 Twitter 的 Bootstrap CSS 的颜色?