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