Есть ли способ изменить размер контейнера <div> с помощью перетаскивания?






Лучшим способом было бы использовать CSS3. Он поддерживается как минимум Webkit и Gecko.
Согласно w3c spec:
div.my_class {
resize:both;
overflow:auto; /* something other than visible */
}
Webkit и Firefox не интерпретируют спецификации одинаково. В Webkit размер ограничен установленными шириной и высотой. Есть еще вопрос: Как я могу использовать CSS, чтобы изменить размер элемента до размера, меньшего, чем исходный? по этому поводу.
@Irfan это возможно, как показано ниже. .resizable-content {мин-высота: 30 пикселей; минимальная ширина: 30 пикселей; изменить размер: оба; перелив: авто; максимальная высота: подходящее содержание; максимальная ширина: подходящее содержание; }
Этот «захват» изменения размера в правом нижнем углу - это путь к маленькому в Chromium 69 на мониторе 4K, и его стиль недоступен через CSS; вы не можете масштабировать его больше (на момент написания этой статьи).
если вам нужно выполнить некоторую функцию doOnResize (тег) для каждого тега (также <div>) из массива должен бытьтеги, вы можете просто скопировать этот массив в массив окно:
window[WIN_RESIZED] = [] // init the window's array
for (var i in tags) {
window[WIN_RESIZED].push(tags[i])
}
и после этого установите
window.addEventListener('resize', function(e){
for (var i in window[WIN_RESIZED]) {
doOnResize(window[WIN_RESIZED][i])
}
})
где где-то в начале должно быть написано
const WIN_RESIZED = 'move_resized_divs'
с произвольным именем вроде 'move_resized_divs'
.resizable-content {
min-height: 30px;
min-width: 30px;
resize: both;
overflow: auto;
max-height: fit-content;
max-width: fit-content;
}
Уже есть ответ, использующий css3 «изменение размера». Помимо этого, не могли бы вы добавить несколько поясняющих слов.
Я просто хотел показать, как можно изменить размер ниже установленной ширины и высоты для div. Поскольку кто-то выше сказал, что это не так!
Проблема с методом, поддерживающим только CSS3, заключается в том, что перетаскиванием становится только правый нижний угол div. После того, как я погрузился в кроличью нору, пытаясь сделать это путем копирования фрагментов кода из Stack Overflow, я настоятельно рекомендую просто использовать отличный Библиотека InteractJS JavaScript в вашем проекте. Это позволяет вам легко создавать изменяемый размер (и перетаскиваемый) div, размер которого можно изменять со всех сторон.
это позволяет изменять размер только из угла, верно?