Методы outerWidth и outerHeight в jQuery
Последняя пара методов - outerWidth
и
outerHeight
, с помощью которых возможно получить
ширину и высоту элемента с учетом всех отступов и границ,
а можно не учитывать внешние отступы margin
.
Рассмотрим пример. Пусть у нас есть абзац:
<p id="test">text</p>
<p id="out"></p>
CSS выглядит так:
p {
margin: 10px;
padding: 5px;
border: 2px solid blue;
}
Давайте получим значения ширины и высоты абзаца
#test
, учитывая внутренние отступы и границы,
для этого в эти методы необходимо передать
false
или оставить скобочки пустыми (так как
оно уже стоит в методе по умолчанию):
let w = $('#test').outerWidth(false);
let h = $('#test').outerHeight();
$('#out').text('Width: ' + w + ' Height: ' + h);
Теперь наши значения будут отличаться еще на 4px
,
поскольку толщина границ по 2px
с каждой стороны.
А теперь давайте получим значения ширины и высоты абзаца
#test
, учитывая все отступы и границы,
для этого в методы outerWidth
и outerHeight
необходимо передать true
:
let w = $('#test').outerWidth(true);
let h = $('#test').outerHeight(true);
$('#out').text('Width: ' + w + ' Height: ' + h);
Теперь наши значения будут отличаться от предыдущих
еще на 20px
, поскольку внешние отступы у нас
по 10px
с каждой стороны.
Дополните решение предыдущих задач - выведите
в третий абзац под дивом #wrapper
значения ширины и высоты дива #wrapper
-
с учетом внутренних отступов и границ, но без
внешних отступов. В четвертый абзац выведите
значения ширины и высоты дива #wrapper
с учетом всех отступов и границ.
Также с помощью методов outerWidth
и
outerHeight
мы можем
изменить значения ширины и высоты элементов.
Например, давайте поставим ширину дива #test1
равной 250px
, а высоту #test2
- 200px
:
$('#test1').outerWidth(250, true);
$('#test2').outerHeight(200);
Все указанные методы работы с размерами элемента также предусматривают возможность применения функции к каждому элементу в наборе.