В чём отличие CSS-свойств width и clientWidth
важность: 5
В чём отличие между getComputedStyle(elem).width
и elem.clientWidth
?
Укажите хотя бы 3 отличия, лучше – больше.
Отличия:
clientWidth
возвращает число, аgetComputedStyle(elem).width
– строку сpx
на конце.getComputedStyle
не всегда даст ширину, он может вернуть, к примеру,"auto"
для строчного элемента.clientWidth
соответствует внутренней области элемента, включая внутренние отступыpadding
, а CSS-ширина (при стандартном значенииbox-sizing
) соответствует внутренней области без внутренних отступовpadding
.- Если есть полоса прокрутки, и для неё зарезервировано место, то некоторые браузеры вычитают его из CSS-ширины (т.к. оно больше недоступно для содержимого), а некоторые – нет. Свойство
clientWidth
всегда ведёт себя одинаково: оно всегда обозначает размер за вычетом прокрутки, т.е. реально доступный для содержимого.