※結果としては添付画像のようなことがしたいです。
<div id="wrap">
<p>こんにちわ</p>
</div>
上記のhtmlにて、wrapのcssを
width:100%;
height:100%;
background:#fff;
などとして、全画面に白い枠をかけ、
jQueryにて下記を掛けて、透過90%にし、背景にあるものをうっすらすかせて見せてます。
$("#wrap").fadeTo(1000,0.9);
※fadeToは第一引数でミリ秒。第二引数で透明度を設定(0は透明、1は不透明)
その際にpタグは透かせたくなく、透過100%にさせたいのです。
$("#wrap p").fadeTo(1000,1.0);
としてもpの部分は90%の透過のまま
ためしに、第二引数を2.0とかにしても変化ないです。
外側のwrap要素を90%の透過にし、
内側のp要素を不透過にするにはどうすればよいのでしょうか?
お教えいただければと思います。よろしくお願いいたします。
#wrapに透過処理をしてしまうと、その下の階層すべてに影響してしまいます。
なので、#wrapの下に#fadeなどを設けて#wrapの代わりに透過させてやればよいと思います。
HTML
<div id="wrap"> <div id="fade"></div> <p>こんにちは</p> </div>
CSS
#wrap { width: 100%; height: 100%; } #fade { position: absolute; width: 100%; height: 100%; background-color: #fff; } #wrap p { position: relative; background-color: #fff; }
Javascript
$("#fade").fadeTo(1000,0.9);
回答ありがとうございます。
透明化させてる要素の中でいくら足掻いてもだめだったって事ですね。おっしゃるとおり兄弟要素にして、解決できました!
ありがとうございました。