タスクにはasp.netajaxツールキットを使用する必要があります。私が行っているのは、更新の進行状況コントロールがトリガーされたときに画面全体にdivを表示することです。メインのdiv(画面全体をカバーする)には不透明度がありますが、このdiv内にdivを配置しようとすると、何も設定していなくても不透明度が高くなります。
HTMLの例:
<ProgressTemplate>
<div class="updateProgressBox">
<div class="updateProgressMessage">
<p>Processing request..</p>
</div>
</div>
</ProgressTemplate>
そしてCSS:
.updateProgressBox {
top: 0px;
height: 100%;
background-color:Gray;
opacity:0.7;
filter:alpha(opacity=70);
vertical-align: middle;
left: 0px;
z-index: 999999;
width: 100%;
position: absolute;
text-align: center;
}
.updateProgressMessage {
border: black 2px solid;
background-color: #fff;
z-index: 1000000;
padding: 20px;
opacity:1.0;
filter:alpha(opacity=100);
margin: 300px auto auto auto;
font-weight: bold;
vertical-align: middle;
width: 200px;
text-align: center
}
メッセージ付きのdivに透明度がなく、背景色が白になるようにするにはどうすればよいですか?
この問題を解決するには、親div background: rgba(64, 64, 64, 0.5)
でRGBAバックグラウンドプロパティを使用します。 64、64、64はRGBカラー値です。 0.5は不透明度の値です。これで、親は子に継承されない独自の不透明度値を持つことができます。これは、FireFox、Opera、Chrome、Safari、IE9で完全にサポートされています。
IE 5.5から8をサポートするには、ベンダー固有のCSS 'グラデーションフィルターを使用する必要があります:'したがって、これを追加する必要があります。
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7f404040, endColorstr=#7f404040);
ここで、7fは127を表します。つまり、不透明度は50%で、色は404040です。
これを実現するには、不透明度によって親要素自体内のすべての子ノードのアルファチャネルが変更されるため、背景自体にRGBAカラーを使用する必要があります。例えば。
.div {
background-color: rgba(255,0,0, .5);
}