Как правильно использовать элемент html ‹i›?

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

Однако, когда я ищу тег в Google, школа w3c говорит, что для курсивного текста.

Я запутался, если используется для курсивного текста, почему все используют его для значков? Каково правильное использование этого тега??


person Xavier_Ex    schedule 11.02.2013    source источник
comment
Как насчет перехода к источнику?   -  person Jon    schedule 11.02.2013
comment
Спасибо всем за ответ, как вы уведомили, я понимаю, что для этого уже есть другой вопрос, и на него был дан ответ. Так что я просто пойду и прочитаю это. Результат, который я ищу, — это действительно хороший способ представления значков, поскольку многие громкие имена используют тег ‹i› вне спецификации, что создает путаницу.   -  person Xavier_Ex    schedule 11.02.2013


Ответы (4)


Его следует использовать для выделения текста курсивом. Наиболее семантическое использование курсивного текста — <em>, так как оно поддерживается программами чтения с экрана для выделения.

<i> и <b> постепенно выходят из моды в пользу использования CSS для стилизации текста и сохранения <em> и <strong> из соображений доступности.

Я предполагаю, что он был выбран для значков, так как это ближайший элемент и имеет алфавитный смысл (т.е. i = значок).

person BenM    schedule 11.02.2013
comment
Во время недавних исследований я также узнал, что использование ‹i› для иконок — плохая идея. HTML должен содержать меньше несемантического содержимого и иконок, являющихся его частью. По возможности следует использовать псевдоэлементы css для отображения значков. - person Xavier_Ex; 16.04.2013

Потому что HTML со временем извратился.

Официальное «правильное использование» в HTML 4.01 предназначено для курсивного текста.

person SBoss    schedule 11.02.2013

<i>  was the old way to make text italic in HTML.  

Тег теперь был переопределен в HTML5, и я считаю, что TwitterBootstrap просто использовал это соглашение для значков, но это определенно не стандартный способ создания значков.

http://w3.org/International/questions/qa-b-and-i-tags

person Darren    schedule 11.02.2013
comment
В какой спецификации объявлен устаревшим элемент i? - person Quentin; 11.02.2013
comment
w3.org/International/questions/qa-b-and- i-tags — хотя он явно не объявляется устаревшим, я считаю, что теги не следует использовать для курсива, особенно с учетом того, что спецификация HTML 5 переопределила значение ‹i› - person Darren; 11.02.2013

Тег <i> не рекомендуется, потому что он не дает семантического указания на то, почему текст выделен курсивом.

Для отображения текста курсивом следует использовать тег <em>. (или другой тег с соответствующим семантическим значением в сочетании с CSS)

Совсем недавно люди начали использовать теги <i> для значков, потому что i означает значок.

person SLaks    schedule 11.02.2013