2010-09-13 5 views
16

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

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

ответ

36

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

1

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

0

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

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

Не требуется никакого уклада.

Вы можете установить значение этого входа с Somthing как

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

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

3

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

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

0
style="visibility:hidden;line-height:0;" 

Установка высоты до высоты линии обычно является пустой тратой времени.

1

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

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

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