11

私は.NETWebアプリケーションで作業しており、その中でCalendarExtenderコントロールを使用して、ユーザーに日付を指定させています。どういうわけか、アイコンをクリックしてカレンダーを表示すると、背景が透明に見えます。

他のページでエクステンダーを使用していますが、この問題は発生しません。

言及する価値があるかどうかはわかりませんが、カレンダーは、角の丸いエクステンダーが取り付けられたパネルと、その下のパネル(「From」が重なっている場所)内にネストされています。

そのパネル内に、2つの列を作成するためのdivレイアウト設定があります。

編集:ここで注意すべきもう1つの点は、ニックネームの名前と「プレースホルダー」があるセクションは、重要な場合はすべてASP.NETラベルコントロールであるということです。

4

6 に答える 6

25

それで、もう少し突っ込んで、問題を理解しました。問題の一部は、2 つの個別の列を作成するために設定した div レイアウトが position:relative および float:right/left 属性を使用しているという事実から生じます。

私が読んだことから、div タグの位置属性を拡張し始めるとすぐに、レンダリングの z-index に影響します。これは、カレンダー コントロールが動的に「ポップアップ」している場合にのみ複雑になります。

残念ながら、CalendarExtender には Z-Index 属性がありません。ただし、カレンダーのスタイル全体を書きたい場合を除きます。これは私がしたくありません。ただし、CSS ファイルに以下を追加することで、デフォルトのスタイルを拡張できます。

.ajax__calendar_container { z-index : 1000 ; }

CSS ファイルを使用していない場合は、これをページの head セクションに追加することもできます。

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

それでうまくいくはずです。それは私のために働いた。

なんらかの理由でこれが機能しない場合 (一部の人々はまだ問題を報告しています)、もう少し「積極的な」アプローチは、入力フィールドと CalendarExtender を DIV タグでラップし、CSS ファイル / HEAD セクションに次を追加することでした。 :

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

...そしてうまくいけば、それはあなたのために働くでしょう。

于 2008-11-20T19:48:07.207 に答える
3

IE7 でこの問題を解決するために私が見つけた唯一の方法は、問題が発生していたページに追加の CSS を追加することでしたz-indexing や div の折り返し、再スタイリングの効果はありませんでした。

以下は、コントロールのスタック コンテキストを変更します。

.ajax__calendar_container
{
    position:static;
}

これにより、カレンダー ポップアップがエクステンダー コントロールの垂直方向の下ではなく、垂直方向の上に表示されます。私にとって、それは許容範囲でした。

于 2013-02-12T13:11:40.893 に答える
0

それは私には透明に見えません、それは他の要素の「後ろ」にレンダリングしているように見えます。アイテムに「z-index」を指定していますか?

于 2008-11-19T15:31:05.153 に答える