Как сделать <div> изменяемым размером?

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

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
35
0
60 977
4

Ответы 4

Лучшим способом было бы использовать CSS3. Он поддерживается как минимум Webkit и Gecko.

Согласно w3c spec:

div.my_class {
    resize:both;
    overflow:auto; /* something other than visible */
}

Webkit и Firefox не интерпретируют спецификации одинаково. В Webkit размер ограничен установленными шириной и высотой. Есть еще вопрос: Как я могу использовать CSS, чтобы изменить размер элемента до размера, меньшего, чем исходный? по этому поводу.

это позволяет изменять размер только из угла, верно?

Winnemucca 17.10.2017 19:22

@Irfan это возможно, как показано ниже. .resizable-content {мин-высота: 30 пикселей; минимальная ширина: 30 пикселей; изменить размер: оба; перелив: авто; максимальная высота: подходящее содержание; максимальная ширина: подходящее содержание; }

sushmitha shenoy 10.03.2018 14:36

Этот «захват» изменения размера в правом нижнем углу - это путь к маленькому в Chromium 69 на мониторе 4K, и его стиль недоступен через CSS; вы не можете масштабировать его больше (на момент написания этой статьи).

Lonnie Best 17.09.2018 03:52

если вам нужно выполнить некоторую функцию 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 «изменение размера». Помимо этого, не могли бы вы добавить несколько поясняющих слов.

Martin Meeser 05.03.2018 19:42

Я просто хотел показать, как можно изменить размер ниже установленной ширины и высоты для div. Поскольку кто-то выше сказал, что это не так!

sushmitha shenoy 10.03.2018 14:34

Проблема с методом, поддерживающим только CSS3, заключается в том, что перетаскиванием становится только правый нижний угол div. После того, как я погрузился в кроличью нору, пытаясь сделать это путем копирования фрагментов кода из Stack Overflow, я настоятельно рекомендую просто использовать отличный Библиотека InteractJS JavaScript в вашем проекте. Это позволяет вам легко создавать изменяемый размер (и перетаскиваемый) div, размер которого можно изменять со всех сторон.

Другие вопросы по теме