Как добавить стили [CSS] для других устройств
From Joomla! Documentation
Задействование стилей CSS предоставляет возможность использовать какой-либо набор директив (стилей) в зависимости от того, какое именно устройство используется для просмотра данной веб-страницы.
Типы медиа устройств
Признанными типами медийных устройств являются следующие:
- all - пригодны для всех устройств
- aural - пригодны для синтезаторов речи
- braille - предназначены для тактильных устройств обратной связи Брайля
- embossed - предназначены для страничных принтеров Брайля
- handheld - предназначены для карманных устройств
- print - используется для форматирования печатуемых страниц
- projection - предназначен для [стилизации] проекционных презентаций, как, к примеру, проекторов или печати на прозрачной пленке.
- screen - предназначен преимущественно для цветных компьютерных экранов.
- tty - предназначен для медийных устройств, использующих сетку знаков с фиксированным шагом, таких как телетипы, терминалы или переносные устройства с ограниченными возможностями дисплея. Авторы [стиля] не должны использовать с этим медиа типом пиксели в качестве единицы измерений.
- tv - предназначен для устройств телевизионного типа (с низким разрешением экрана, цветом, звуком и ограниченной прокруткой экрана).
Примеры
Вы можете назначить какой-либо тип стилевой CSS декларации используя следующий синтаксис
@media print {
body {
font-size: 12pt;
font-color: #000000;
}
}
Для назначения более чем одного декларационного стиля более чем одному медийному типу:
@media print, handheld{
body {
font-size: 12pt;
font-color: #000000;
}
img {
max-width: 100%;
height: auto;
}
}
Эти директивы можно использовать в главном [стилевом] CSS файле или в отдельном стилевом файле согласно данного медийного типа. Ссылка на конкретный стилевой CSS файл должна быть включена в разделе шаблона между тегами <head> и </head> ( нижеследующий код взят из [поставляемого с] Joomla! шаблоном Beez):
<link rel="stylesheet" href="<?php echo $this->baseurl ?>/templates/beez/css/print.css" type="text/css" media="Print" />
The recommended way to include a stylesheet is:
<?php
$document = JFactory::getDocument();
$tpath = $this->baseurl . '/templates/' . $this->template;
$document->addStyleSheet( $tpath . '/css/print.css', 'text/css', 'print'); // arguments: $path, $type, $media
?>
This way, you ensure the stylesheet will be added to the document and is accessible to plugins (e.g for combining and compressing stylesheets).