В то время как важно, возможно, сделать это вы, вероятно, следует переопределить файлы ThemeBuilder CSS. Просмотрите руководство по интерфейсам в разделе «Как использовать пользовательскую таблицу стилей». Поверхности в основном построены на jQueryUI http://jqueryui.com/, поэтому переопределите его. (Кроме того, вы можете просто качать специальную тему, которая часто является лучшим выбором).
Просто найдите время, чтобы посмотреть на него, и если вам действительно нужен пользовательский компонент, вы можете построить стандартную библиотеку и настроить ее. Поскольку вы имеете дело с jQuery для начала, это простое обновление.
В ответ
Я думаю, что лучший маршрут может быть просто использовать стандартную кнопку и сделать составной компонент. Это полностью зависит от того, как часто вы его используете, насколько важно это для сайта и что вам нужно делать. В основном jQueryUI будет отображать кнопку и интервал, но из-за того, как сгруппированы перфорированные элементы, вы будете применять стили к OUTSIDE, поэтому внутреннее правило не будет применяться.
Таким образом, я хотел бы сделать пользовательский компонент вдоль линий ->
<h:commandButton styleClass="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only ui-state-hover" style="${myOverridesHere}">
<p:ajax event="click" ... etc... read the manual/>
</h:commandButton>
Конечного результата является то, что вы добавляете «Аякс» в CommandButton через API Primefaces (который живет наверх стандартного API JSF2. У меня не было необходимости специально проверять это на данный момент, но я уверен, что некоторые варианты этого будут делать то, что вам нужно, не заставляя важный каскад, который обычно является плохой практикой.) Для записи , вам нужны стили jQueryUI на странице, чтобы это работало (очевидно).
Надеется, что это помогает
Каков фактический выход html для компонента?Кроме того, существует ли таблица стилей по умолчанию для PrimeFaces, и если да, то что содержится в ней? – ScottS
PrimeFaces основан на системе JQuery и довольно сложный. Firebug показывает мне, что мой стиль применяется, а затем переопределяется. На этот вопрос, вероятно, ответит тот, кто знает, как PrimeFaces использует JQuery. – AlanObject
Firebug также должен сообщать вам, какой переключатель его переопределяет. Это будет ключом к поиску решения вашей проблемы css. Скорее всего, он переопределяется селектором с более высоким приоритетом (включает в себя и «id» или другой «класс» в сочетании с чем-то другим) или один определенный _after_ ваш «класс» в порядке загрузки страницы css. – ScottS