Изменение размеров элемента через style в JavaScript
Через style.width и style.height можно задать размер элемента прямо из JavaScript. Это удобно, когда значение вычисляется во время работы страницы.
- Ширина и высота
- Размер из значения JavaScript
- Ограничение размера
- Строчные элементы
- Когда использовать style
- Итого
Ширина и высота
<div class="card"></div>
const card = document.querySelector('.card');
card.style.width = '320px';
card.style.height = '180px';
Браузер добавит элементу inline-стили с указанной шириной и высотой.
По умолчанию width и height задают размер области содержимого. padding и границы увеличивают видимый размер элемента. С box-sizing: border-box они входят в указанную ширину и высоту.
Дляwidthиheightчислу обычно нужна CSS-единица:‘320px’,‘50%’или‘20rem’. Записьcard.style.width = 320не задаст ширину в пикселях.
Размер из значения JavaScript
Если размер хранится в переменной, добавьте единицу к значению.
<div class="progress-bar"></div>
const progress = 65;
const progressBar = document.querySelector('.progress-bar');
progressBar.style.width = `${progress}%`;
В результате ширина индикатора будет равна 65%. При изменении progress можно задать новую ширину тем же способом.
Ограничение размера
Размер элемента можно ограничить через minWidth, maxWidth, minHeight и maxHeight.
const content = document.querySelector('.content');
content.style.width = '100%';
content.style.maxWidth = '600px';
Элемент будет занимать всю доступную ширину, но не станет шире 600px. Такой вариант удобен, когда размер зависит от ширины окна браузера.
Строчные элементы
У обычных строчных элементов, например span и a, свойства width и height не влияют на размер в строке.
const label = document.querySelector('.label');
label.style.display = 'inline-block';
label.style.width = '160px';
Прежде чем задавать размер строчному элементу, измените егоdisplayнаinline-blockилиblock.
Когда использовать style
Используйте style, когда JavaScript вычисляет текущий размер: например, для индикатора прогресса. Постоянные размеры и правила оформления лучше оставлять в CSS.
Итого
Размер элемента меняют через style.width и style.height. Значение передают с CSS-единицей, а для ограничения используют minWidth и maxWidth. Для обычных строчных элементов сначала меняют display.