Лучшие способы обойти CSS-фоны, не печатаемые

Часто бывает здорово, что фоны CSS не печатаются, однако иногда я использую их для передачи контекстной информации. Как лучше всего обойти CSS-фоны, которые не печатаются, но вы действительно хотите отобразить? Пример, над которым я сейчас работаю, представляет собой таблицу, отображающую финансовую информацию. Для обозначения «хорошего» числа используются разные цвета фона (например, очень прибыльный, прибыльный, нейтральный, отрицательный, очень отрицательный).

Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Введение в CSS
Введение в CSS
CSS является неотъемлемой частью трех основных составляющих front-end веб-разработки.
Как выровнять Div по центру?
Как выровнять Div по центру?
Чтобы выровнять элемент <div>по горизонтали и вертикали с помощью CSS, можно использовать комбинацию свойств и значений CSS. Вот несколько методов,...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Ангулярный шаблон для бронирования путешествий
Toor - Travel Booking Angular Template один из лучших Travel & Tour booking template in the world. 30+ валидированных HTML5 страниц, которые помогут...
3
0
3 832
5
Перейти к ответу Данный вопрос помечен как решенный

Ответы 5

Вы можете сделать шрифт больше и / или жирным, и / или курсивом, и / или красочным.

Я столкнулся с той же проблемой табличных данных цветового кодирования в html, в конце концов я просто переключился на генерацию pdf для цветных распечаток и сделал только черно-белый доступным в html

Я использовал границы для имитации фона, когда мне действительно нужен цвет фона. Что-то вроде этого будет работать (но я прошу прощения за то, что не тестировал это):

div.must-have-background-for-print {
    position: relative;
    width: 400px;
}
div.must-have-background-for-print div.background {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    border-left: 400px solid #999;
}

В ответ на комментарий @Steve Quezadas идея состоит в том, что вместо использования фона вы вставляете элемент в элемент, которому требуется фон, и применяете к нему чрезвычайно широкую границу, чтобы он заполнял внешний элемент. Скорее всего, это потребует, чтобы содержимое этого элемента также находилось внутри другой оболочки, чтобы оно отображалось над новым элементом фона ...

Если вы начали с этого:

<div class = "has-background">Some stuff in here</div>

Вы можете использовать это:

<div class = "has-background">
    <div class = "background" />
    <div class = "content">Some stuff in here</div>
</div>

Это очень уродливо, но я использовал его в прошлом, и он действительно решает проблему, когда цвета фона не печатаются. И, прежде чем вы спросите, вам придется адаптировать CSS к вашему конкретному случаю. Я просто описываю концепцию использования границ для замены фона. Ваша реализация будет зависеть от того, как структурирована ваша страница, и это чрезвычайно сложно сделать, если у вас нет фиксированной ширины или высоты ваших элементов.

Меня несколько смущает смысл приведенного выше кода. Почему «div.must-have-background-for-print» указан дважды? Один из блоков имеет позиционирование «абсолютное», а другой блок - «относительное». Кроме того, «div.background» ищет div с классом «background», верно? Итак, есть два div? Один для фона, а другой div для контента, который накладывается поверх фона?

Steve Quezadas 11.03.2012 21:58

@Steve Quezadas: Обновил мой ответ ответом.

Prestaul 13.03.2012 22:37

Это настройка браузера. Включите фоновую печать в IE. Таким образом, вы можете либо изменить настройки браузера (возможно, если в интрасети), либо просто экспортировать свой отчет в Excel или другой формат для печати.

Ответ принят как подходящий

Два предложения:

  1. Цветовой код текста в строках таблицы
  2. Добавьте цветные значки в начало или конец строк таблицы

Вы даже можете включить их в обычный вид с помощью цветов фона.

Другие вопросы по теме