Итак, у меня есть этот код:CSS для средств массовой печати
HTML:
<body>
<div>...</div>
<table id="printthis">
<tr>
<td>...</td>
...
...
</tr>
</table>
<someOtherElementIdontNeed />
<div>...</div>
</body>
CSS:
@media print {
body *:not(.printable) {
display: none;
}
.printable {
position: absolute;
top: 0;
left: 0;
}
}
JS: (У меня есть где-то в HTML, который вызывает это (для печати))
jQuery(document).ready(function(){
jQuery("#print").click(function(event){
jQuery("#printthis").addClass("printable");
jQuery("#printthis *").addClass("printable");
window.print();
});
});
В принципе, я хочу, чтобы все e содержимое <table>
будет напечатано, кроме всего остального, что не находится внутри тега. Я вызвал jQuery.addClass, чтобы отличить все, что печатается от того, что нет.
JS-скрипт, кажется, работает нормально, я проверил хром-инструмент, добавив его. Мой css просто, кажется, не узнает их.
Разве это не означает, что переключатель :not()
предназначен для обработки? При печати срабатывает, все, что я получаю пустую страницу ... отображая все элементы, которые none
не освобождает тех, с .printable
класса
'JQuery ("# печать") нажмите кнопку (функция (событие)) { JQuery (": нет (#printthis)"). addClass ('dontprint'); window.print(); }); ' в css. '.dontprin {display: none} 'вы можете попробовать вот так: – guradio
Все элементы INSIDE для печатаемых классов по-прежнему отображаются на дисплее: none. Вот почему вы ничего не видите. – user3154108
@ user3154108, позаботьтесь, чтобы объяснить дальше? Я думаю, что они освобождены от этого правила. – Valkyrurr