Библиотека Интернет Индустрии I2R.ru |
|||
|
CSS. Печатаем со стилемАвтор: Никита Вакорин Часто на интернет-страницах встречаются ссылки с текстом “версия для печати”. Это словосочетание говорит само за себя. Такие ссылки ведут на страницы с идентичным содержанием первостепенного материала оригинальной страницы, но только предназначены они для того, чтобы выводить содержимое на бумагу. Отличный способ это делать — использовать CSS, который отлично справляется с выводом веб-страниц вашего сайта на печать. Помню, когда я впервые пытался распечатать веб-страницу. Также помню, что мне этого не удалось сделать. Я испортил около 10 листов. На бумаге появлялась только одна четвёртая часть страницы. Мне даже думалось, что виновник моих неудач — это принтер, но в настоящее время я понимаю, что виновником был тот самый веб-сайт, дизайн которого не был рассчитан на пользователя, которому может понадобиться распечатать страницу.Разные резолюции мониторов и разные конструкции сайтов не позволяют одинаково отображать дизайн сайта на экране и на бумаге. Поэтому приходится создавать отдельную страницу с одинаковым содержанием, но оптимизированную для печати. Есть, конечно, исключения — очень простые дизайны страниц или заранее продуманные для печати дизайны. Что именно печатать?Если распечатанная веб-страница идентична своей экранной копии, это не всегда есть хорошо. Даже наоборот. Лично я считаю, что при печати интернет-старницы, на бумаге должно выводиться содержимое первостепенного материала — то, за чем пользователь пришёл на эту самую страницу. Например, если мне понравилась определённая статья, и у меня появилось желание её распечатать, то на бумаге я хочу увидеть именно эту статью, а не рекламу этого сайта или любые другие элементы страницы, которые будут отвлекать меня от чтения. В таких случаях я часто копирую статьи в текстовый редактор и уже из этого редактора распечатываю необходимый мне текст. То же самое относиться и к печати картинок. Например, если я просматриваю галерею фотографий, открываю нужную мне фотографию в увеличенном виде на новой странице, и хочу распечатать эту фотографию, то на бумаге я предпочитаю увидеть только эту фотографию и относящийся к ней текст. Мне не нужна навигация сайта, реклама, или другие элементы страницы, не относящиеся к предмету печати. А если я собираюсь распечатать пару сотен страниц, сколько тогда лишней и зачастую дорогой краски я потрачу впустую? Роль CSS в печати веб-страницБольшинство сайтов, предоставляющих возможность распечатать содержимое, используют PHP и с его помощью преобразовывают оригинал страницы, или просто создают отдельные для печати страницы. Зачем? Можно обойтись без дубликатов. Веб-страницы, предназначенные для печати, зачастую являются отдельно созданными страницами. Я не вижу ни одного достоинства у такого подхода — только недостатки. Главные из этих недостатков:
Как быть? Использовать CSS! Экран монитора — это не единственная среда, в которой может работать CSS. Каскадные таблицы ещё предусмотрены для следующих типов носителей:
В данный момент нас интересует печатный тип носителя. В качестве вводного материала по печати с помощью CSS прочитайте статью В Печать! (перевод на русский язык статьи Эрика Майера Going to Print). “И вот в прошлое уходят проблемы с созданием и синхронизацией двух версий документа - одной для экрана, другой - для печати. И что самое приятное: сделать это проще простого.” И действительно ничего сложного нет. Если уже есть навыки CSS-вёрстки, то создать отдельный CSS-файл проще простого. Прочитайте статью Эрика и вы поймете, что нужно скрыть ненужные элементы страницы, подрегулировать единицу измерения и размеры шрифтов, размеры отдельных элементов и так далее, после чего вы получите CSS-файл, который будет отвечать за бумажный вариант страниц, распечатанных с вашего сайта. Распечатать эту страницуИтак, CSS-файл для печати создан и подключён с помощью следующей строки кода, которую необходимо поместить между тэгами <link rel="stylesheet" type="text/css" media="print" href="print.css" /> Дальше, когда посетитель захочет распечатать страницу и нажмёт кнопку печати в своём браузере, то документ распечатается в задуманном виде, т.е. подключится Как подключать новые CSS-файлы?Теперь, необходимо, чтобы при нажатии ссылки, подключался необходимый нам CSS-файл. Я выбираю метод с использованием PHP (есть несколько вариантов с использованием JavaScript), а именно метод, который успешно работает на Zen Garden (меняет дизайны), и который Дэйв предлагает использовать любому желающему. Код следующий: <?php
$tempCSS = $HTTP_GET_VARS["cssfile"]; Этот PHP-скрипт необходимо вставить в каждую страницу вашего сайта, где будут подгружаться новые CSS-файлы. <link rel="stylesheet" type="text/css" href="<?php echo $loadCSS; ?>" title="default" media="screen" /> и так тоже работает: <style type="text/css" media="all">@import "<?php echo $loadCSS ?>";</style> Наконец, чтобы сослаться на конкретный CSS-файл и применить его к конкретной интернет-странице, необходимо прописать следующее: <a href="thispage.html?cssfile=print.css">Изменить стиль
Текст Изменить стиль можно заменить любым другим. Один из популярных и понятных заголовков – версия для печати. Печатайте на здоровье! Удачи. Статьи по теме:
|
|
2000-2008 г. Все авторские права соблюдены. |
|