1

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

我正在使用Richfaces 日历输入日期范围。

这是网页上的代码。

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

以下是 Firefox 中的结果。

替代文字 http://img16.imageshack.us/img16/3717/richcalendar.png

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

4

1 回答 1

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,请为其创建一个类。

于 2009-07-10T17:37:36.933 回答