如何仅将 css 网格中的一项向右对齐?

时间:2021-01-27 11:09:11

标签: html css css-position css-grid

 div {
      display:grid;
      grid-template-columns: repeat(2,1fr);
      width: 300px;
      background-color: lightyellow;
    }

    .left {
      grid-column: 1/2;
      visibility: hidden;
    }
    .left:before {
    content: "<";
    visibility: visible;
    width: 50px;
    }

    .right {
      grid-column: 2/3;
      visibility: hidden;
    }
    .right:before {
    content: "<";
    visibility: visible;
    width: 50px;
    }
    <div>
      <a class="left" href="#"> Left </a>
      <a class="right" href="#"> Right </a>
    </div>

如何使 .right 位于网格右侧? 所以像这样。我不能在 text-align: right; 元素上使用 :before,因为它没有任何作用。

enter image description here

3 个答案:

答案 0 :(得分:0)

您只需要添加text-align: right;

div {
  display:grid;
  grid-template-columns: repeat(2,1fr);
  width: 300px;
}

.left {
  grid-column: 1/2;
}

.right {
  grid-column: 2/3;
  text-align: right;
  background-color: red;
}
<div>
  <a class="left" href="#"> Left </a>
  <a class="right" href="#"> Right </a>
</div>

答案 1 :(得分:0)

使用 after 表示右箭头:

div {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 300px;
  background-color: lightyellow;
}

.left {
  grid-column: 1/2;
  visibility: hidden;
}

.left:before {
  content: "<";
  visibility: visible;
}

.right {
  grid-column: 2/3;
  visibility: hidden;
  text-align:right;
}

.right:after {
  content: ">";
  visibility: visible;
}
<div>
  <a class="left" href="#"> Left </a>
  <a class="right" href="#"> Right </a>
</div>

答案 2 :(得分:-1)

考虑使用 Flexbox 然后 align-self :)

也很容易理解逻辑: https://flexboxfroggy.com/