назад до уроку

Відмінності: CSS ширина проти clientWidth

важливість: 5

Яка різниця між getComputedStyle(elem).width і elem.clientWidth?

Назвіть принаймні 3 відмінності. Але чим більше, тим краще.

Відмінності:

  1. clientWidth є числовим, а getComputedStyle(elem).width повертає рядок із px в кінці.
  2. getComputedStyle може повертати нечислову ширину, наприклад "auto" для вбудованого елемента.
  3. clientWidth це внутрішня область вмісту елемента плюс відступи, тоді як ширина CSS (зі стандартним box-sizing) це внутрішня область вмісту без відступів.
  4. Якщо є смуга прокрутки і браузер резервує для неї простір, деякі браузери віднімають цей простір із ширини CSS (тому що він більше не доступний для вмісту), а деякі ні. Властивість clientWidth завжди однакова: розмір смуги прокрутки віднімається при її наявності.