div 下中心后的绝对位置

Position absolute after center under div

我对绝对位置后有疑问。我无法在 div 之后将内容居中。我的代码:enter link description here

我检查了其他 post 但不幸的是他们没有帮助我。

.nav {
  height: 20px;
}
.w {
  border: 1px solid red;
  color: red;
  display: inline-block;
  padding: 15px;
  height: 20px;
}
.e:after {
  content: "W";
  display: block;
  position: absolute;
  line-height: 0;
  margin: 0 auto;
  bottom: 350px;
  border: 1px solid blue;
  height: 20px;
  width: 20px;
  text-align: center;
}
<nav class="nav">
  <ul class="q">
    <li class="w">
      <a href="" class="e">Testttttt</a>
    </li>

    <li class="w">
      <a href="" class="e">Testtttttttttt</a>
    </li>

    <li class="w">
      <a href="" class="e">Testttttttttttttttt</a>
    </li>

    <li class="w">
      <a href="" class="e">Test</a>
    </li>
  </ul>
</nav>

只需将 text-align: center; 添加到 css

中的导航 class

.nav {
  height: 20px;
  text-align: center;
}

.w {
  border: 1px solid red;
  color: red;
  display: inline-block;
  padding: 15px;
  height: 20px;
}

.e:after {
  content: "W";
  display: block;
  position: absolute;
  line-height: 0;
  margin: 0 auto;
  bottom: 350px;
  border: 1px solid blue;
  height: 20px;
  width: 20px;
  text-align: center;
}
<nav class="nav">
  <ul class="q">
    <li class="w">
      <a href="" class="e">Testttttt</a>
    </li>

    <li class="w">
      <a href="" class="e">Testtttttttttt</a>
    </li>

    <li class="w">
      <a href="" class="e">Testttttttttttttttt</a>
    </li>

    <li class="w">
      <a href="" class="e">Test</a>
    </li>
  </ul>
</nav>

我相信您想要将 :after 伪元素居中。在将 position:absolute 分配给元素后,您不能将元素与 text-align:center 居中。您必须使用左、右位置以及负边距。试试这个代码。

.e{
  position: relative;
}
.e:after {
  content: "W";
  display: block;
  position: absolute;
  line-height: 0;
  bottom: -50px;
  border: 1px solid blue;
  height: 20px;
  width: 20px;
  left: 50%;
  margin-left: -10px;
}