У меня есть DIV с длинным текстом и усекайте его функцией. Это все хорошо, пока кто-то не распечатает страницу. Усеченный текст не читается.
Есть ли способ предотвратить это?
Я искал эквивалент для печати в формате CSS, но все, что я могу найти, работает с шириной экрана. Я не знаю, что лучше: обрезать только для медиа-экрана или удалить усечение на "печать".
// Truncate the job description
$(function() {
if ( $('#jetsSearch').length ) {
$('.job-description').readmore({
speed: 100,
collapsedHeight: 50,
moreLink: '<a href="#">Read more</a>',
lessLink: '<a href="#">Less</a>',
});
}
});
Я пробовал этот, но он не работает (все еще усечен)
if ( $('#jetsSearch').length && window.matchMedia("screen").matches) {
Похоже, вы используете плагин readmore.js jquery.
Вот как я справился с одной и той же проблемой. Readmore.js использует javascript для применения встроенного стиля высоты (между прочим) к вашему контейнеру. Единственный способ переопределить эти встроенные стили в CSS, чтобы использовать !important
правило в своем объявлении.
Таким образом, добавив height: auto;
к элементам с атрибутом data-readmore
с важным правилом, вы можете переопределить это для стилей печати (для этого я использую запрос на печать в моем CSS). Я также скрываю ссылку "читать больше", потому что она не имеет отношения к печатным страницам.
@media print {
[data-readmore] {
height: auto !important;
}
[data-readmore-toggle] {
display: none !important;
}
}
ReadMore.js
. OP, я бы, возможно,readmore.js
ваш вопрос с помощьюjquery
иreadmore.js
чтобы увидеть, могут ли другие люди прийти на помощь