2013-04-30 68 views
1

我与primefaces工作,我用日历和自动完成Primefaces风格上的<span>代替<input>

我得到了从UI设计师,并开始整合在屏幕上时,我分配的样式像这样

<p:calendar styleClass="xyz" /> 

输出

<span id="bla" class="xyz" > 
    <input type="text" class="some other classes here" /> 
</span> 

所以我的风格都失败

现在我需要输入应用样式,而不是直接的跨度

回答

4

,你可以通过重新安排你的CSS?:

.xyz input { 
/* some weird styling here */ 
} 
+0

它不是一个解决方案...只是设计师将更新他的原型,我将需要复制和粘贴每一个变化到我的CSS ..这是解决方案提出他们的问题跟踪器和问题被关闭为“不被修复” – 2013-04-30 12:47:57

+2

马克的答案是正确的,它实际上是解决方案。替代方法是重写.ui-inputfield.hasDatepicker css选择器。 – 2013-04-30 13:12:37

+0

好吧,那很好..现在我脑海中的所有解决方法谢谢大家 – 2013-04-30 14:21:18

1

如果依靠引导CSS例如这是问题的解决。表单控件需要类form-control,但是当您为p:calendar添加styleClass="form-control"时,周围的跨度获取类而不是输入,这完全混淆了设计。我认为p:calendar标签应该有inputStyleClass属性,也有tableStyleClass标签。

0

这为我工作使用jQuery表单控件类添加到输入字段:

$(".mycalendar input:first-child").addClass("form-control"); 

p:calendar id="date1" value="#{bean.date1}" styleClass="mycalendar" /> 
-1

你可以,如果你使用的材质设计用这一招:

:host /deep/ .ui-inputtext{ 
    /* Your Crazy Custom Style*/ 
}