как настроить css на jsf

Пытаюсь настроить css стиль для тегов jsf (primefaces). Хочу настроить стиль для тега outputLabel т.е. что бы стиль действовал для всех тегов outputLabel.

css

outputLabel{
    cursor: pointer;
}

html

 <p:outputLabel for="someId" value="text" />

И такая конструкция не работает. Понимаю, что можно сделать

css

.myClass{
    cursor: pointer;
}

html

 <p:outputLabel for="someId" value="text" styleClass="myClass" />

И это работает. Но не хочу во всем документе каждому из тегов приписывать styleClass.


Ответы (1 шт):

Автор решения: bobzer

Нет такого тега в HTML - outputLabel, это компонент JSF, а не HTML. Соответственно, браузеры про него ничего не знают, и при обработке CSS не знают что с ним делать. Более того: тег outputLabel отсутствует на HTML-странице (см. в отладчике браузера), поэтому, даже если бы браузер его "понимал", то всё равно бы не нашёл. JSF при обработке тега outputLabel должен генерировать на странице тег <label>, и именно к нему следует применять стиль:

label {
    cursor: pointer;
}

PS. Рекомендую периодически смотреть в отладчике браузера то, что генерирует JSF при обработке страницы - это даст большее понимание спецификаций и фреймворков.

→ Ссылка