Поплавьте DIV поверх другого DIV

Недавно мне была назначена работа по копированию всплывающего окна JS, которое сделал наш предыдущий веб-разработчик. У меня это очень похоже, но есть одна вещь, которую я не могу получить, поскольку кнопка закрытия (X) плавает над всплывающим окном в верхнем правом углу (вместо того, чтобы сидеть в верхнем правом углу всплывающего окна). Я пробовал с position: значениями в CSS и другими атрибутами, которые я обнаружил при переполнении стека, но никто, похоже, не делает этого.

CSS:

#popup {
    position:absolute;
    display:hidden;
    top:50%;
    left:50%;
    width:400px;
    height:586px;
    margin-top:-263px;
    margin-left:-200px;
    background-color:#fff;
    z-index:2;
    padding:5px;
}
#overlay-back {
    position : fixed;
    top : 0;
    left : 0;
    width : 100%;
    height : 100%;
    background : #000;
    opacity : 0.7;
    filter : alpha(opacity=60);
    z-index : 1;
    display: none;
}
.close-image {
    display: block;
    float:right;
    cursor: pointer;
    z-index:3
}

HTML:

<div id="overlay-back"></div>
<div id="popup">
    <img class="close-image" src="images/closebtn.png" /><span><img src="images/load_sign.png" width="400" height="566" /></span>
</div>

Ответ 1

Просто добавьте позицию, справа и сверху к вашему классу .close-image

.close-image {
    cursor: pointer;
    display: block;
    float: right;  
    z-index: 3;
    position: absolute; /*newly added*/
    right: 5px; /*newly added*/
    top: 5px;/*newly added*/
}

Ответ 2

Используйте этот css

.close-image {
    cursor: pointer;
    z-index: 3;
    right: 5px;
    top: 5px;
    position: absolute;
}

Ответ 3

.close-image {
    cursor: pointer;
    display: block;
    float: right;
    position: relative;
    top: 22px;
    z-index: 1;
}

Я думаю, это может быть то, что вы ищете.

Ответ 4

Как насчет:

.close-image{
    display:block;
    cursor:pointer;
    z-index:3;
    position:absolute;
    top:0;
    right:0;
}

Это желаемый результат?

Ответ 5

Я знаю, что этот пост немного стар, но вот потенциальное решение для тех, кто имеет ту же проблему:

Во-первых, я бы изменил отображение CSS на #popup на "none" вместо "hidden".

Во-вторых, я бы изменил HTML следующим образом:

<div id="overlay-back"></div>
<div id="popup">
    <div style="position: relative;">
        <img class="close-image" src="images/closebtn.png" />
        <span><img src="images/load_sign.png" width="400" height="566" /></span>
    </div>            
</div>

И для стиля:

.close-image
{
   display: block;
   float: right;
   cursor: pointer;
   z-index: 3;
   position: absolute;
   right: 0;
   top: 0;
}

Я получил эту идею с этого сайта (kessitek.com). Очень хороший пример того, как позиционировать элементы:

Как разместить div поверх другого div

Я надеюсь, что это поможет,

Ъщ,