надоедливый HTML-макет: как скрыть элемент при сохранении макета? - PullRequest
3 голосов
/ 24 марта 2009

Я хочу скрыть поле ввода формы. Но вызов setVisible ('inputID', false) приводит к разрушению моего жидкого макета. Я этого не хочу.

Есть ли здесь простой способ обойти это? Я думал о попытке сделать так, чтобы цвет переднего плана поля ввода, цвет фона и цвет рамки были полностью белыми. Но это становится излишне сложным.

Ответы [ 4 ]

7 голосов
/ 24 марта 2009

Существует два способа скрытия элементов с помощью css:

  • Устанавливает атрибут display на none

  • Установка атрибута visibility на hidden

Первый параметр удаляет элемент из потока, а второй параметр скрывает элемент, но все же позволяет ему занимать место в потоке.

Вы используете первый вариант, и вместо него хотите использовать второй.

Пример: * * один тысяча двадцать-одна

document.getElementById('inputID').style.visiblity = 'hidden';
3 голосов
/ 24 марта 2009

Если вы установите стиль элемента видимости «скрытый», он будет скрывать элемент от просмотра, но это не повлияет на расположение других элементов.

0 голосов
/ 24 марта 2009

Это определение элемента с относительным позиционированием .

Просто дайте ему относительное расположение и координаты далеко от экрана.

*

например, 1007 *

position:relative
left:-2000px

Он должен убрать элемент с экрана, но оставить "дыру" там, где он был бы.

0 голосов
/ 24 марта 2009

Трудно дать лучший совет, не видя ваш код, но есть несколько вещей, которые вы можете сделать:

  1. Учитывая, что вы используете JavaScript, вы можете получить ширину и высоту удаляемого ввода формы, создать новый div с этими размерами, вставить его после элемента формы, а затем скрыть элемент формы. , Немного взломать, но это работает.

  2. Окружите ваш ввод div в вашем HTML и дайте ему явную ширину и / или высоту в вашем CSS. Затем удалите ввод с помощью JavaScript, как вы уже делаете.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...