Как вертикально выровнять по центру фоновое изображение с текстом?

У меня проблемы с вертикальным выравниванием фонового изображения с текстом без назначения постоянных (и, следовательно, не автоматических и повторно используемых) значенийheight или жеline-height, Мне было интересно, если есть на самом деле способ вертикально выровнять по центру изображения BG, скажем, иa элемент, with its text without assigning constant values toвысота линииorheight`?

Демо-версия доступна здесь:http://cssdesk.com/8Jsx2.

Вот'с HTML:

<a class="">background-position: center</a>
<a class="contain">background-size: contain</a>
<a class="line-height">Constant line-height</a>

И здесь'с CSS:

a {
  display: block;
  margin: 10px;
  width: 200px;
  padding-left: 34px;
  font-size: 14px;  

  background: url('http://cdn1.iconfinder.com/data/icons/freeapplication/png/24x24/Thumbs%20up.png');  
  background-repeat: no-repeat;
  background-position: 5px center;

  border: 1px solid black;
}

/* I don't want to use constant line-height */
.line-height {
    line-height: 24px;
}

/* I don't want to use this, because I want my bg image's size to stay intact */
.contain {
    background-size: contain;   
}

Ответы на вопрос(3)

Ваш ответ на вопрос