代码之家  ›  专栏  ›  技术社区  ›  Dillie-O

为什么我的CalendarExtender在渲染时会重叠?

  •  11
  • Dillie-O  · 技术社区  · 16 年前

    我在其他页面上使用扩展器,没有遇到这个问题。

    我不确定它是否值得一提,但日历嵌套在一个面板中,面板上连接了一个圆角延长线,以及它下面的面板(其中“From”重叠)。

    编辑:这里要注意的另一件事是,包含名称和昵称的“占位符”的部分都是ASP.NET标签控件(如果有必要的话)。

    6 回复  |  直到 13 年前
        1
  •  25
  •   Dillie-O    16 年前

    于是,我又四处闲逛,发现了问题所在。部分问题源于这样一个事实:用于创建两个独立列的div layout I设置使用了position:relative和float:right/left属性。

    从我读到的内容来看,一旦开始增加div标记的position属性,它就会影响渲染的z索引,只有当日历控件动态“弹出”时才会变得复杂。

    .ajax__calendar_container { z-index : 1000 ; }
    

    <style type="text/css">
       .ajax__calendar_container { z-index : 1000 ; }
    </style>
    

    这就应该奏效了。这对我有用。

    如果出于某种原因,这不起作用(有些人仍在报告问题),则更“激进”的方法是将输入字段和CalendarExtender包装在DIV标记中,然后将以下内容添加到CSS文件/标题部分:

    .ajax__calendar {
        position: relative;
        left: 0px !important;
        top: 0px !important;
        visibility: visible; display: block;
    }
    .ajax__calendar iframe
    {
        left: 0px !important;
        top: 0px !important;
    }
    

    …希望这对你有用。

        2
  •  3
  •   Bucket    11 年前

    我发现解决IE7问题的方法是在我遇到问题的页面上添加一些额外的CSS。再多的z索引或div包装和重新设置样式都没有效果。

    .ajax__calendar_container
    {
        position:static;
    }
    

    这确实会导致日历弹出窗口垂直显示在extender控件上方,而不是垂直显示在正常的下方。对我来说,这是可以接受的。

        3
  •  0
  •   kÍ©eÍ£mÍ®pÍ¥ Í© Sitam Jana    16 年前

    您是否为任何项目指定了“z索引”?

        4
  •  0
  •   Paul Rowland    15 年前

    如果你有

    <fieldset> some content... including ajax popup </fieldset>
    <fieldset> some more content </fieldset>
    

    <fieldset style="z-index: 2;"> some content... including ajax popup </fieldset>
    <fieldset style="z-index: 1;"> some more content </fieldset> 
    
        5
  •  0
  •   Carlos Rodrigues    11 年前

    我发现解决这个问题的唯一方法是为calendarExtender编写一些css规则。这对我有用。代码如下:

    https://gist.github.com/carlosmr12/5825371

        6
  •  0
  •   Gregor Primar    7 年前

    如果这些答案不能正常工作,则可能是隐藏溢出的问题。可以使用以下css解决此问题:

    .ajax__scroll_none {
        overflow: visible !important;
        z-index: 10000 !important;
    }