我建议使用:
.ui-widget {
font-size: 90%;
}
.ui-widget .ui-widget {
font-size: 100%;
}
而不是 BalusC 的方法,除非您喜欢当您将 JSF 组件嵌套在一起时字体大小会减小。
我同意 BalusC 的观点,即您应该创建一个样式表并考虑模板化,但我不同意所建议的 CSS(尽管我还没有决定使用 !important!)。
Primefaces 3.1 user guide 的第 8.4 节建议使用
.ui-widget, .ui-widget .ui-widget {
font-size: 90% !important;
}
类似于 BalusC 的建议,但使用 !important。
这将做两件事:
- 将
ui-widget类组件的字体大小设置为90%
(父母的)
- 用
ui-widget设置组件的字体大小
类 和 是另一个组件的子组件,ui-widget
上课至 90%(父母的)
您真的要将嵌套ui-widget 的字体大小设置为 90% 吗?如果您有 2 或 3 层嵌套的 ui-widgets,字体大小将不断减小。试试下面的(Primefaces)JSF 标记,你就会明白我的意思了。
<h:form>
<p:button value="Normal"></p:button>
<p:panel>
<p:button value="A bit smaller"></p:button>
<p:panel>
<p:button value="Even smaller again"></p:button>
<p:panel>
<p:button value="Tiny"></p:button>
</p:panel>
</p:panel>
</p:panel>
</h:form>
我相信标准 jQuery CSS 中需要.ui-widget .ui-widget 的原因是为了防止出现相反的问题:嵌套ui-widgets 中的字体大小增加。
默认样式通常如下:
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
如果没有为.ui-widget .ui-widget 定义的样式,则应用于.ui-widget 的默认font-size: 1.1em 样式会导致嵌套ui-widgets 中的字体大小增加。
通过添加更具体的 .ui-widget .ui-widget 选择器并将字体大小设置为 100%(或 1em),您将确保获得一致的字体大小,无论您将组件嵌套多深。