rich:日历图标不显示在与显示框相同的行上

时间:2009-07-10 14:47:20

标签: richfaces

我有一个使用Java Server Faces和Facelets的基于Java的Web应用程序。

我正在使用richfaces calendar输入日期范围。

以下是网页上的代码。

<h:panelGroup>
    <fieldset>
        <legend>Date Submitted</legend>
        <rich:calendar value="#{SearchBean.start_dateSubmitted}" />
        <rich:calendar value="#{SearchBean.end_dateSubmitted}" />
    </fieldset>
</h:panelGroup>

以下是Firefox中的结果。

alt text http://img16.imageshack.us/img16/3717/richcalendar.png

所以,我的问题是图标在下一行,而不是与显示框在同一行。

1 个答案:

答案 0 :(得分:1)

解决方案:

图像html标签有一般css设置。

img {
    display: block;
}

由于富日历由输入和图像组成,因此它们以块形式显示,将两者放在不同的行上。

我不能只取出css的行,因为它会对Web应用程序的其余部分产生不良影响。因此,必须使用以下代码css代码覆盖它。

img.rich-calendar-button {
    display: inline;
}

但是,现在将所有四个元素放在一行上。要解决此问题,您需要像这样阻止整个丰富的日历。

<h:panelGroup>
    <fieldset>
       <legend>Date Submitted</legend>
       <a4j:outputPanel layout="block">
           <rich:calendar value="#{TicketSearchBean.start_dateSubmitted}" />
       </a4j:outputPanel>
        <a4j:outputPanel layout="block">
            <rich:calendar value="#{TicketSearchBean.end_dateSubmitted}" />
        </a4j:outputPanel>
    </fieldset>
</h:panelGroup>

更好的解决方案:不要在通用html标记上设置css。如果你想在某些东西上设置特殊的css,那就为它创建一个类。