‹h:inputText› включено/выключено - изменить цвет фона

могу ли я изменить цвет фона для отключенного <h:inputText>?

Я пытался сделать так:

<h:inputText value="test" disabled="true" styleClass="input"/>

css содержит:

input:disabled {background-color:blue;}
input:enabled {background-color:red;}

и результат:

введите здесь описание изображения

Причина, по которой я пытаюсь изменить фон, заключается в том, что, поскольку я установил богатые лица, отключенные и включенные, имеют один и тот же цвет, оба белые

Спасибо

ОБНОВЛЕНИЕ:

введите здесь описание изображения

HTML:

<td class="width10">Směna:</td>
<td class="width15"><input name="bde:j_idt100" value="2011-05-18-S2" size="13" style="background-color: blue; color: red;" disabled="disabled" type="text"><input id="bde:shift" name="bde:shift" type="hidden"></td>
<td><input name="bde:j_idt102" value="ranní" class="input2" size="13" disabled="disabled" type="text"><input name="bde:j_idt103" value="admin" class="input2" size="13" disabled="disabled" type="text"></td>
</tr>
<tr class="rowEven">
<td class="width5"><input id="bde:f1" name="bde:f1" value="F1" tabindex="2" title="Novy pracovnik - vymaze vsechna pole formulare" class="btninput" type="submit"></td>
<td class="width10">Pracovník:</td>
<td class="width15">
<input id="bde:worker" name="bde:worker" class="input" size="13" tabindex="1" onblur="jsf.util.chain(this,event,'mojarra.ab(this,event,\'blur\',\'@this\',\'bde:inputName\')','mojarra.ab(this,event,\'blur\',\'@this\',\'bde:inputSname\')','mojarra.ab(this,event,\'blur\',\'@this\',\'bde:inputDep\')','mojarra.ab(this,event,\'blur\',\'@this\',\'bde:reportErr\')')" type="text"></td>

Графические различия между сгенерированным кодом Richfaces и HTML:

введите здесь описание изображениявведите здесь описание изображения


person gaffcz    schedule 18.05.2011    source источник


Ответы (2)


причина, по которой я пытаюсь изменить фон, заключается в том, что, поскольку я установил Richfaces, отключенный и включенный, он имеет один и тот же цвет, оба белые

RichFaces поставляется с собственной базовым оформлением. В RichFaces 4.0 вы можете полностью отключить его с помощью следующих параметров контекста в web.xml.

Это отключает стандартные таблицы стилей скинов (см. главу 6.6.1 связанного руководства разработчика).

<context-param>
    <param-name>org.richfaces.enableControlSkinning</param-name>
    <param-value>false</param-value>
</context-param>

Это отключает специфичные для компонента таблицы стилей скинов (см. главу 6.6.2).

<context-param>
    <param-name>org.richfaces.enableControlSkinningClasses</param-name>
    <param-value>false</param-value>
</context-param>

Однако, если вы по какой-то причине не хотите отключать базовый скиннинг, а хотите переопределить конкретное свойство/свойства CSS, вам нужно указать именно это свойство/свойства в вашем собственном CSS. Используя Firebug, вы можете щелкнуть правой кнопкой мыши интересующий элемент и выбрать Проверить элемент, чтобы получить все определенные свойства CSS. в правой части нижней консоли.

В данном конкретном случае input имеет свойство background-image, указывающее на конкретный URL. Вам нужно переопределить его следующим образом:

input { 
    background-image: none;
}
person BalusC    schedule 18.05.2011
comment
Спасибо, вы правы, теперь я могу отключить скин. И если мне нужно только переопределить стиль ввода в моем css? Я не могу найти, где входы определены в Richfaces.. - person gaffcz; 18.05.2011
comment
Это файл skinning.ecss, который определяет базовый стиль. Проверьте еще раз с помощью Firebug. Щелкните правой кнопкой мыши элемент ввода, выберите Проверить элемент, справа вы увидите применяемые определения CSS. - person BalusC; 18.05.2011
comment
да, я нашел проблему: background-image: url(/PORTAL/rfRes/inputBackgroundImage.png.xhtml?v=4.0.0.Final&db=eAFjZL!AyMDN-P8!4!-P714C6f!!GZgAYeQKqw__&ln=org. богатые лица.изображения); Могу ли я сохранить параметр, отключенный fireBug? - person gaffcz; 18.05.2011
comment
Если вы по какой-то причине не хотите отключать skinning.ecss, вам нужно переопределить себя, определив background-image: none; в том же селекторе CSS, что и RichFaces (вероятно, только input {}?). - person BalusC; 18.05.2011
comment
Не могли бы вы расширить свой ответ предложением переопределения? - person gaffcz; 18.05.2011

Попробуйте с этим

<h:inputText value="test" disabled="disabled" style="background-color:blue; color:red;" />
person jmj    schedule 18.05.2011
comment
Благодарю вас! Но изменился только цвет текста, фон остался прежним :( - person gaffcz; 18.05.2011
comment
все тот же (пожалуйста, взгляните на новую картинку в моем посте) :) - person gaffcz; 18.05.2011
comment
Можете ли вы отправить мне сгенерированный HTML для этого - person jmj; 18.05.2011
comment
<input name="bde:j_idt100" value="2011-05-18-S2" size="13" style="background-color: blue; color: red;" disabled="disabled" type="text"> у меня работает .. Какой браузер вы используете, проверено в chrome 11.0.696.68, FF 4, IE 6 - person jmj; 18.05.2011
comment
ФФ4. HTML здесь тоже работает, но когда он сгенерирован из JSF, то нет... странно :-/ - person gaffcz; 18.05.2011
comment
Нет, это не так. Должна быть какая-то проблема со стилем, созданным Richfaces (sac или cssparser, я не понимаю, как это работает). Когда я копирую сгенерированный код в отдельный html-файл и запускаю его, он отлично работает! Когда я подключаю его с файлом css, он тоже работает, но без графического улучшения Richfaces.... - person gaffcz; 18.05.2011
comment
Я отредактировал свой пост - теперь вы можете увидеть разницу между сгенерированным Richfaces HTML и HTML-дизайном :) - person gaffcz; 18.05.2011
comment
есть ли какой-нибудь CSS, который RF применил к нему? - person jmj; 18.05.2011
comment
конечно, но я понятия не имею, где :] - person gaffcz; 18.05.2011
comment
поэтому мне нужно найти, где в стилях Richfaces определяется ввод текста ... в любом случае, спасибо, ваша помощь была полезной, потому что я не забыл проверить вывод с использованием HTML-кода :) - person gaffcz; 18.05.2011
comment
:) Ну ты еще можешь сделать одну вещь. загрузите jsf и проверьте его стиль с помощью firebug, а затем загрузите html и посмотрите, какой стиль применен. было бы намного проще - person jmj; 18.05.2011
comment
ага, я нашел ‹ссылку href=/PORTAL/rfRes/skinning.ecss.xhtml?db=eAHL6rC8BQAEkAIG rel=stylesheet type=text/css› с помощью fireBug (СПАСИБО!!!), и, кажется, это все. Он состоит из собственного стиля CSS для ввода..... - person gaffcz; 18.05.2011