Skip to content

Commit 9167bd4

Browse files
dandgersonlex111
andauthored
Update 2-ui/1-document/09-size-and-scroll/article.md
Co-Authored-By: Alexey Pyltsyn <lex61rus@gmail.com>
1 parent 1705a73 commit 9167bd4

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

2-ui/1-document/09-size-and-scroll/article.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ alert( getComputedStyle(elem).width ); // show CSS width for elem
244244
245245
Конечно, с точки зрения CSS `width:auto` – совершенно нормально, но нам-то в JavaScript нужен конкретный размер в `px`, который мы могли бы использовать для вычислений. Получается, что в данном случае ширина из CSS вообще бесполезна.
246246
247-
Есть и ещё одна причина: полоса прокрутки. Бывает без полосы прокрутки код работает прекрасно, но стоит ей появиться, как начинают появляться баги. Так происходит потому, что полоса прокрутки "отъедает" место от области внутреннего содежимого в некоторых браузерах. Таким образом, реальная ширина содержимого *меньше* CSS-ширины. Как раз это и учитывают свойства `clientWidth/clientHeight`.
247+
Есть и ещё одна причина: полоса прокрутки. Бывает без полосы прокрутки код работает прекрасно, но стоит ей появиться, как начинают появляться баги. Так происходит потому, что полоса прокрутки "отъедает" место от области внутреннего содержимого в некоторых браузерах. Таким образом, реальная ширина содержимого *меньше* CSS-ширины. Как раз это и учитывают свойства `clientWidth/clientHeight`.
248248
249249
...Но с `getComputedStyle(elem).width` ситуация иная. Некоторые браузеры (например, Chrome) возвращают реальную внутреннюю ширину с вычетом ширины полосы прокрутки, а некоторые (например, Firefox) -- именно CSS-свойство (игнорируя полосу прокрутки). Эти кросс-браузерные отличия – ещё один повод не использовать `getComputedStyle`, а использовать свойства-метрики.
250250

0 commit comments

Comments
 (0)