У меня есть таблица, которая имеет некоторых <input type="text">
поля в нем, и я хочу, чтобы они показали обычным текстом при печати. Я создал медиа = таблица стилей "печати" с
input
{
border-style: none;
}
в нем, и это удаляет границу, таким образом, содержание просто похоже на текст, но вход все еще продвигает ширину столбца к его фактической ширине (не удивительно), таким образом, я получаю ненужный вакуум и ширину столбцов. Существует ли, броский путь к так или иначе или установил ширину входа на свой размер содержания с помощью CSS или некоторого другого способа зафиксировать это?
Кто-то на другом, форумы предложили использовать кнопку печати, которая создает клиентские сценарии для физического изменения разметки страницы, но к сожалению это не действительно практично из-за сложности и динамического характера страницы.
Я вполне уверен, это не может быть сделано, но я думал, что спрошу.
Неа, я не думаю, что это можно сделать без некоторых сценариев. Но скриптинг будет очень легко реализовать с помощью фреймворка вроде Jquery:
Для каждого элемента ввода вы создадите рядом с ним и присвоите ему класс, который будет скрыт в таблице стилей
media="screen"
и виден в media="print"
.
Сам элемент ввода получит класс, который будет работать наоборот: видимый в screen
и скрытый в print
.
Каждый элемент ввода получает событие change
, которое обновляет соседний span
.
У меня пока нет JQuery-рутины, чтобы вытащить это из рукава, и нет времени, чтобы собрать это вместе прямо сейчас, но это определенно решаемо и все еще довольно ненавязчиво - нет необходимости выполнять какие-либо сценарии, когда пользователь начинает печатать.
Готов поспорить, что если вы переименуете вопрос или зададите новый, один из наших гуру JQuery посмотрит на него :)
.