Медиа-атрибут тега ссылки - проекция, телевизор не действителен
Согласно валидатору w3.org:
<link rel="stylesheet" href="css/style.css" media="screen, projection, tv" />
больше не действителен Из-за "проекционной" стоимости.
Я точно не помню, но этот способ Opera в полноэкранном режиме включен. Возможно, Opera также загрузит файл с media="screen".
Вопросы:
- Почему это недействительно сейчас?
- Есть ли другой способ придать дополнительный CSS "полноэкранным / проекционным" устройствам?
- Следует ли не указывать атрибут мультимедиа для базового оформления макета?
3 ответа
Сопровождающий W3C HTML Checker здесь. Около 3 недель назад я внедрил и отправил в рабочую W3C HTML Checker изменение, которое генерирует эти новые ошибки; это изменение: https://github.com/validator/validator/commit/66c739a49afd050226a91f2b7f49662e0dcc9a09
Я сделал это изменение, чтобы привести HTML-контролер в соответствие с текущей спецификацией CSS Media Queries. Как отмечено в предыдущем комментарии:
MQ4 в основном не поддерживает все типы мультимедиа CSS2.1, кроме
all
,screen
а такжеspeech
, ссылаясь на использование обнаружения медиа-функций вместо этого, говоря:Кроме того, определены следующие устаревшие типы носителей. Авторы не должны использовать эти типы носителей; вместо этого рекомендуется выбирать соответствующие медиа-функции, которые лучше отражают тот аспект устройства, к которому они пытаются применить стиль.
Предположительно, валидатор помечает значение как недействительное, потому что он нарушает условие, что "Авторы не должны использовать эти типы медиа".
Полное сообщение об ошибке гласит:
Плохая ценность
screen, projection, tv
для атрибутаmedia
на элементеlink
: Устаревший тип носителяprojection
, Инструкции см. В разделе "Типы медиа" в текущей спецификации медиазапросов.
... и "текущая спецификация Media Queries" ссылается на Media Queries 4, которая в данный момент находится в разработке. MQ4 в основном не поддерживает все типы мультимедиа CSS2.1, кроме all
, print
, screen
а также speech
, ссылаясь на использование обнаружения медиа-функций вместо этого, говоря:
Кроме того, определены следующие устаревшие типы носителей. Авторы не должны использовать эти типы носителей; вместо этого рекомендуется выбирать соответствующие медиа-функции, которые лучше отражают тот аспект устройства, к которому они пытаются применить стиль.
Предположительно, валидатор помечает значение как недействительное, потому что он нарушает условие, что "Авторы не должны использовать эти типы медиа".
Я думаю, что это правильный HTML5:
media
атрибутlink
стихия говорит:Значение должно быть действительным медиа-запросом.
Он ссылается на это определение "действительного медиа-запроса";
Строка является допустимым медиа-запросом, если он соответствует
media_query_list
изготовление спецификации Media Queries. [MQ]Это ссылки на эту спецификацию:
Медиа-запросы (URL: http://www.w3.org/TR/css3-mediaqueries/), Х. Ли, Т. Челик, Д. Глазман, А. ван Кестерен. W3C.
Текущая Рекомендация http://www.w3.org/TR/css3-mediaqueries/:
Упомянутый
media_query_list
определяется в разделе 3:Синтаксис медиазапроса описан в терминах грамматики CSS2. Таким образом, правила, не определенные здесь, определены в CSS2.
media_query_list
определенная ниже продукция заменяетmedia_list
производство из CSS2. [CSS21]Это ссылки на Рекомендацию http://www.w3.org/TR/2011/REC-CSS2-20110607
projection
является одним из признанных типов медиа