Я пытаюсь распечатать страницу. На этой странице я дал таблицу цвет фона. Когда я просматриваю предварительный просмотр в Chrome, он не принимает свойство цвета фона ...
Итак, я попробовал это свойство:
-webkit-print-color-adjust: exact;
но по-прежнему не показывает цвет.
.vendorListHeading {
background-color: #1a4567;
color: white;
-webkit-print-color-adjust: exact;
}
<div class="bs-docs-example" id="soTable" style="padding-top: 10px;">
<table class="table" style="margin-bottom: 0px;">
<thead>
<tr class="vendorListHeading" style="">
<th>Date</th>
<th>PO Number</th>
<th>Term</th>
<th>Tax</th>
<th>Quote Number</th>
<th>Status</th>
<th>Account Mgr</th>
<th>Shipping Method</th>
<th>Shipping Account</th>
<th style="width: 184px;">QA</th>
<th id="referenceSO">Reference</th>
<th id="referenceSO" style="width: 146px;">End-User Name</th>
<th id="referenceSO" style="width: 118px;">End-User's PO</th>
<th id="referenceSO" style="width: 148px;">Tracking Number</th>
</tr>
</thead>
<tbody>
<tr class="">
<td>22</td>
<td>20130000</td>
<td>Jim B.</td>
<td>22</td>
<td>510 xxx yyyy</td>
<td>zznn@abc.co</td>
<td>PDF</td>
<td>12/23/2012</td>
<td>Approved</td>
<td>PDF</td>
<td id="referenceSO">12/23/2012</td>
<td id="referenceSO">Approved</td>
</tr>
</tbody>
</table>
</div>
google-chrome
css
printing
webkit
ghost_dad
источник
источник
Ответы:
CSS-свойство Chrome
-webkit-print-color-adjust: exact;
работает надлежащим образом.Однако убедиться, что у вас есть правильный CSS для печати, часто бывает сложно. Чтобы избежать трудностей, которые вы испытываете, можно сделать несколько вещей. Во-первых, отделите весь ваш CSS для печати от вашего CSS для экрана. Это делается через
@media print
и@media screen
.Часто просто установить какой-то дополнительный
@media print
CSS недостаточно, потому что при печати все еще включаются все остальные CSS. В этих случаях вам просто нужно знать о специфике CSS, поскольку правила печати автоматически не выигрывают у правил CSS без печати.В вашем случае
-webkit-print-color-adjust: exact
работает. Тем не менее, вашиbackground-color
и цветовые определения выбиваются другим CSS с более высокой специфичностью.Хотя я не одобряю использование
!important
практически при любых обстоятельствах, следующие определения работают должным образом и выявляют проблему:Вот скрипка (и встроенная для удобства предварительного просмотра печати).
источник
Print preview failed.
сообщение в Chrome v47.0.2526.106Это свойство CSS - все, что вам нужно, оно работает для меня ... При предварительном просмотре в Chrome у вас есть возможность увидеть его черно-белое и цветное ( Цвет: Параметры-Цвет или Черно-белый ), поэтому, если у вас нет этого параметра, то Я предлагаю взять это расширение Chrome и сделать вашу жизнь проще:
https://chrome.google.com/webstore/detail/print-background-colors/gjecpgdgnlanljjdacjdeadjkocnnamk?hl=en
Сайт, который вы добавили на fiddle, нуждается в этом в вашей медиа-печати css (вам нужно просто добавить его ...
Медиа печать CSS в теле:
ОБНОВИТЬ ОК, так что ваша проблема - bootstrap.css ... он имеет медиа-печать css так же, как и вы ... вы удаляете это, и это должно дать вам цвет .... вам нужно либо сделать свое дело, либо придерживаться бутстрапс печать css.
Когда я нажимаю на печать, я вижу цвет .... http://jsfiddle.net/rajkumart08/TbrtD/1/embedded/result/
источник
@media print { body {margin:0; padding:0; line-height: 1.4em; word-spacing:1px; letter-spacing:0.2px; font: 12px Arial, Helvetica,"Lucida Grande", serif; color: #000;}....
вам нужно добавить ее туда ...Chrome не будет отображать фоновый цвет или некоторые другие стили при печати, если параметр фоновой графики отключен.
Это не имеет ничего общего с CSS, @media или спецификой. Возможно, вы можете обойти это, но самый простой способ получить хром, чтобы показать цвет фона и другую графику, это правильно установить этот флажок в разделе «Дополнительные параметры».
источник
Мне просто нужно было добавить
!important
атрибут в тег background-color, чтобы он появился, мне не понадобилась часть webkit:background-color: #f5f5f5 !important;
источник
Если вы используете загрузчик или любой другой сторонний CSS, убедитесь, что вы указали экран мультимедиа только на нем, чтобы у вас был контроль над типом материала для печати в ваших собственных файлах CSS:
источник
Ваш CSS должен быть таким:
источник
Для тех, кто использует BOOTSTRAP.CSS, это исправление!
Я перепробовал все решения, и они не работали ... пока я не обнаружил, что bootstrap.css был очень раздражающим,
@media print
который сбрасывает все ваши цвета, цвета фона, тени и т.д. ...Так что либо удалите этот раздел из bootstrap.css (или bootstrap.min.css)
Или переопределите эти значения в CSS страницы, которую вы хотите распечатать на свой собственный
@media print
источник
Используйте следующее в вашей
@media print
таблице стилей.Вот пара вещей, на которые стоит обратить внимание:
Смотрите мою скрипку для более подробной демонстрации.
источник
Вы уверены, что это проблема CSS? Есть несколько сообщений на Google по этой проблеме: http://productforums.google.com/forum/#!category-topic/chrome/discuss-chrome/eMlLBcKqd2s
Это может быть связано с процессом печати. В Safari, который также является webkit, в диалоговом окне принтера есть флажок для печати фоновых изображений и цветов.
источник
Если вы используете IE, перейдите к предварительному просмотру печати (щелкните правой кнопкой мыши по документу -> предварительный просмотр печати), перейдите к настройкам и выберите параметр «Печатать цвет фона и изображения», выберите этот параметр и попробуйте.
источник
В файлах начальной загрузки css в разделе @media print {* ,: after,: before ....} есть стиль, имеющий цвет и фоновые стили, помеченные! Важно, которые удаляют любые фоновые цвета на любых элементах. Убейте эти две части CSS, и это сработает.
Bootstrap принимает исполнительное решение, что у вас никогда не должно быть какого-либо цвета фона в отпечатках, поэтому вы должны отредактировать их css или иметь другой! Важный стиль, который имеет более высокий приоритет. Хорошая работа, бутстрап ...
источник
Я использовал ответ purgatory101, но не смог сохранить все цвета (значки, фоны, цвета текста и т. Д.), Особенно из-за того, что таблицы стилей CSS нельзя использовать с библиотеками, которые динамически изменяют цвета элемента DOM. Поэтому вот скрипт, который изменяет стили элемента (
background-colour
иcolour
) перед печатью и очищает стили после завершения печати. Полезно избегать написания большого количества CSS в@media print
таблице стилей, так как она работает независимо от структуры страницы.Существует часть скрипта, специально созданная для сохранения цвета значков FontAwesome (или любого элемента, который использует
:before
селектор для вставки цветного содержимого).JSFiddle показывает скрипт в действии
Совместимость: работает в Chrome, я не тестировал другие браузеры.
А затем измените
window.print
функцию, чтобы она устанавливала стили перед печатью и сбрасывала их после.Часть, которая находит пути значков для создания CSS: элементы before перед копией этого SO ответа
источник
var
изwindow
последнего фрагмента кода)Вы также можете использовать
box-shadow
собственность.источник
Если вы используете Bootstrap. Просто используйте этот код в вашем файле CSS. Bootstrap удаляет все ваши цвета в предварительном просмотре.
источник
Если вы загрузите Bootstrap без опции «Стили печатных носителей», у вас не возникнет этой проблемы, и вам не придется удалять код «@media print» вручную в файле bootstrap.css.
источник
Лучшее решение для этого, если вы используете bootstrap, поэтому просто удалите @media print {} весь код внутри этого. и включите фоновую графику из большего количества настроек во время предварительного просмотра.
источник
Я дважды загружаю свой внешний исходный файл CSS и меняю media = "screen" на media = "print", и все границы для моей таблицы были показаны
Попробуй это :
источник