Я бы порекомендовал использовать:
.ui-widget {
font-size: 90%;
}
.ui-widget .ui-widget {
font-size: 100%;
}
вместо подхода BalusC, если только не понравится размер шрифта уменьшается, когда вы вкладываете компоненты JSF вместе.
Я бы согласился с BalusC, что вы должны создать таблицу стилей и рассмотреть возможность создания шаблонов, но я не согласен с предлагаемым CSS (хотя я до сих пор не решил использовать !important
!).
В разделе 8.4 руководства пользователя Primefaces 3.1 предлагается использовать
.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-widget
s, размер шрифта будет уменьшаться. Попробуйте следующую (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-widget
с.
По умолчанию обычно используются следующие стили:
.ui-widget { font-family: Verdana,Arial,sans-serif; font-size: 1.1em; }
.ui-widget .ui-widget { font-size: 1em; }
Без стиля, определенного для .ui-widget .ui-widget
, стиль font-size: 1.1em
по умолчанию, применяемый к .ui-widget
, приводит к увеличению размера шрифта во вложенных ui-widget
с.
Добавив более конкретный селектор .ui-widget .ui-widget
с размером шрифта, установленным на 100% (или 1em), вы получите постоянный размер шрифта, независимо от того, насколько глубоко вы вложите свои компоненты.