В чем разница между разметками span и i в HTML

#html #markup

#HTML #разметка

Вопрос:

Это то, что говорится в документации Mozilla о разметке i :

Элемент HTML Idiomatic Text (i) представляет диапазон текста, который по какой-либо причине отличается от обычного текста, например, идиоматический текст, технические термины, таксономические обозначения и другие.

И о разметке span :

Элемент HTML span представляет собой общий встроенный контейнер для формулировки содержимого, который по своей сути ничего не представляет.

Насколько я понимаю, оба предназначены для разграничения фрагментов текста внутри большего абзаца. Чего мне не хватает?

Комментарии:

1. вы пытались найти в Google «span vs i»?

2. Да, я это сделал, все результаты представляют собой сравнения между div и span

3. Если вы спросите практически, разницы нет. Если вам нужно что-то техническое, проверьте спецификации w3c. b , i , em не имеют семантической разницы, т.е. Программа чтения с экрана не различает эти элементы. Так что это либо визуально, либо ничего.

Ответ №1:

i имеет значение, span не имеет. A span просто позволяет вам поместить фрагмент текста в отдельный элемент контейнера. По умолчанию это ничего не значит, но вы можете приписать ему любое значение, какое захотите. Обычно вы бы присвоили этому span a class и применили к этому классу какой-то определенный стиль.

i существующее значение, которое вы описали в своем сообщении. Программы чтения с экрана, например, могут использовать другой акцент для идиоматических выражений, чем для стандартного текста, и по умолчанию он уже выделен курсивом.

Комментарии:

1. Нет программы чтения с экрана , применяющей какое — либо значение к i , em и b . Это даже сказано где-то в документах Mozilla. Большинство ppl говорят, что никогда не использовали SR.

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

Ответ №2:

В html существует парадигма семантики тегов html (https://www.freecodecamp.org/news/semantic-html5-elements /). span это общий контейнер без какого-либо значения для текстовых блоков. То же div , что и для блоков. Но i имеет семантическое значение.

Комментарии:

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

Ответ №3:

Существуют теоретические различия, но есть одно огромное практическое различие. Разметка i означает, что содержащийся текст отображается курсивом в браузере, span сам по себе ничего не делает, кроме, как вы говорите, «дифференцировать фрагменты текста»:

 <p>With amp;<iamp;>:  <i>Hello World</i></p>
<p>With amp;<spanamp;>: <span>Hello World</span></p>  

Ответ №4:

span является универсальным контейнером. Это больше похоже div . But div — это контейнер уровня блока, где span это встроенный контейнер.

Используйте <i> элемент только тогда, когда нет более подходящего семантического элемента, такого как:

 <em> (emphasized text)
<strong> (important text)
<mark> (marked/highlighted text)
<cite> (the title of a work)
<dfn> (a definition term)
  

Пожалуйста, посмотрите ссылку1 или ссылку2.

Комментарии:

1. То, что вы называете «ссылкой», не очень надежный источник мудрости. Свяжите w3c.org если вы считаете, что это того стоит