Мне удалось сделать тег DIV невидимым в JavaScript, установив для отображения значение none и видимость - hidden. Этого также можно добиться с помощью этого класса:
.invisible {
display: none;
visibility: hidden;
}
Display none гарантирует, что поле DIV пусто, а скрытая видимость гарантирует, что он не будет виден. Проблема с этим методом заключается в том, что у меня есть прокручиваемые DIV или текстовые поля с переполненным содержимым, когда вы устанавливаете display: none, некоторые браузеры забудут позицию прокрутки для этих элементов. Есть ли лучший способ сделать DIV невидимым без использования свойства display? Я бы предпочел не прибегать к использованию JavaScript для записи положения прокрутки и т. Д., Если это возможно.
РЕДАКТИРОВАТЬ:
С вашей помощью мне удалось решить эту проблему, применил следующее:
.invisible {
visibility: hidden;
position: absolute;
top: -9999px;
}
.visible {
visibility: visible;
position: static;
}
Я пробовал left: -9999px, но это расширяет вертикальную полосу прокрутки в IE ... Я также обернул свое текстовое поле в другой DIV и применил к нему видимые / невидимые стили, потому что в противном случае текстовое поле потеряет свою позицию прокрутки. Я тестировал это в Chrome, Firefox, IE и Safari на своем iPhone. Просто примечание, DIV, обернутый вокруг текстового поля, похоже, не помог в FF, и полоса прокрутки все еще сбрасывается. Но теперь прокручиваемые DIV в порядке. Спасибо за вашу помощь!