Я знаю, что элементы ввода становятся доступными только для чтения, применяя логический атрибут readonly
и являясь атрибутом, на который это не влияет CSS.Можно ли вводить поля ввода только для чтения через CSS?
С другой стороны, мой сценарий, похоже, очень подходит для CSS, поэтому я надеялся, что есть какой-то трюк CSS, который позволит мне это сделать. У меня есть версия для печати гиперссылка на мою форму. При нажатии на него отображается ... версия для печати документа. Это в основном CSS материал, мой print.css выглядит следующим образом:
html.print {
width: 8.57in;
}
.print body {
font: 9pt/1.5 Arial, sans-serif;
margin: 0 1in;
overflow: auto;
}
.print #header, .print #footer {
display: none;
}
.print .content {
background-color: white;
overflow: auto;
}
.print .fieldset > div.legend:first-child {
background: white;
}
.print ::-webkit-input-placeholder {
/* WebKit browsers */
color: transparent;
}
.print :-moz-placeholder {
/* Mozilla Firefox 4 to 18 */
color: transparent;
}
.print ::-moz-placeholder {
/* Mozilla Firefox 19+ */
color: transparent;
}
.print :-ms-input-placeholder {
/* Internet Explorer 10+ */
color: transparent;
}
.print .check-mark {
display: inline;
}
.print input[type=checkbox] {
display: none;
}
.print .boolean-false {
display: none;
}
Есть также несколько JavaScript частей, таких как:
- Добавление
print
класс в HTML элемент - Отображено таблицы без полос прокрутки
- Несколько других второстепенных вещей, например, скрытие всплывающих окон.
Моя текущая проблема - это поля ввода. Они должны быть доступны только для чтения, однако я понятия не имею, как это сделать с минимальными изменениями кода. CSS может быть идеальным решением.
Любые идеи?
на печатной версии, вы не могли бы просто добавить атрибут в тег HTML? – Pete
Не думайте, что это возможно с помощью CSS.CSS предназначен для стилизации. – sroes
Это не отвечает на вопрос, но почему бы не использовать медиа-запрос типа '@media print' для создания версии для печати? – PLPeeters