2

Я не могу получить цветные глификоны для печати в цвете, который я установил. Он напечатан черным.Цветные бутстрапы Глификон напечатаны черными

<i class="glyphicon glyphicon-time text-success"></i> 

У меня была такая же проблема при печати обычного текста, но я добавил важный в файле CSS, как так:

.text-success {color:#688c2a !important} 

Я также пытался добавить его к его родителей но с тем же результатом. Он выглядит хорошо на экране. Я использую Bootstrap 3.

Формат CSS имеет значение все, и я не уверен в кеше с использованием PHP ? T = time(); после CSS-файла.

Любые идеи о том, как заставить его работать с глификонами?

+0

вы используете цветной принтер? – JamieC

+0

Я знал, что кто-то спросит об этом. Очень забавно! ;) – Andreas

+0

Извините, не смог устоять. Можете ли вы привести пример кода? Я предполагаю, что вы не ставите правило в таблицу стилей печати. – JamieC

ответ

1

Хорошо, поэтому я пробовал предлагаемые решения, но я не мог заставить его работать.

я, наконец, должен был пойти в бутстрапирования собственные @media print установки и удаления color:#000 !important

Так странно, что я только мог получить цвет печати на текст перед удалением этой строки. Я не знаю, есть ли лучшее решение, но я решил это.

Спасибо за каждый вход!

0

Если цвет прав на экране и что-то не так в печати, вам, вероятно, нужно найти правила CSS для печати.

Попробуйте искать медиа-запрос «@media print» в ваших таблицах стилей. Вероятно, вы найдете неправильное правило цвета где-то ниже.

+0

Я установил файл Bootstrap в media = "all". Странно, что цвет применяется только к тексту. – Andreas

+0

Если вы посмотрите на исходный код начальной загрузки (https://github.com/twbs/bootstrap/blob/master/less/print.less), стили печати содержатся в запросе на печать, поэтому я думаю, что это будет переопределить это. – JamieC

+0

Итак, я нашел эту строку в файле начальной загрузки: @media print {*, *: before, *: after {background: transparent! Important; color: # 000! Important; ... и удаленный цвет: # 000! important; и теперь он работает. – Andreas

0

код кажется правильным и работает на моем конце. попробуйте очистить кеш и файлы cookie браузера. и если до сих пор проблема возникает попытаться изменить его с помощью JQuery

$('.text-success').css('color', 'red'); 
0

печати таблиц стилей могут иметь такие проблемы. Какой браузер вы используете для печати?

@media print and (color) { 
    * { 
     -webkit-print-color-adjust: exact; 
     print-color-adjust: exact; 
    } 
} 

Попробуйте добавить этот код в свой стиль. Кроме того, перед печатью проверьте свой формат и параметры печати в своем браузере. надеюсь это поможет.

Редактировать: Если вы не против иметь css в своем html, вы можете попробовать добавить эти стили в свои теги html <style>.

+0

@media print .text-success { * { -webkit-print-color-adjust: exact; print-color-adjust: exact; } } Это не работает. Мне пришлось удалить цвет: # 000! Важно из печати печати Bootstraps. – Andreas

2

Держитесь подальше от! Важно, если это абсолютно необходимо. Bootstrap 3 имеет медиа-запрос для стилей печати, он наследует этот стиль для глифов:

@media print *, :after, :before { 
    color: #000!important; 
    text-shadow: none!important; 
    background: 0 0!important; 
    -webkit-box-shadow: none!important; 
    box-shadow: none!important; 
} 

Как вы можете видеть, что они уже в жизнь важно. Создайте свой собственный запрос на печать, более конкретный, используя имя класса, а не только звездочку, что означает все.

@media print .text-success { 
    color:#688c2a !important; 
} 

Если он по-прежнему не отменяет стиль, то используйте! Important. Ключ должен использовать запрос на печать для чего-то подобного.

+0

Спасибо за ввод. Я добавил ваше предложение на свой лист печати, но он по-прежнему работает только для текста, а не для глификонов. – Andreas

2

У меня такая же проблема. На самом деле, в таблице стилей Bootstrap у вас есть

@media print { 
    *, 
    *:before, 
    *:after { 
    background: transparent !important; 
    color: #000 !important; 
    -webkit-box-shadow: none !important; 
      box-shadow: none !important; 
    text-shadow: none !important; 
    } 
... 
} 

фрагмент выше происходит от исходного файла Bootstrap CSS, не копировать-вставить это, это не решит проблему. Это делает каждый символ (включая глификоны) черным при печати. Единственное решение, которое я нашел, - это удалить этот раздел из таблицы стилей загрузки bootstrap. После этого я могу распечатать страницу с соответствующими цветами в PDF-файле, используя принтер PDF из моего браузера.

Кстати, это позволяет восстановить все цвета фона и тени, которые также переопределены (однако они могут быть восстановлены с использованием ваших собственных определений с помощью печати @media и важны в соответствии с другими сообщениями).

Неудобство такого решения заключается в том, что после обновления версии Bootstrap вам потребуется выполнить ту же самую (ручную) операцию, чтобы фиксировать печать.


UPDATE: Как предложено Andreas в his answer, не нужно, чтобы удалить весь раздел «@media печати». Это на самом деле достаточно, чтобы удалить следующую строку из этого раздела, если вы хотите, чтобы сделать glyphicons право цвета:

color: #000 !important; 
+1

Это близко к решению, которое я опубликовал ранее. Я удалил только строку: color: # 000! Important; и он сделал трюк. – Andreas

0

НЕ НАВСЕГДА изменять бутстрэпами меньше файлов, он будет в конечном итоге является поддержание ад. Скорее всего, ваша проблема в том, что значок будет отображаться в i: до и не быть содержимым элемента i. Так есть свой собственный CSS быть:

.text-success:before {color:#688c2a !important}

Смежные вопросы