English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Типы носителей CSS позволяют форматировать документ так, чтобы он корректно отображался на различных типах носителей (например, экран, печать, аудиобраузеры и т.д.).
CSS @media (медиа) - одна из最重要的 функций таблиц стилей, и вы можете определить отдельные таблицы стилей для различных типов носителей. Это один из лучших способов создания веб-страниц, удобных для печати - просто назначьте разные таблицы стилей для типа носителя "печать".
Некоторые свойства CSS применимы только к определенным носителям. Например, этоpage-break-afterАтрибут применим только к многостраничным носителям. Однако, несколько атрибутов могут быть共享имы между различными типами носителей, но может потребоваться использование различных значений для этого атрибута.font-sizeНапример, этот атрибут можно использовать для экрана и печатных носителей, но он может иметь разные значения.
В сравнении с лучшей читаемостью, документ обычно требует больших шрифтов на экране компьютера, и безшрифтовые шрифты считаются более удобочитаемыми на экране, в то время как шрифты с засечками популярны для печати. Поэтому необходимо указать, какие стили таблицы или набор правил стилей применяются к определённым типам медиа.
Обычно используются три метода для указания зависимости таблицы стилей от медиа:
Правило @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 неактивны.
Правило @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Указание必须在 начале таблицы стилей, перед любыми объявлениями. Любые стили, указанные в таблице стилей, будут перекрывать конфликтующие стили таблицы стилей, импортированной.
Элементы, установленные на свойстве 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。 |
用于打印机。 | |
projection | 用于投影演示,例如投影仪。 |
screen | 主要用于彩色计算机屏幕。 |
tty | 用于使用固定间距字符网格的媒体,例如电传打字机,终端或显示能力有限的便携式设备。 |
tv | 用于电视类型的设备-低分辨率,彩色,可滚动性有限的屏幕,有声音。 |
警告:但是有几个媒体类型根据不同浏览器情况选择使用,因为大多数的浏览器只支持all,screen以及print媒体类型。