Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Печать HTML документа (https://javascript.ru/forum/misc/1945-pechat-html-dokumenta.html)

bassolo 17.08.2009 14:51

twolf,
то есть
* {display: none; }
html, body {display: block;} 
input {display: block; visibility: visible; border: 5px solid #000000;color: #000000; }

так что ли? не работает:(

Kolyaj 17.08.2009 14:55

bassolo,
как может быть виден потомок, если его родитель скрыт? Если уж элемент скрыт, то и все его содержимое скрыто.

twolf 17.08.2009 14:56

работает, проверил. Вы случайно сам html тэг в разметке не забыли? а то в вашем примере его нет.

B~Vladi 17.08.2009 14:58

Нет не так. С * работать не будет. Универсального решения нет... всё зависит от разметки. В любом случае * использовать нельзя.

bassolo 17.08.2009 15:51

Kolyaj,
в том-то и дело, что сначала все скрываем, потом показываем, что нужно, как исключение. (инпут)
twolf,
не забыл. и html и body.
у меня не работает. я дал каждой таблице имя (инпуты, которые надо печатать и которые не надо в разных таблицах), и скрыл те. которые не надо. А так не работает:(

B~Vladi, я удалил *. оставил
html, body {display: none;}
input {display: block; visibility: visible; border: 5px solid #000000;color: #000000; }
и все равно ничего не видно...

у меня еще вопрос: можно дать имя элементу (инпуту, таблице) и распечатать только его?

Kolyaj 17.08.2009 15:56

bassolo,
на приведенном вами HTML инпуты печатаются при указании правила html, body {display: block;}.

Но у вас инпуты в формах, формы, скорее всего, в диве, див в яйце, яйцо в утке, утка в...
Чтобы инпуты были видны, очевидно, все их родители должны быть видны.

bassolo 17.08.2009 16:09

Kolyaj,
хорошо, как же напечатать input class="print", а все остальное (input class="noPrint", img, p и тд...) не печатать?
интересна модель типа: все скрыть, указанное напечатать. или это не возможно? нужно прятать каждый элемент?

Kolyaj 17.08.2009 16:10

Все зависит от вашего DOM-дерева.

B~Vladi 17.08.2009 16:33

Можно пройти скриптом, собрать то, что нужно печатать в отдельный див, засунуть его в конец боди, остальное скрыть, а его оставить.

alexKniaz 17.08.2009 17:07

по моему-так :
body *{display:none;}
input {display:block;}
Но тогда input должен быть непосредственным потомком body. Иначе втрое правило придётся переписать для потмка body - предка input


Часовой пояс GMT +3, время: 22:05.