![]() |
Определение ширины элемента
Друзья, помогите!
Как средствами js определить ширину элемента, у которого не задан ни .width, ни .style.width? Заранее всем огромное спасибо! Добавлено через 44 минуты Да, еще вопрос: Определил свойства стиля в таблице стилей документа. Изменять их средствами js - без проблем, но вот обратиться к их начальным значениям (которые лежат в таблице стилей) не могу. js дает пустую строку. Обратиться получается только к тем свойствам, которые прописаны непосредственно в теге. Вопрос: как их достать из css-ки? |
Ответ: Определение ширины элемента
ширина если не задана то зависит от ширины родительского элемента и так вплоть до body ширина которого будет зависить от ширины окна браузера. ну и мэрдженги с пэдингами надо учесть. А зачем тебе нужна ширина?
|
Ответ: Определение ширины элемента
chatlano, спасибо за внимание к теме.
Ширина (и высота тож) нужна т.к. необходимо было реализовать "таскание" мышью абсолютно позиционированного элемента в родительском. Ответ на вопрос нашел. Если кому интересно: В IE доступ к стилям из css-ки реализуется через свойство элемента element.currentStyle.свойство (width, height, итд). Но это не вычисляемое свойство, т.е. если к примеру width = auto, то element.currentStyle.width тоже будет auto. Чтобы вычислить реальные габариты блока, необходимо их вычислить с помощью метода getBoundingClientRect(). Он возвращает объект с четырьмя свойствами: right, left, top, bottom. Это расстояние в пикселях относительно ... относительно не знаю чего. Но если найти разность м/д, например, Left и right, то как раз получится реальная ширина в px. В FireFox все гораздо проще и красивее. Для доступа к реальным свойствам объекта используется метод объекта document: document.defaultView.getComputedStyle(element, pseudo_class). Второй аттрибут нужен, если для элемента задано несколько псевдоклассов. На выходе вся таблица Менделеева (т.е. стилей) и именно фактическая (это прежде всего касается размеров элемента). Если кому пригодится, буду рад :roll: |
Ответ: Определение ширины элемента
doroshenkoes, это все хорошо, но хотелось бы чего-то унифицированного... Я в последнее время приглядываюсь к mootools, жду, когда выпустят версию 1.2, обещается очень много вкусностей :)
|
Ответ: Определение ширины элемента
Цитата:
|
Ответ: Определение ширины элемента
есть еще удобные свойства element.offset***
element.offsetWidth и т.д. |
Ответ: Определение ширины элемента
Цитата:
Если кто-нибудь знает, как замутить в FF фишку, аналогичную getBoundingClientRect() в IE, пишите, буду очень признателен! |
| Текущее время: 15:20. Часовой пояс GMT +3. |
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2026, vBulletin Solutions, Inc. Перевод: zCarot
Copyright ©2004 - 2026 NoWa.cc