#html #css #css-position
#HTML #css #css-позиция
Вопрос:
У меня есть следующий html. Как я могу сделать так, чтобы это dragDiv
отображалось поверх изображения?
<div id="pnlContainer" class="container">
<img id="cropbox" src='1.jpg' />
<div class="dragDiv" id="dragDiv">
</div>
</div>
.dragDiv {
width:400px;
background-color:transparent;
border:2px solid #CCCCCC;
position:relative;
left:20px;
top:20px;
padding:0px;
margin:0px;
height:50px;
}
Ответ №1:
В настоящее время вы фактически перемещаете dragDiv вниз и в сторону от изображения. Если вы просто измените свой код на -20px и -20px в .dragDiv css, он будет поверх изображения.
Или вы могли бы задать относительное расположение «pnlContainer», а затем полностью расположить как «dragDiv», так и «CropBox» — вам не нужен z-index — в этом случае, просто позиционируя, div появится над изображением.
Любой способ просто прекрасен. Суть в том, что правильное их позиционирование в этом случае приведет к появлению div поверх изображения.
<style type="text/css">
#pnlContainer {
position: relative;
}
#dragDiv {
position: absolute;
top: 0px;
left: 0px;
width:400px;
background-color: transparent;
border:2px solid #CCCCCC;
position:relative;
left:20px;
top:20px;
padding:0px;
margin:0px;
height:50px;
}
#cropbox {
position: absolute;
top: 0px;
left: 0px;
}
</style>
Комментарии:
1. Круто, что работает. Как всегда, проблема с шириной и высотой родительского div, как вы можете видеть здесь jsfiddle.net/N87CX/5 граница «pnlContainer» не закрывает дочерний div.
2. Я не понимал, что это было частью вашего вопроса. Можете ли вы просто поместить рамку на изображение вместо содержащего div?
Ответ №2:
Вы могли бы убедиться, что один элемент отображается над другим, используя свойство CSS Z-index:
Комментарии:
1. z-index в этом случае не нужен — ему просто нужно правильно расположить их, и dragDiv будет отображаться поверх изображения.