Скрытые элементы HTML занимают место - PullRequest
19 голосов
/ 13 сентября 2010

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

Я хотел бы увидеть пример скрытого элемента, который не занимает места на странице.На самом деле, я хотел бы увидеть HTML, CSS и Javascript.: -).

Ответы [ 8 ]

40 голосов
/ 13 сентября 2010

Если вы используете visibility: hidden;, вы должны использовать display: none;.

4 голосов
/ 13 сентября 2010

Я полагаю, вы используете видимость: скрыто?Как вы уже видели, это скроет это, но все равно займет место.

Однако, используя display: никто не скроет его и не удалит из макета страницы.

1 голос
/ 18 января 2015

Я обнаружил, что если я использую visibility: none, то я теряю цели, встроенные в эти объекты.В результате я установил font-size: 0pt, который, кажется, хорошо работает для меня.

Я использую это, чтобы скрыть имена по умолчанию, которые вставляет текст ReSTructured для встроенных внутренних целей;span.target { font-size: 0pt };

1 голос
/ 13 сентября 2010

#myelement { display:none; } уже должен сделать это через CSS, используя <div id="myelement"></div>

0 голосов
/ 23 октября 2018

Чтобы скрыть элемент, используйте:

document.getElementById(Id).style.display = "none";

Чтобы показать элемент, используйте:

document.getElementById(Id).style.display = "inline-block";
0 голосов
/ 13 сентября 2010
style="visibility:hidden;line-height:0;"

Установка высоты меньше высоты строки, как правило, пустая трата времени.

0 голосов
/ 13 сентября 2010

Почему вы не можете просто установить style = "display: none" или style = "visibility: hidden", а затем установить его как видимое после того, как вы завершили недостающий контент?

0 голосов
/ 13 сентября 2010

Наиболее распространенным решением является ввод со скрытым типом.

<input type="hidden" value="yourvalue" id="yourid" />

Не требуется стайлинг.

Вы можете установить значение этого входа с помощью чего-то вроде

document.getElementById('yourid').value="The Value Here";
...