English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основы CSS

Модель блока CSS

Основы CSS3

CSS Руководство

Правила CSS @

Atmedia CSS (Atmedia)

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

Введение в типы носителей

CSS @media (медиа) - одна из最重要的 функций таблиц стилей, и вы можете определить отдельные таблицы стилей для различных типов носителей. Это один из лучших способов создания веб-страниц, удобных для печати - просто назначьте разные таблицы стилей для типа носителя "печать".

Некоторые свойства CSS применимы только к определенным носителям. Например, этоpage-break-afterАтрибут применим только к многостраничным носителям. Однако, несколько атрибутов могут быть共享имы между различными типами носителей, но может потребоваться использование различных значений для этого атрибута.font-sizeНапример, этот атрибут можно использовать для экрана и печатных носителей, но он может иметь разные значения.

В сравнении с лучшей читаемостью, документ обычно требует больших шрифтов на экране компьютера, и безшрифтовые шрифты считаются более удобочитаемыми на экране, в то время как шрифты с засечками популярны для печати. Поэтому необходимо указать, какие стили таблицы или набор правил стилей применяются к определённым типам медиа.

Создание таблицы стилей, зависимой от медиа

Обычно используются три метода для указания зависимости таблицы стилей от медиа:

Метод 1: Использование правила @media

Правило @media используется для определения различных правил стиля для различных типов медиа в одной таблице стилей. Обычно за ним следует список типов медиа, разделённый запятыми, и блок CSS-утверждений, содержащий правила стиля для целевых медиа.

В примере стиля, приведённом ниже, указано, что браузеру нужно отображать текст正文 на экране с использованием шрифта Arial 14 пт, но при печати — с использованием Times 12 точек. Однакоline-heightУказанные значения обоих свойств установлены в 1.2:

@media screen {
    body {
        color: #32cd32;
        font-family: Arial, sans-serif;
        font-size: 14px;
    }
}
@media print {
    body {
        color: #ff6347;
        font-family: Times, serif;
        font-size: 12pt;
    }
}
@media screen, print {
    body {
        line-height: 1.2;
    }
}
测试看看‹/›

Внимание:Правила за пределами правил@mediaПодходит для всех типов медиа, на которые распространяется таблица стилей. Внутренние правила @media в CSS2.1 неактивны.

Метод 2: Использование правила @import

Правило @import — это другой способ установки стилей для специфичных целевых медиа, просто указав разделённый запятыми список типов медиа после URL импортируемой таблицы стилей.

@import url("css/screen.css") screen;
@import url("css/print.css") print;
body {
    background: #f5f5f5;
    line-height: 1.2;
}
测试看看‹/›

Указание media типа print в выражении @import указывает браузеру загрузить внешнюю таблицу стилей (print.css) и применить её стили только для печатных медиа.

Внимание:Все@importУказание必须在 начале таблицы стилей, перед любыми объявлениями. Любые стили, указанные в таблице стилей, будут перекрывать конфликтующие стили таблицы стилей, импортированной.

Метод 3: Использование <link> элемент

Элементы, установленные на свойстве media, используются для указания целевого介质 в внешних таблицах стилей документа HTML.

<link rel="stylesheet" media="all" href="css/common.css">
<link rel="stylesheet" media="screen" href="css/screen.css">
<link rel="stylesheet" media="print" href="css/print.css">
测试看看‹/›

在此示例中,该media属性指示浏览器加载外部样式表“screen.css”,并且仅将其样式用于屏幕,而将“print.css”用于打印。

提示:您还可以指定多种媒体类型(每种都用逗号分隔,例如media="screen, print"),以及 元素的媒体需求。

不同的媒体类型

下表列出了可用于定位不同类型的设备(例如打印机,手持设备,计算机屏幕等)的各种媒体类型。

媒体类型
描述
all用于所有媒体类型的设备。
aural用于语音和声音合成器。
braille用于盲文触觉反馈设备。
embossed用于页面盲文打印机。
handheld用于小型或手持设备-通常是小屏幕设备,例如手机或PDA。
print用于打印机。
projection用于投影演示,例如投影仪。
screen主要用于彩色计算机屏幕。
tty用于使用固定间距字符网格的媒体,例如电传打字机,终端或显示能力有限的便携式设备。
tv用于电视类型的设备-低分辨率,彩色,可滚动性有限的屏幕,有声音。

警告:但是有几个媒体类型根据不同浏览器情况选择使用,因为大多数的浏览器只支持all,screen以及print媒体类型。