Если у вас есть modal
внутри content
div, не так уж и сложно, вы можете попробовать этот HTML:
<div id = "content">
<div id="modal"></div>
</div>
... с этим CSS:
#modal {
width: 300px;
height: 300px;
background-color: red;
position: absolute;
top: 50%;
left: 50%;
margin-left: -150px;
margin-top: -150px;
}
#content {
position: absolute;
width: 550px;
height: 550px;
background-color: green;
}
Демо
По сути, вы абсолютно позиционируете дивизион modal
внутри дивизиона content
и говорите, чтобы он начинался с 50% сверху и 50% слева. Это будет центрировать верхний левый угол modal
, но не div в целом. Чтобы центрировать div в целом, вам нужно добавить отрицательное поле, чтобы переместить его вверх и влево. Величина отрицательного поля равна половине высоты / ширины modal
div.
Если вы хотите сохранить тот же HTML, вы все равно можете выполнить то же самое, используя эту технику, просто убедитесь, что вы сделали position: relative
на вашем replace
div, чтобы любые absolute
дочерние позиции ly были расположены относительно к этому.