如何将css :: before伪元素排成一个网格

Jon*_*nny 4 html css

是否有一种方法,仅使用css,排列多行元素(以及我的示例中的锚点),以便"before"位和"anchor"位并排出现,就好像在网格中一样.

>   i am a test link
    which goes over
    multiple lines

与此结果相反(希望将其展示在之前的内容之下).

a::before {
  content: ">";
  padding-right: 20px;
}

div {
  width: 150px;
}
Run Code Online (Sandbox Code Playgroud)
<div>
   <a href="#">i am a test link which goes over multiple lines</a>
</div>
Run Code Online (Sandbox Code Playgroud)

Pau*_*e_D 9

display:table/table-cell 很好地工作.

a::before {
  content: ">";
  padding-right: 20px;
}
div {
  width: 150px;
  margin: 1em;
  border: 1px solid grey;
}

/* relevant stuff */
a {
  display: table;
  text-decoration: none;
}
a::before {
  display: table-cell;
  vertical-align: middle;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <a href="#">i am a test link which goes over multiple lines</a>
</div>
Run Code Online (Sandbox Code Playgroud)

或者受到Nenad Vracar最初答案Flexbox的启发

a::before {
  content: ">";
  padding-right: 20px;
}
div {
  width: 150px;
  border: 1px solid grey;
  margin: 1em;
}

/* relevant stuff */
a {
  display: flex;
  align-items: center;
  text-decoration: none;
}
Run Code Online (Sandbox Code Playgroud)
<div>
  <a href="#">i am a test link which goes over multiple lines</a>
</div>
Run Code Online (Sandbox Code Playgroud)