Пользовательское позиционирование Primefaces для определенного p:growl
Я использую PrimeFaces 3.3.1. Я могу настроить growls по:
.ui-growl {
position:absolute;
top:50%;
left:50%;
z-index:9999;
}
но он настраивает все рычание. Мне нужно настроить только один конкретный <p:growl>
. Я имею в виду, я хочу поместить только одно рычание в центр, а все остальное в верхний правый угол. Как это сделать?
спасибо.
1 ответов
как вы можете видеть из сгенерированного HTML growl
компонент не держит ваши фактические данные growl. Сообщение, которое появляется в углу, удерживается элементом div:
<div id="your_growl_id + _container">
таким образом, правильный селектор css для growl будет:
div[id="growlForm1:growlCenter_container"] {}
(Я предполагаю, что ваши компоненты growl помещены в ту же форму). Наконец, как вы отметили в своем посте, если у вас есть два компонента рычать на странице:
<h:form id="growlForm1">
<p:growl id="growlCenter" showDetail="true" sticky="true" />
<p:growl id="growlRight" showDetail="true" sticky="true" />
</h:form>
просто назначьте нужные свойства css для центрированные и нецентрированные контейнеры growl:
div[id="growlForm1:growlRight_container"] {
position:absolute;
top:20px;
}
div[id="growlForm1:growlCenter_container"] {
position:absolute;
top:20px;
left:40%;
}
обратите внимание, что вы можете использовать prependId="false"
атрибут <h:form/>
. Это упростило бы селекторы css. но рекомендуется не использовать это, см. UIForm с prependId=" false " breaks