Pouvez-vous avoir un <span> dans un <span>?

191

Voici l'histoire: j'utilise SWFObject pour insérer un objet Flash dans ma page. L'intégration mange mon span. Donc, je perds tout mon CSS pour cela. Je pensais déplacer tout le CSS vers le parent afin de ne pas perdre mes styles CSS lorsque le Flash apparaît.

J'ai essayé d'utiliser un spandans un span, mais je ne pense pas que cela fonctionne. Y a-t-il une raison à cela? Je ne comprends pas pourquoi vous pourriez avoir divdans un divmais pas spandans un span.

Cela a-t-il à voir avec le fait d' spansêtre en ligne?

Roozbeh15
la source
20
Vous pouvez avoir un intervalle dans un intervalle
SLaks
1
Qu'entendez-vous par: "l'intégration mange ma durée". Veuillez également fournir un cas de test réduit sur dabblet ou Jsfiddle .
bookcasey
Un span n'est pas différent d'un div sauf que par défaut les propriétés de chacun ont tendance à être définies d'une certaine manière. Cependant, ce ne sont que des éléments. Vous pouvez afficher une travée comme un élément de niveau bloc si vous choisissez de le faire. Je pense que vous n'utilisez pas correctement la méthode d'intégration. Je crois que swfObject vous demande de définir un élément pour qu'il remplace le contenu de. Leur exemple ici: code.google.com/p/swfobject/wiki/documentation les montre en train de remplacer un objet. Vous devriez peut-être faire de même.
Kai Qing
Pour quiconque rencontre cette question. Gardez à l'esprit que vous devrez peut-être définir votre durée sur position: blockou position: inline-blocksi vous devez ajouter un style.
JGallardo
@JGallardo vous voulez dire display: blockou display: inline-block.
Esteban Santini le

Réponses:

293

La spécification HTML4 stipule que:

Les éléments en ligne peuvent contenir uniquement des données et d'autres éléments en ligne

Span est un élément en ligne, donc avoir span à l'intérieur de span est valide. Il y a une question connexe: les balises <span> peuvent-elles contenir n'importe quel type de balises? ce qui le rend parfaitement clair.

La spécification HTML5 (y compris la version la plus récente de HTML 5.3 datée du 16 novembre 2017) modifie la terminologie, mais il est toujours parfaitement valide de placer span dans une autre étendue.

Paweł Bulwan
la source
186

Oui. Vous pouvez avoir un spandans un span. Votre problème vient d'autre chose.

bookcasey
la source