Intereting Posts
Изображение Flex не будет уменьшаться с размером экрана, если контейнер является гиперссылкой Как я могу получить определенное число детей с помощью CSS? Использование jQuery для фильтрации таблицы из нескольких элементов выбора Как отображать данные из URL-адреса (междоменного) на div, используя телефонную развязку Dreamweaver? Извлечение информации из таблицы, кроме заголовка таблицы с использованием bs4 Как пометить номера телефонов? Вставка страницы Html внутри другой страницы Html без использования iFrames Скриптовый тег с внешним источником и телом Добавьте горизонтальное правило к каждому Альтернатива форме загрузки Ajax, вложенной в другую форму Переполнение ячейки таблицы CSS игнорируется FF и Opera Как удалить атрибут id из div с помощью jQuery? Каков путь в html dom для выбранного элемента? Устранение проблем при выпадении означает Разбирайте HTML-ссылки с помощью C #

Когда я могу безопасно использовать новый элемент в HTML5?

16 декабря спецификация расширения HTML5 для элемента была отправлена ​​в W3C под чьей-то редакцией . Реферат выглядит следующим образом:

Эта спецификация является расширением спецификации HTML5 [HTML5]. Он определяет элемент, который будет использоваться для идентификации основной области содержимого документа. Все нормативное содержание в спецификации HTML5, если оно специально не отменено этой спецификацией, не должно служить основанием для этой спецификации.

Основной элемент формализует общую практику идентификации основного раздела контента документа с использованием значений id, таких как «контент» и «основной». Он также определяет элемент HTML, который воплощает семантику и функцию ориентирной роли WAI-ARIA [ARIA] = main.

Пример:

   

Apples

The apple is the pomaceous fruit of the apple tree.

Red Delicious

These bright red apples are the most common found in many supermarkets.

...

...

Granny Smith

These juicy, green apples make a great filling for apple pies.

...

...

У меня есть вся информация, и я чувствую, что должен начать включать ее в веб-страницы. Насколько я знаю, спецификация HTML5 просто прогрессивна, но новые функции были «привязаны» к спецификации без обновления. Я предполагаю, что это означает, что браузеры начнут внедрять его, когда они могут, – вопрос в том, как долго это происходит и как я знаю, что все браузеры поддерживают его? Должен ли я просто построить его так и сейчас и прибегнуть к полиполнению?

Поддержка

будет очень похожа на поддержку любого другого нового элемента контейнера, представленного в HTML 5.

  • Будут поддерживаться новые достаточно браузеры.
  • Старые браузеры позволят вам стилизовать его, чтобы он display: block и давать визуальные эффекты
  • Старые версии IE не будут поддерживать его вообще без шага JavaScript (который будет работать точно так же, как и для всех остальных новых элементов контейнера).

«Когда» зависит от уровня поддержки браузера, который вам нужен, и от того, насколько вы готовы зависеть от JS-прокладки.

На данный момент я был бы осторожен в том, чтобы использовать его.

Для будущего предложения важно то, что в браузерах есть реализация. В частности, поскольку

– предлагаемый элемент уровня блока, он потребует изменения в реализации синтаксического анализа HTML5, а также предоставления ему основной ARIA-роли основного.

Без роли ARIA по умолчанию нет элемента для элемента, хотя его использование в настоящее время для подготовки к этому является разумным подходом.

Однако изменение парсера требует некоторого ухода. Помните, что

является обязательным. Теперь предположим, что вы решили, что перед вашим «основным» содержанием вам нужен параграф преамбулы. Вы могли бы написать:

 < !DOCTYPE html>  

This is my page preamble ...

My main content ...
A story ...

Если и когда браузер реализует элемент

тег
автоматически закрывает элемент

а в DOM элемент

и

будут братьями и сестрами друг друга. Элемент

и его содержимое будут дочерними элементами элемента

. т.е. DOM будет:

 HTML +--HEAD +--BODY +--P | +--This is my page preamble ... +--MAIN +--My main content ... +--DIV +--A story 

Однако прямо сейчас в браузерах

становится дочерним элементом элемента

, а в то время как «My main content …» является дочерним элементом элемента

элемент

не является. т.е. DOM имеет такую ​​структуру:

 HTML +--HEAD +--BODY +--P | +--This is my page preamble ... | +--MAIN | +--My main content ... +--DIV +--A story 

Теперь, конечно, этого легко избежать, явно используя

, в пункте преамбулы, но это ловушка для неосторожного.

Основной элемент HTML 5.1 теперь реализован в Webkit. Поддержка проверки в ближайшее время. Ожидайте реализацию Firefox в ближайшее время.

Вы можете использовать его, Chrome 26 и Firefox 21 уже реализовали его.

Так же, как и при введении многих других новых элементов HTML5, не все браузеры распознают

или имеют для него предустановленные стили. Вам нужно убедиться, что он отображается как элемент уровня блока в вашем CSS:

 main {display:block;} 

На данный момент вам также потребуется использовать JavaScript для создания элемента для более старых версий IE:

  

Конечно, если вы используете html5shiv ,

теперь выпекается напрямую.