Ответ 1
Вы можете использовать абсолютное позиционирование (относительно всего тела страницы), но кроме этого я не думаю, что есть другой способ, чем jQuery.
Я знаю трюк position:relative
и position:absolute
, чтобы расположить div относительно его родителя. Но что, если div не является его родителем, и я хочу поместить его относительно этого? Я пытаюсь реализовать что-то в этом направлении.
Я также знаю position:fixed
, чтобы исправить div, но я создаю отзывчивый веб-сайт, и я бы хотел этого избежать. Я нашел здесь вопрос, в котором упоминается использование jQuery для этого: Как разместить один элемент относительно другого с помощью jQuery? Является ли jQuery единственным способом сделать это? Можно ли это сделать и с помощью CSS?
Я выложил здесь скрипку: http://jsfiddle.net/19bdpgsf/. В скрипке я пытаюсь поместить элемент child2
относительно notparentdiv
так же, как он был помещен относительно div parent
. Возможно ли использовать только css?
Спасибо.
Вы можете использовать абсолютное позиционирование (относительно всего тела страницы), но кроме этого я не думаю, что есть другой способ, чем jQuery.
Еще один способ, если вы не хотите использовать позиции css, используйте смещение jquery, как показано ниже, чтобы разместить div
var nonparent = $('.notParent');
var position = nonparent.offset();
$('.child1').offset({
top: position.top,
left: position.left
});
.notParent {
background-color: red;
padding: 20px;
}
.child2 {
background-color: yellow;
}
.child1 {
background-color: green;
}
.parent {
background-color: purple;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="notParent">
not parent div
</div>
<br/>
<br/>
<br/>
<br/>
<div class="parent">
parent
<div class="child1">child1</div>
<div class="child2">
child2
</div>
</div>
var position = document.getElementById("relative");
document.getElementById("").appendChild(position);
может быть, использовать что-то вроде этого, чтобы переместить div в div, в котором вы хотите это?
Это поместит div в желаемый div, и оттуда position:relative;
будет работать.