CSS - Изменение размера: Дайте пользователям контроль над размерами элементов
Здравствуйте, будущие веб-разработчики! Сегодня мы погружаемся в захватывающую CSS-свойство, которая передает управление размерами элементов прямо в руки посетителей вашего сайта. Добро пожаловать в мир resize!

Что такое CSS-свойство Resize?
Прежде чем мы углубимся в детали, начнем с простого вопроса: Вы когда-нибудь замечали те маленькие ручки в правом нижнем углу некоторых текстовых полей, которые позволяют вам изменять их размер? Это и есть действие свойства resize!
CSS-свойство resize позволяет элементам быть масштабируемыми пользователем. Это как дать вашим пользователям迷你-ручку для изменения размера определенных элементов на вашей веб-странице. Круто, правда?
Применяется к
Теперь вы можете задаться вопросом: "Могу ли я сделать все на моей веб-странице масштабируемыми?" Ну, не совсем. Свойство resize в основном применяется к элементам, у которых overflow установлен не на visible. Обычно это включает:
-
<textarea>элементы - Элементы с
overflow: autoилиoverflow: scroll
Но не волнуйтесь, мы также разберем, как сделать другие элементы масштабируемыми!
Синтаксис
Давайте разберем синтаксис использования свойства resize:
element {
resize: value;
}
Просто, не так ли? Теперь давайте рассмотрим различные значения, которые мы можем использовать.
Значения CSS Resize
Вот таблица, резюмирующая все возможные значения свойства resize:
| Значение | Описание |
|---|---|
| none | Элемент не масштабируем |
| vertical | Элемент масштабируем по вертик. |
| horizontal | Элемент масштабируем по горизонтали |
| both | Элемент масштабируем по вертик. и horiz. |
| inherit | Наследует значение от родительского элемента |
Теперь давайте углубимся в каждое из этих значений с了一些 примерами!
CSS resize - none Значение
textarea {
resize: none;
}
Этот код говорит браузеру: "Эй, не позволяй никому изменять размер этого текстового поля!" Это как повесить на элемент табличку "Не трогать".
CSS resize - vertical Значение
textarea {
resize: vertical;
height: 100px;
width: 200px;
}
С этим кодом, ваше текстовое поле начинается с высоты 100px и ширины 200px, но пользователи могут тащить его, чтобы сделать его выше или ниже. Это как иметь лифт для вашего текста!
CSS resize - horizontal Значение
div {
resize: horizontal;
overflow: auto;
width: 200px;
height: 100px;
border: 2px solid blue;
}
Здесь мы применяем resize: horizontal к div. Помните, для не-текстовых полей, мы должны установить overflow на что-то другое, кроме visible. Пользователи теперь могут изменять ширину этого div, как растягивая резинку!
CSS resize - both Значение
textarea {
resize: both;
min-height: 100px;
max-height: 300px;
min-width: 200px;
max-width: 400px;
}
Это ultimate гибкость! Пользователи могут изменять размер текстового поля в любом направлении, но мы установили некоторые ограничения, чтобы предотвратить его太小 или слишком большим. Это как дать вашим пользователям песочницу для игры, но с заборами, чтобы держать все под контролем.
CSS resize - inherit Значение
.parent {
resize: both;
overflow: auto;
}
.child {
resize: inherit;
}
Здесь элемент-потомок унаследует поведение изменения размера от своего родителя. Это как передавать семейную реликвию, но для изменения размера!
CSS resize - Случайные элементы
Теперь давайте немного поиграем. Что, если мы хотим сделать обычный div масштабируемым?
.resizable-div {
width: 200px;
height: 100px;
padding: 10px;
border: 2px solid #00f;
overflow: auto;
resize: both;
}
<div class="resizable-div">
<p>Я масштабируемый div! Попробуйте изменить мой размер!</p>
</div>
Установив overflow: auto и resize: both, мы превратили обычный div в масштабируемую игровую площадку! Это как дать вашим HTML-элементам суперсилы.
Заключение
И вот мы и добрались до конца, друзья! Мы исследовали чудесный мир CSS-свойства resize. От блокировки элементов с resize: none до создания полностью гибких компонентов с resize: both, вы теперь имеете власть контролировать, как пользователи взаимодействуют с размерами элементов на вашей веб-странице.
Помните, с великой властью приходит великая ответственность. Используйте свойство resize wisely, чтобы улучшить пользовательский опыт, а не сбить с толку или разочаровать ваших посетителей.
Продолжая ваше путешествие в веб-разработке, продолжайте экспериментировать с различными CSS-свойствами. Кто знает? Вы можете обнаружить новый любимый трюк, чтобы добавить в ваш арсенал кодирования!
Счастливого кодирования, и пусть ваши элементы всегда будут идеально sized!
Credits: Image by storyset
