Ваш подход работает. width: 100%
не требуется, так как ваш элемент #window
имеет блочный уровень (поэтому будет иметь ширину уже 100%). Что касается высоты, она вам понадобится, так как неопределенный height
будет основан на содержимом элемента #window
. Указав height: 100%
, высота вашего элемента #window
будет основана на содержащем блоке, что позволяет overflow
работать.
Итак, из того, что я могу сказать, нет ничего плохого в вашем подходе.
В другом ответе упоминается position: fixed
, но, основываясь на вашем вопросе / требованиях, я думаю, position: absolute
- правильный подход. position: absolute
будет относиться к предку со значением позиции, отличным от значения по умолчанию (то есть position: static
), и, таким образом, ваш #overlay
будет относительно #parent
)