2013-04-30 42 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*/ 
}