Ответ 1
Большинство мобильных браузеров не поддерживают свойство CSS resize
- это то, что дает текстовые области с изменяемым размером.
Проверьте, какие браузеры поддерживают изменение размера: http://caniuse.com/#search=resize
Нет простого способа "добавить изменение размера мобильного телефона". Думаю, вы все равно могли бы сделать это взломанным способом, но настоятельно не рекомендуется. Логика, вероятно, будет примерно такой:
- Установить
resize:none
. - Используйте HTML + CSS + img (SVG), чтобы создать небольшую вкладку изменения размера в правом нижнем углу.
- Используйте JS для прослушивания событий перетаскивания (возможно, вам нужна специальная библиотека событий прикосновений) на вкладке изменения размера.
- Логика прослушивателя:
- Увеличьте высоту элемента с помощью расстояния перетаскивания, если перетащить вниз, но не увеличивайте его за максимальную высоту CSS/style.
- Уменьшить высоту элемента путем перетаскивания, если перетащить вверх, но не уменьшаться за минимальную высоту CSS/style.
- Аналогично, увеличивайте ширину, если перетащить вправо, но не превышайте установленную максимальную ширину.
- Аналогично, уменьшите ширину, если перетащить влево, но не уменьшайте ее за заданную минимальную ширину.
- Если родительский элемент имеет фиксированную ширину/высоту, не позволяйте пользователю изменять размер за пределами родительских размеров.
- Если родительский элемент является автоматической шириной/высотой, вам может потребоваться отрегулировать позиции прокрутки соответственно, если изменение размера элемента превысит родительские ребра. (Вам также может потребоваться выполнить какое-либо полевое тестирование, чтобы наблюдать, если изменение родительского элемента scrollTop/scrollLeft закручивает ваше обнаружение перетаскивания).
В целом, я бы сказал, что это не стоит реализовывать на мобильных устройствах. Также, вероятно, хорошо не допускать изменения размера на мобильном телефоне, учитывая ограниченную экранную недвижимость. Что касается браузеров IE/Edge, дождитесь завершения спецификации спецификаций модуля CSS, и MS, вероятно, выполнит его.