代码之家  ›  专栏  ›  技术社区  ›  Berek Bryan

丰富:日历图标与显示框不显示在同一行上

  •  1
  • Berek Bryan  · 技术社区  · 16 年前

    我有一个使用Java服务器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 回复  |  直到 16 年前
        1
  •  1
  •   Berek Bryan    16 年前

    解决方案:

    img {
        display: block;
    }
    

    我不能仅仅去掉css这一行,因为它会对web应用程序的其余部分产生不良影响。因此,它必须被下面的css代码覆盖。

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

    然而,这现在将所有四个元素放在一行上。要解决这个问题,您需要像这样阻止整个rich日历。

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

    推荐文章