Dúvida Facelets

6 respostas
S

Olá!

É possivel isolar o CSS do facelets?
explico melhor, tenho um template que tem um CSS e uma pagina que tem outro CSS. quando aplico o template na página os dois CSS’s funcionam em ambos, tanto no template quanto na pagina, fazendo com que ambos fiquem feios.

é possivel fazer com que o CSS do template funcione apenas no template e o CSS da pagina funcione apenas na pagina?

6 Respostas

tmvolpato

você pode criar N arquivos CSS e deixar todos no template
as mudanças serão aplicadas aonde você inserir o id(s) ou class(s) nas pag(s).

caso o efeito do css nao esteja sendo aplicado

você precisa aplica !important

ex;

#menu{ width: 100px !important; }

S

então… é exatamente isso que eu nao quero que aconteça.

no template tenho o x.css e na pagina tenho y.css, eu nao quero o x.css estilize a pagina, e nem o y.css estilize o template.

isso é possivel?

tmvolpato

é sim
foi como eu falei
se vc utiliza facelets, a melhor coisa eh deixar todos nele é claro q nao precisa criar vários arq. css
você que defini aonde o css vai ser usado na paginas

pelo id ou pelo styleClass do jsf no seu caso

faça alguns testes

Hebert_Coelho

Você pode sobrescrever pela tag Style.

Outra coisa que você pode tentar fazer é importar o outro arquivo CSS apenas na página que sobrescrever.

Aqui mostra como importar css utilizando o recurso de libraries do JSF: JSF Mini Livro - Dicas, conceitos e boas práticas.

S

entendi…
mas meu problema é o seguinte, tenho uma pagina que so tem um menu(primefaces) esse menu é inserido no template. o css do template e do menu eu msm fiz.
o problema é que o css das paginas eu baixei do site do Jquery(CSS customizado).

mas mesmo eu colocacado la no meu menu:

<p:menubar  styleClass="menuHorizontal">

ele usa os dois css’s. por que o css do jquery se aplica no menu tbm.
para resolver isso eu teria que editar todo o css do jquery, trocar o “ui-menu, ui-input” por “pagina-menu, pagina-input”.
so que isso vai dar muito trabalho.
teria outra solução?
algo que faça com que o css das paginas se apliquem apenas nelas?

S

Hebert Coelho:
Você pode sobrescrever pela tag Style.

Outra coisa que você pode tentar fazer é importar o outro arquivo CSS apenas na página que sobrescrever.

Aqui mostra como importar css utilizando o recurso de libraries do JSF: JSF Mini Livro - Dicas, conceitos e boas práticas.

vou da uma olhada e posto se deu certo.

Criado 3 de outubro de 2012
Ultima resposta 3 de out. de 2012
Respostas 6
Participantes 3