Tôi đang sử dụng giao diện người dùng jQuery để tạo một ảnh có thể kéo <div>
. Các <div>
được hoàn toàn vị trí để phía dưới bên phải hoặc phía trên bên trái sử dụng CSS:Giao diện người dùng jQuery có thể kéo được với vị trí tuyệt đối và thuộc tính dưới cùng
.dragbox {
position: absolute;
width: 140px;
min-height: 140px; /* I need to use min-height */
border: 3px solid black;
padding: 10px;
}
.bottom {
bottom: 5px; /* causes box to resize when dragged */
right: 5px;
}
.top {
top: 5px; /* does not cause box to resize */
left: 5px;
}
HTML trông như thế này:
<div class="dragbox bottom">
Bottom Box :(
</div>
<div class="dragbox top">
Top Box :)
</div>
JavaScript là $('.dragbox').draggable();
để làm cho <div>
yếu tố kéo. Phía trên cùng bên trái <div>
hoạt động như mong đợi, nhưng dưới cùng bên phải <div>
thay đổi kích thước khi được kéo. Nếu tôi thay đổi số trang min-height
của .dragbox
thành height
Tôi thấy hành vi mong đợi cho cả hai hộp, nhưng tôi cần sử dụng min-height
vì điều này vì tôi không biết độ dài của nội dung bên trong.
Làm cách nào để định vị <div>
ở dưới cùng bên phải và cho phép kéo mà không cần thay đổi kích thước <div>
khi kéo? Các phần tử <div>
trên cùng bên trái và dưới cùng bên phải sẽ hoạt động theo cùng một cách.
DEMO (tôi sử dụng Chrome 27 và Safari 6) công trình kéo
Sử dụng ý tưởng này tôi đã có thể để giải quyết trường hợp của tôi ở đâu ngoài hộp có chiều cao năng động (và nên lớn lên), nhưng may thay nó không thay đổi trong khi kéo. Tôi làm như vậy, nhưng sử dụng tùy chọn 'bắt đầu' và 'dừng' để tôi đặt thuộc tính trên cùng là neo (tự động nhập dưới) khi kéo bắt đầu và hoán đổi lại khi kết thúc. – DonSteep