2008-11-19 50 views
11

我正在處理.NET Web應用程序,並在其中使用CalendarExtender控件來讓用戶指定日期。出於某種原因,當我點擊圖標來顯示日曆時,背景似乎是透明的。爲什麼我的CalendarExtender在呈現時會重疊?

我在其他頁面上使用擴展程序,不會遇到此問題。

我不確定它是否值得一提,但日曆嵌套在附有圓角擴展器的面板以及它下面的面板(「From」重疊處)。

在該面板中,我確實有一個div佈局設置來創建兩列。

編輯:另外要注意的是,名稱和「佔位符」的暱稱的部分都是ASP.NET標籤控件,如果這很重要。

+0

我遇到了同樣的問題。在常規的Web窗體上,日曆以正確的背景彈出。在彈出的對話框中,日曆是透明的。我已經嘗試了這裏列出的每一個建議,他們都沒有解決我的問題。任何人有任何額外的建議?我的css:.MyCalendar .ajax__calendar_container { \t border:1px solid#646464; \t background-color:#D3DEEF; \t顏色:#003366; \t溢出:可見!重要; position:absolute; \t 知名度:可見;顯示:塊; \t z-index:10000; } – CoolBreeze 2018-02-07 15:27:52

回答

24

所以更多地捅了一下,我發現了這個問題。部分問題是由於我設置創建兩個單獨列的div佈局使用位置:relative和float:right/left屬性。

從我讀過的內容中,只要開始增加div標籤的位置屬性,它就會影響渲染的z-index,當日歷控件動態地「彈出」時,這隻會變得複雜。

不幸的是,除非您想爲日曆編寫完整的樣式,而我不想這樣做,否則CalendarExtender沒有Z​​-Index屬性。但是,您可以通過添加以下到你的CSS文件擴展默認的樣式:

.ajax__calendar_container { z-index : 1000 ; } 

如果你不使用一個CSS文件,你還可以添加到您的網頁的頭一節:

<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; 
} 

...並希望這會爲你工作。

0

這對我來說看起來並不透明,它看起來像是在渲染其他元素「背後」。 你有任何物品指定的「z-index」嗎?

+0

沒有在佈局中指定的Z-Index,但我想知道是否可能會對頁面上的渲染順序有影響嗎?如果我在Z-Index中插入日曆,我應該在日曆上還是下面的div標籤中移動它? – 2008-11-19 15:34:43

+0

很難說,沒有看到HTML和戳穿calendarextend。我可能會使用FireBug玩,看看有什麼作用。 – 2008-11-19 15:59:10

0

我有一個類似的問題,我固定的字段集

如果你有

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

那麼AJAX彈出彈出的第二個字段集下,固定設置的z-index在z指數第一個字段集高於第二個字段集,即如下所示。

<fieldset style="z-index: 2;"> some content... including ajax popup </fieldset> 
<fieldset style="z-index: 1;"> some more content </fieldset> 
3

唯一辦法,我已經找到了解決的IE7的問題對一些額外的CSS添加到我是有問題的頁面。z-indexing或div包裝和重新造型都沒有效果。

以下內容會更改控件堆疊上下文。

.ajax__calendar_container 
{ 
    position:static; 
} 

這確實會導致日曆彈出窗口垂直顯示在擴展器控件上方,而不是像平常那樣垂直顯示。對我來說那是可以接受的。

0

如果這些問題的答案不能正常工作,它可能是與隱藏溢出問題。這可以解決使用以下css:

.ajax__scroll_none { 
    overflow: visible !important; 
    z-index: 10000 !important; 
} 
相關問題