css - 如何为两个不同的 Primefaces 组件使用自定义 CSS
问题描述
我想对两个不同但属于同一类型的组件使用两个不同的 CSS 规则。例如下面的代码是 primefaces 中面板网格的默认代码。我有两个不同的 panelGrids(gridOne 和 gridTwo),我希望它们可以有不同的 CSS。我曾尝试使用不同的 CSS 规则在 XHTML 代码中使用 styleClass,但有人可以给出提示。我已经阅读了 CSS specificity 文档,但我仍然有点困惑,因为两个网格最终共享相同的 CSS 规则(尤其是当我添加!important时)
.ui-panelgrid .ui-panelgrid-cell {
border-width: 1px;
border-style: solid;
border-color: inherit;
padding: 4px 10px;
}
.gridOne,.ui-panelgrid .ui-panelgrid-cell {
border-width: 1px;
border-style: solid;
border-color: red;
padding: 0px;
}
.gridOne,.ui-panelgrid .ui-panelgrid-cell, .gridOne {
border-width: 1px;
border-style: solid;
border-color: red;
padding: 0px;
}
}
.gridTwo,.ui-panelgrid .ui-panelgrid-cell {
border-width: 0px;
border-style: none;
border-color: none;
padding: 2px 5px;
}
.gridTwo,.ui-panelgrid .ui-panelgrid-cell,.gridTwo{
border-width: 0px;
border-style: none;
border-color: none;
padding: 2px 5px;
}
解决方案
您可以选择这样的特定课程
/* All elements with class="ui-panelgrid or ui-panelgrid-cell " */
.ui-panelgrid .ui-panelgrid-cell {
border-width: 1px;
border-style: solid;
border-color: inherit;
padding: 4px 10px;
}
/* All gridOne elements with class="ui-panelgrid or ui-panelgrid-cell " */
.gridOne.ui-panelgrid .ui-panelgrid-cell {
border-width: 1px;
border-style: solid;
border-color: red;
padding: 0px;
}
/* All gridTwo elements with class="ui-panelgrid or ui-panelgrid-cell " */
.gridTwo.ui-panelgrid .ui-panelgrid-cell {
border-width: 0px;
border-style: none;
border-color: none;
padding: 2px 5px;
}
推荐阅读
- reactjs - 在 Redux 中 Action 不会触发 reducer
- google-cloud-platform - Titan 安全密钥 - 我在哪里可以买到?
- sql-server - 填充 XML 路径列
- javascript - 是否有任何 Typescript 表达式 `A` 使得 `A` 的真实性与 `!!A` 不同?
- sql - 根据不同的条件选择行
- excel - VBA格式功能,自定义格式设置数字为百万,一个DP不起作用
- powershell - 我们是否需要在 powershell 框架中使用瞬态远程会话?
- css - 如何防止不透明边框继承元素的背景颜色?
- excel - 根据文件类型将文件保存到文件夹
- node.js - Slack im.open 返回 null