
В этом тренажере вы попрактикуетесь изменять размеры HTML-элементов с помощью JavaScript. Вам будут представлены различные сценарии, от простого изменения ширины и высоты до более сложных манипуляций, таких как установка размеров в процентах, использование свойств `clientWidth`/`clientHeight`, `offsetWidth`/`offsetHeight`, а также работа со стилями. Каждое задание включает в себя готовый HTML-код и JavaScript-код с пропусками, которые вам нужно заполнить. Внимательно читайте условия и используйте свои знания DOM, чтобы добиться желаемого результата. Не забывайте, что размеры элементов могут зависеть от различных факторов, таких как тип элемента, его содержимое и применяемые к нему стили.
- Модуль 1: Основы выбора элементов
- Выбор элемента по ID.
- Выбор элементов по классу.
- Выбор элементов по тегу.
- Выбор по селектору CSS.
- Выбор по атрибуту.
- Поиск элементов внутри другого элемента.
- Поиск родительского элемента.
- Поиск соседних элементов (предыдущий, следующий).
- Поиск первого и последнего дочернего элемента.
- Поиск всех дочерних элементов.
- Модуль 2: Манипуляция содержимым
- Модуль 3: Работа с атрибутами
- Модуль 4: Управление классами
- Модуль 5: Управление стилями
- Модуль 6: Создание и удаление элементов
- Создание нового элемента.
- Вставка элемента перед другим элементом.
- Вставка элемента после другого элемента.
- Добавление элемента в определенную позицию внутри списка дочерних элементов.
- Удаление элемента из DOM.
- Замена одного элемента другим.
- Перемещение существующего элемента в другое место DOM..
- Очистка содержимого элемента без его удаления.
- Модуль 7: Обработка событий
- Модуль 8: Работа с формами
- Модуль 9: Продвинутые манипуляции
- Модуль 10: Работа с размерами и прокруткой
- Получение размеров элемента.
- Получение позиции элемента относительно окна браузера.
- Получение позиции элемента относительно родительского элемента.
- Управление прокруткой страницы.
- Определение, виден ли элемент в текущей области просмотра.
- Плавная прокрутка к элементу.
- Создание элемента, который фиксируется при прокрутке.
- Модуль 11: Работа с медиа-элементами
- Модуль 12: Практические задания
Изменение ширины и высоты элемента
Задайте элементу с идентификатором "myDiv" ширину 300 пикселей и высоту 200 пикселей, используя JavaScript. Изменение размеров должно произойти сразу после загрузки страницы.
<div id="myDiv" style="background-color: lightblue;">Этот div нужно изменить</div>
document.input__1("myDiv").style.width = input__2;
document.getElementById("myDiv").style.height = input__3;
Изменение ширины в процентах
Сделайте ширину элемента с id "myImage" равной 50% от ширины родительского элемента. Используйте JavaScript для установки ширины.
<div style="width: 600px;">
<img id="myImage" src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike2-300x300.png" alt="Test Image">
</div>
document.getElementById(input__1).style.input__2 = "50%";
Получение ширины и высоты элемента
Получите фактическую ширину и высоту элемента с id "myBox" (в пикселях) и выведите их в консоль. Учтите, что элемент имеет внутренние отступы (padding).
#myBox {
width: 200px;
height: 100px;
padding: 20px;
border: 5px solid black;
background-color: lightcoral;
}
<div id="myBox">Контент</div>
let box = document.getElementById("myBox");
let width = box.input__1;
let height = box.input__2;
console.log("Ширина: " + width + "px, Высота: " + height + "px");
Изменение размеров при клике
При нажатии на кнопку с id "resizeButton", измените ширину элемента с id "resizableDiv" на 400 пикселей, а высоту на 300 пикселей.
#resizableDiv {
background-color: lightgreen;
width: 200px;
height: 150px;
}
<div id="resizableDiv"></div>
<button id="resizeButton">Изменить размер</button>
document.getElementById("resizeButton").addEventListener("click", function() {
document.getElementById(input__1).style.width = input__2;
document.getElementById("resizableDiv").style.input__3 = "300px";
});
Анимация изменения размеров
Плавно анимируйте изменение ширины элемента с id "animatedDiv" до 500 пикселей при наведении на него курсора мыши. При убирании курсора ширина должна плавно возвращаться к исходному значению (250px).
#animatedDiv {
width: 250px;
height: 100px;
background-color: lightyellow;
transition: width 0.5s ease;
}
<div id="animatedDiv"></div>
const animatedDiv = document.getElementById("animatedDiv");
animatedDiv.addEventListener(input__1, function() {
animatedDiv.style.width = "500px";
});
animatedDiv.addEventListener(input__2, function() {
animatedDiv.style.width = "250px";
});
Изменение высоты в зависимости от контента
Сделайте так, чтобы высота элемента с id "dynamicHeight" автоматически подстраивалась под его содержимое. Изначально у элемента нет содержимого, добавьте в него текст "Новый контент!" с помощью JavaScript.
#dynamicHeight {
background-color: #f0f0f0;
border: 1px solid #ccc;
width: 300px;
}
<div id="dynamicHeight"></div>
let dynamicDiv = document.getElementById("dynamicHeight");
dynamicDiv.input__1 = "Новый контент!";
dynamicDiv.style.height = input__2;
Ограничение максимальной ширины
Установите максимальную ширину элемента с id "maxWidthDiv" равной 100 пикселей. Даже если попытаться установить ширину больше, элемент не должен превышать это значение.
<div id="maxWidthDiv" style="background-color: lavender;">Этот div имеет максимальную ширину</div>
document.getElementById("maxWidthDiv").style.input__1 = "100px";
Изменение размеров изображения
Измените ширину и высоту изображения с id "resizableImage" на 200 пикселей каждое, используя JavaScript.
<img id="resizableImage" src="https://naytikurs.ru/assets/uploads/2025/03/3d-modelirovanie-i-vizualizatsiya-test-dlya-spetsialistov-v-trehmernoj-grafike3-300x300.png" alt="Resizable Image">
document.input__1("resizableImage").style.width = "200px";
document.getElementById("resizableImage").input__2.height = "200px";
Использование clientWidth и clientHeight
Получите ширину и высоту клиентской области элемента (без учета рамок и полос прокрутки) с id "clientSizeDiv" и выведите их в консоль.
#clientSizeDiv {
width: 300px;
height: 200px;
padding: 20px;
border: 10px solid black;
overflow: auto; /* Добавляем полосы прокрутки */
}
<div id="clientSizeDiv">Этот div имеет padding, border и overflow.</div>
let div = document.getElementById("clientSizeDiv");
let clientWidth = div.input__1;
let clientHeight = div.input__2;
console.log("Client Width: " + clientWidth + "px, Client Height: " + clientHeight + "px");