Colocar ícone em botão

7 respostas
E

Não estou conseguindo colocar um ícone em um botão.

Criei o estilo:

<style type="text/css">
      .imagemConfirmar {
             background-image: url("resources/images/confirmar.png");
      }
</style>

E fiz o botão do PrimeFaces:

<p:button value="Confirmar" style="width:120px;" image="imagemConfirmar"/>

Mas o ícone não aparece no botão. Usando o componente baixo o ícone aparece normalmente:

<h:graphicImage url="resources/images/confirmar.png"/>

7 Respostas

Hebert_Coelho

<p:button value=“Confirmar” style=“width:120px;” image=“imagemConfirmar”/>

É pq o “image” não é estilo, mas sim o arquivo em si.

E

jakefrog:
<p:button value=“Confirmar” style=“width:120px;” image=“imagemConfirmar”/>

É pq o “image” não é estilo, mas sim o arquivo em si.

Mas estou tentando isto e também não funciona:

<p:button value="Confirmar" 
    style="width:120px;"
    image="resources/images/confirmar.png"/>
Hebert_Coelho

Tenta com “/resources/images/confirmar.png”.

Esse trem de página é uma chatisse mesmo.

E

jakefrog:
Tenta com “/resources/images/confirmar.png”.

Esse trem de página é uma chatisse mesmo.

Não funciona, já tentei todas as combinações possíveis e imagináveis de caminho e não funciona.

G

Coloque assim:

.ui-state-default .imagemConfirmar {  
    background-image: url("resources/images/confirmar.png");  
}
E

Granella:
Coloque assim:

.ui-state-default .imagemConfirmar { background-image: url("resources/images/confirmar.png"); }

Granella, muito obrigado, funcionou. De onde você tirou isto? Olha o exemplo da própria documentação do Primefaces:

&lt;p:button outcome="target" image="star" value="With Icon"/&gt;

.star {
background-image: url("images/star.png");
}
G
eliflavio:
Granella:
Coloque assim:
.ui-state-default .imagemConfirmar {  
    background-image: url("resources/images/confirmar.png");  
}

Granella, muito obrigado, funcionou. De onde você tirou isto? Olha o exemplo da própria documentação do Primefaces:

&lt;p:button outcome="target" image="star" value="With Icon"/&gt;

.star {
background-image: url("images/star.png");
}

O Primefaces usa o padrão dos temas do jQuery UI, com isso você tem que modificar algumas classes css default do tema que esta usando para fazer essas personalizações. Para saber o que adicionar nas classes css utilizo o "inspect element" do Chrome para ver o que devo adicionar, pode usar também o Firebug.

Ja sofri com isso porque tive que personalizar o tema das mensagens do primefaces modificando cores e imagens :lol:

Criado 25 de novembro de 2011
Ultima resposta 25 de nov. de 2011
Respostas 7
Participantes 3