Как удалить границу из конкретных PrimeFaces p: panelGrid?
у меня есть трудности в удалении границы из конкретных PrimeFaces <p:panelGrid>.
<p:panelGrid styleClass="companyHeaderGrid">
<p:row>
<p:column>
Some tags
</p:column>
<p:column>
Some tags
</p:column>
</p:row>
</p:panelGrid>
мне удалось удалить границу из ячеек с помощью:
.companyHeaderGrid td {
border: none;
}
но
.companyHeaderGrid {
border: none;
}
не работает.
14 ответов:
граница установлена на сгенерированном
trиtdэлементов, а не наtable. Итак, это:.companyHeaderGrid.ui-panelgrid>*>tr, .companyHeaderGrid.ui-panelgrid .ui-panelgrid-cell { border: none; }как я его нашел? Просто проверьте сгенерированный вывод HTML и все правила стиля CSS в наборе инструментов webdeveloper Chrome (rightclick,Проинспектировать Элемент или нажмите F12). Firebug и IE9 имеют аналогичный набор инструментов. Что касается путаницы, просто имейте в виду, что JSF/Facelets в конечном итоге генерирует HTML и что CSS применяется только к разметке HTML, а не на исходном коде JSF. Поэтому, чтобы применить / finetune CSS, вам нужно посмотреть на стороне клиента (webbrowser).
Читайте также:
- как я могу переопределить значение по умолчанию на основе схемы PrimeFaces CSS с пользовательские стили?
- удалить границу из всех PrimeFaces P: panelGrid components
если вы все еще на PrimeFaces 4 или старше, используйте вместо этого:
.companyHeaderGrid.ui-panelgrid>*>tr, .companyHeaderGrid.ui-panelgrid>*>tr>td { border: none; }
Я использую Primefaces 6.0 и для того, чтобы удалить границы из моей панели сетки я использую этот класс стиля "ui-noborder" следующим образом:
<p:panelGrid columns="3" styleClass="ui-noborder"> <!--panel grid contents --> </p:panelGrid>он использует css-файл с именем "компоненты" в primefaces lib
Если BalusC ответ не работает, попробуйте этот:
.companyHeaderGrid td { border-style: hidden !important; }
Если вы найдете строку между столбцами, то используйте приведенный ниже код,
.panelNoBorder, .panelNoBorder tr, .panelNoBorder td{ border: hidden; border-color: white; }Я проверил это с помощью Primefaces 5.1
<h:head> <title>Login Page</title> <h:outputStylesheet library="css" name="common.css"/> </h:head> <p:panelGrid id="loginPanel" columns="3" styleClass="panelNoBorder"> <p:outputLabel value="Username"/> <p:inputText id="loginTextUsername"/> <p:outputLabel value="Password"/> <p:password id="loginPassword"/> <p:commandButton id="loginButtonLogin" value="Login"/> <p:commandButton id="loginButtonClear" value="Clear"/> </p:panelGrid>
Сейчас, Primefaces 5.у x есть атрибут в panelGrid с именем "columnClasses".
.no-border { border-style: hidden !important ; /* or none */} Итак, к panelGrid с 2 столбцами, повторите два раза класс css.
<p:panelGrid columns="2" columnClasses="no-border, no-border">к другим элементам, уродливым"!важно " не надо, но до границы как раз с этим мне нормально работать.
просто добавьте эти строки в свой пользовательский css mycss.css
table tbody .ui-widget-content { background: none repeat scroll 0 0 #FFFFFF; border: 0 solid #FFFFFF; color: #333333; }
как упоминалось BalusC, граница устанавливается PrimeFaces на сгенерированном
trиtdэлементов, а не наtable. Однако при попытке с PrimeFaces версии 5, похоже, есть более конкретное совпадение с PrimeFaces CSS.ui-panelgrid .ui-panelgrid-cell > solidкоторые по-прежнему приводят к появлению черных границ при применении предложенного стиля.попробуйте использовать следующий стиль для того, чтобы переопределить Primefaces один без использования
!importantобъявления:.companyHeaderGrid tr, .companyHeaderGrid td.ui-panelgrid-cell { border: none; }как учтите, убедитесь, что ваш CSS загружается после PrimeFaces one.
Если вы просто хотите что-то более простое, вы можете просто изменить:
<p:panelGrid > </p:panelGrid>to:
<h:panelGrid border="0"> </h:panelGrid>это отлично сработало для меня
для меня работает только следующий код
.noBorder tr { border-width: 0 ; } .ui-panelgrid td{ border-width: 0 } <p:panelGrid id="userFormFields" columns="2" styleClass="noBorder" > </p:panelGrid>
чтобы традиционные, а также все современные темы не имели границ, примените следующее;
<!--No Border on PanelGrid--> <h:outputStylesheet> .ui-panelgrid, .ui-panelgrid td, .ui-panelgrid tr, .ui-panelgrid tbody tr td { border: none !important; border-style: none !important; border-width: 0px !important; } </h:outputStylesheet>
используйте ниже изменение стиля, чтобы удалить границу для Primefaces переключатель
.ui-selectoneradio td, .ui-selectoneradio tr { border-style: none !important }

Comments