Как да получа действителната широчина и височина на HTML елемент'?
Да предположим, че имам <div>
, който искам да центрирам в дисплея на браузъра (viewport). За да направя това, трябва да изчисля ширината и височината на елемента <div>
.
Какво трябва да използвам? Моля, включете информация за съвместимостта с браузърите.
824
3
Трябва да използвате свойствата
.offsetWidth
и.offsetHeight
. Обърнете внимание, че те принадлежат на елемента, а не на.style
.var width = document.getElementById('foo').offsetWidth;
ЗАБЕЛЕЖКА: този отговор е написан през 2008 г. По онова време най-доброто решение за повечето хора наистина беше да използват jQuery. Оставям отговора тук за потомство и ако използвате jQuery, това е добър начин да го направите. Ако използвате някаква друга рамка или чист JavaScript, приетият отговор вероятно е правилният начин.
От версия 1.2.6 на jQuery можете да използвате една от основните CSS функции,
height
иwidth
(илиouterHeight
иouterWidth
, според случая).Element.offsetWidth и element.offsetHeight трябва да са достатъчни, както е предложено в предишния пост.
Ако обаче искате само да центрирате съдържанието, има по-добър начин за това. Предполагаме, че използвате xhtml strict DOCTYPE. задайте на тага body свойството margin:0,auto и изискваната ширина в px. Съдържанието се центрира спрямо страницата.