Все, что я хочу, это иметь <ul>
с тенью блока, которая появляется над его дочерними элементами <li>
, и чтобы эти элементы можно было сортировать в <ul>
.
Вот jsfiddle и вот код:
HTML:
<ul class="shadowed">
<div class="dragMe"></div>
</ul>
CSS:
.shadowed {
width: 256px;
height: 64px;
margin: 100px;
background: #777;
}
.shadowed:before {
content: "";
width: 256px;
height: 64px;
position: absolute;
margin: 100px;
top: 0;
left: 0;
box-shadow: inset 0px 0px 10px 2px #000;
}
.dragMe {
width: 64px;
height: 64px;
background: red;
}
ЯВАСКРИПТ:
$(function() {
$( ".dragMe" ).draggable({
/* try dragging the red square, then remove this line and try again. */
helper: "clone",
revert: "invalid",
stack: ".dragMe"
});
$( ".shadowed" ).droppable().sortable().disableSelection();
});
В этом примере у меня есть <ul>
с дочерним <li>
(красный прямоугольник). <ul>
"имеет" box-shadow в виде псевдоэлемента, чтобы тень появлялась над дочерними элементами.
Красное поле — до того, как его можно было перетаскивать с помощью jQuery-UI — появляется под тенью, как и ожидалось. Однако, если сделать этот элемент перетаскиваемым, он появится над тенью. Перетаскивание красного прямоугольника в этом состоянии работает должным образом.
Почему, если сделать элемент перетаскиваемым, он окажется перед тенью?
Кроме того, присвоение красному прямоугольнику значения helper: "clone"
помещает его обратно под тень, но предотвращает его перетаскивание.
Любые идеи, как это исправить?