如何将多行文本与为 :before 设置的背景图像垂直对齐

Pra*_*V P 3 html css vertical-alignment pseudo-element

我有一个元素列表,其中添加了图标作为:before. 标题长度较大时出现在图像下方的文本。

在此处输入图片说明

我怎样才能在咨询下面加上服务这个词?

li>a {
  position: relative;
  display: block;
}

.submenu-icon:before {
  content: "";
  margin-right: 0px;
  background: url(/sites/all/themes/bootstrap_cck/images/sprites.png) no-repeat;
  background-size: 40em;
  background-position: -250px -184px;
  padding: 15px 40px 12px 15px;
  display: inline-block;
  vertical-align: middle;
  line-height: 47px;
  width: 55px;
  height: 47px;
}
Run Code Online (Sandbox Code Playgroud)
<li class="first">
  <a href="Consultancy-professional-services" class="submenu-icon">Consultancy & Professional Services  </a>
</li>
Run Code Online (Sandbox Code Playgroud)

Nen*_*car 5

您可以display: flexa元素上使用。

a {
  align-items: center;
  display: flex;
  width: 300px;
  border: 1px solid black;
}

.submenu-icon:before {
  content: "PSEUDO";
  padding: 20px;
}
Run Code Online (Sandbox Code Playgroud)
<a href="Consultancy-professional-services" class="submenu-icon">Consultancy & Professional Services  </a>
Run Code Online (Sandbox Code Playgroud)

或者使用背景图像,它应该是这样的。

a {
  align-items: center;
  display: flex;
  width: 300px;
  border: 1px solid black;
}
.submenu-icon:before {
  content: "";
  background: url('http://images2.wikia.nocookie.net/__cb20100211112757/dexter/de/images/2/27/System-search.png') no-repeat;
  width: 40px;
  height: 40px;
  background-size: contain;
  margin: 15px;
}
Run Code Online (Sandbox Code Playgroud)
<a href="Consultancy-professional-services" class="submenu-icon">Consultancy & Professional Services  </a>
Run Code Online (Sandbox Code Playgroud)