Можете ли вы иметь <span> внутри <span>?


191

Вот история: я использую SWFObject, чтобы вставить объект Flash на мою страницу. Вложение ест мой span. Поэтому я теряю все свои CSS для этого. Я думал о переносе всего CSS на родительский, чтобы не терять свои стили CSS при появлении Flash.

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

Это связано с spansтем, чтобы быть встроенным?


20
Вы можете иметь промежуток в пределах промежутка
SLaks

1
Что вы подразумеваете под: «вложение ест мой промежуток». Также, пожалуйста, предоставьте сокращенный тестовый пример на dabblet или Jsfiddle .
книжный шкаф

Пролет не отличается от div, за исключением того, что по умолчанию свойства каждого имеют тенденцию определяться определенным образом. Тем не менее, они оба просто элементы. Вы можете просмотреть диапазон как элемент уровня блока, если решите это сделать. Я думаю, что вы используете метод встраивания неправильно. Я полагаю, что swfObject просит вас определить элемент для замены содержимого. Их пример здесь: code.google.com/p/swfobject/wiki/documentation показывает их замену объекта. Может быть, вы должны сделать то же самое.
Кай Цин

Для всех, кто сталкивается с этим вопросом. Имейте в виду, что вам может потребоваться установить диапазон position: blockили position: inline-blockдобавить стиль.
Джаллардо

@JGallardo ты имеешь в виду display: blockили display: inline-block.
Эстебан Сантини

Ответы:


294

Спецификация HTML4 гласит, что:

Встроенные элементы могут содержать только данные и другие встроенные элементы.

Span является встроенным элементом, поэтому допустимо использовать span внутри span. Есть связанный вопрос: могут ли теги <span> иметь какие-либо типы тегов внутри них? что делает это совершенно ясно.

Спецификация HTML5 (включая самый последний черновик HTML 5.3 от 16 ноября 2017 года) меняет терминологию, но все еще совершенно правильно размещать диапазон внутри другого диапазона.


186

Да. Вы можете иметь spanвнутри span. Ваша проблема проистекает из чего-то другого.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.