2011-12-20 1 views
1

я есть р: commandLink сцентрирование текста в виде изображения commandLink

.button{ 
    background-image: url(http://www.lefinnois.net/aqua/aqua1.jpg); 
    display:inline-block; 
    width:150; 
    height:50; 
} 
<p:commandLink update="media" value="Ok" 
    action="#{productView.save}" styleClass="button"> 
</p:commandLink> 

это нормально у меня есть кнопка изображаемого.

, но я хочу «Ok» текст взять на месте в середине изображения кнопки

, что ваши советы, я пытался что-то, но никакого ответа до сих пор.

Я думаю, что это должно быть возможно, если jsf является платформой пропрема для веб-сайтов.

решаемые

я должен добавить отступы к внешнему объекту, чтобы найти внутри объекта.

код в конце:

.button{ 
     background-image: url(http://www.lefinnois.net/aqua/aqua1.jpg); 
     display:inline-block; 
     text-align: center; 
     padding-top:10px;//you must set it according to the height of image 
     width:150; 
     height:50; 
    } 
+0

'padding-top' - плохой подход к центру по вертикали. Позиция зависит от размера шрифта. – BalusC

ответ

2

Установите CSS text-align свойства center и установить line-height на ту же высоту, как высота элемента:

text-align: center; 
line-height: 50px; 

Не забудьте зафиксировать ваш width и height значения, которые включают размеры.

width: 150px; 
height: 50px; 
+0

спасибо, но 'text-align: center;' центрируется только по горизонтали. – merveotesi

+0

Это правильно. Вы также хотите центрировать по вертикали? Вы не поняли это. Просто установите 'line-height' на ту же высоту, что и элемент. Я обновил ответ. – BalusC

+0

Если я правильно понимаю, я передаю значение 'height' в' line-height' и вертикально центрирует текст. я прав? – merveotesi