多くの実験とインターネットでの検索の後、css と jQuery に基づいた1 つの優れたソリューションを見つけました。body に追加の div を 1 つ追加すると、ページの不透明な背景のように動作する可能性があります。div は次のスタイルを使用します。
CSS:
.background {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: -1;
background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAHCAYAAADEUlfTAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsQAAA7EAZUrDhsAAAA0SURBVBhXY/wPBA6eZxnQwYHtxgyM9h5n/oMkQBwYgClmQpdA5oMlcQHCkugOgvEZ8bkWAHInGVYp48cTAAAAAElFTkSuQmCC);
/* These three lines are for transparency in all browsers. */
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";
filter: alpha(opacity=50);
opacity:.5;
}
JavaScript:
$(document).ready(function () {
$('a').hover(function(){
$('.background').css('opacity',0.2);
}, function(){
$('.background').css('opacity','');
});
});
HTML での統合の例:
<body>
<div class="content">Content<a href="">Link</a></div>
<div class="background"></div>
</body>
完全なテスト スクリプトはこちらです。