CSSДобавление наложения на теле, за исключением элемента
.myoverlay
{
position: absolute;
background-color: rgba(0, 0, 0, 0.7);
top: 0;
left: 0;
bottom: 0;
right: 0;
opacity: 0.5;
}
HTML
<html>
<head></head>
<body>
<div id="MyDiv">
//some content
</div>
</body>
</html>
JQuery
$(function(){
$("body").not('#MyDiv').addClass("myoverlay");
});
Здесь я хочу, чтобы применить overla y к телу, кроме MyDiv. В приведенном выше коде применяется наложение для полного тела, включая MyDiv.
Я думаю, что лучшим решением было бы получить положение «div» и установить его абсолютное над телом. Затем вы можете применить класс overlay к телу (или к специальному элементу оверлея) и просто сохранить div, который хотите выделить над ним. –
Если вы также добавляете элемент-заполнитель, в котором использовался исходный элемент, то вы также сохраняете макет. Пример: http://jsfiddle.net/3fzLA/ (обратите внимание, что кнопка все еще отображается под синим квадратом). –
Какой 'div'? Какой браузер вы используете? –