2010-06-23 1 views
0

Элемент размера так высок, как это должно быть, чтобы не прокручивать Я работаю над инструментом, позволяющим создавать небольшие «заметки», которые Затем я превращаюсь в Ext.Draggable. Я бы хотел, чтобы эти предметы были не выше, чем нужно.Элемент размера так высок, как это должно быть, чтобы не прокручивать

Элементы абсолютно позиционирован: набор position: absolute с top и left и height и width значений в режиме реального времени. Проблема в том, что значения высоты не очень надежны.

Возможно ли установить размер на что-то очень короткое (скажем, 3px), а затем увеличить высоту до тех пор, пока полосы прокрутки не исчезнут? Как я могу узнать, когда это произойдет, и могу ли я сделать это так, чтобы он был надежным в браузерах?

Code: http://github.com/artlung/ArtLung-Notes/blob/master/v2/index.js

+0

Кроме того, это в новой структуре Sencha от ExtJS, которая использует ExtJS под капотом, но если для этого есть универсальное решение DOM, это было бы здорово. Также были бы заинтересованы в других реализациях (jQuery, Prototype, MooTools), которые я могу изучить и изменить. – artlung

+1

Не просто ли удаление явной высоты сделает то, что вы хотите? (Я знаю, что Ext обычно отстой для автосохранения, и я должен бороться каждый раз, когда мне это нужно в другом экземпляре.) – doublep

+0

Это кажется таким простым. По какой-то причине я думал, что мне нужно поставить высоты над элементами, когда я их создал. Кажется, это работает в Firefox, Chrome и Safari, что является отличным признаком! – artlung

ответ

1

В общем, см Ext.util.TextMetrics.getHeight(). Обратите внимание: вы не можете использовать синглтон для определения высоты.

Однако, я думаю, что удаление явной высоты обычно должно решить вашу проблему. Это, если вам не нужно синхронизировать что-то вроде размера наложения теней.

+0

Спасибо за обращение к 'Ext.util.TextMetrics' - я буду смотреть на это в будущем. Иногда это самые простые решения. – artlung

1

Если элемент style.position является абсолютным, а style.width определяется, устанавливая его style.height для «auto» будет содержать поле для содержимого и дополнения, без полос прокрутки.

+0

Похоже, что 'auto' является значением по умолчанию http://www.w3.org/TR/CSS2/visudet.html#the-height-property – artlung

Смежные вопросы