Вы должны установить #overlay
div следующим образом:
#overlay {
width: 100%;
height: 100%;
position:fixed;
z-index: 1000;
background: rgba(255, 255, 255, 0.7)
}
Полупрозрачное наложение белого фона будет иметь тот же эффект, что и уменьшение непрозрачности тела.В качестве альтернативы вы можете использовать полупрозрачное фоновое изображение размером 1 на 1 пиксель .png вместо rgba.
Затем вы можете использовать другой div внутри #overlay, который будет центрировать форму:
#overlay .inner {
width: 200px;
height: 200px;
position: absolute;
top: 50%;
left: 50%;
margin: -100px 0 0 -100px
}
Таким образом, вам не нужно беспокоиться об изменении CSS любого другого элемента.
Чтобы прокомментировать подход, который вы упомянули в своем ответе:
Насколько я понимаю, ваш текущий код говорит: "найдите любой элемент тела, у которого нет идентификатора" overlay ", и добавьтекласс 'suppress' "... другими словами, not () применяется только к набору соответствующих элементов.Если вы хотите изменить непрозрачность всех элементов , кроме #overlay, вы можете сделать следующее:
<body>
<div id="overlay">
overlay stuff in here
</div>
<div id="other-content">
All page content in here
</div>
</body>
$(document).ready(function(){
$('#other-content').addClass('suppress');
});