Le positionnement du contenu :après le pseudo-élément absolument par rapport à un des éléments inline bord supérieur

Je suis à la recherche d'un CSS seule façon de placer le contenu dans un :after pseudo élément absolue par rapport à l'autre - éventuellement multiligne - élément du bord supérieur. Le résultat devrait ressembler à ceci:

Le positionnement du contenu :après le pseudo-élément absolument par rapport à un des éléments inline bord supérieur

Généralement il n'y a pas la science de fusée impliqués pour obtenir cela, mais j'aimerais trouver une solution qui répond également aux critères suivants:

  • Ne pas utiliser le :before pseudoelement (ce qui est déjà nécessaire pour atteindre certains autres indépendants chose),
  • ne pas utiliser display: block/inline-block; sur l'élément inline (parce qu'il crée des laids des trous dans le flux de texte),
  • permettent de définir la largeur des éléments comme un pourcentage de l'élément conteneur (au moins après l'application de la règle de trois),
  • ne pas coder en dur la position supérieure/margin/padding de la :after-pseudo-élément de quelque manière qui le rend dépendant de l'élément parent de la position à l'intérieur du grand-parent de l'élément, l'élément parent de la hauteur ou de l'élément actuel de la hauteur (ou pour faire court: ne pas faire quoi que ce soit dépendante du contenu),
  • ne pas insérer d'autres éléments HTML, et
  • n'ajoutez pas de JS.

J'ai créé un Codepen qui, espérons-le rend plus facile à saisir ce que je vais faire ici.

Je sais qu'il est facilement possible d'obtenir le résultat en cas de violation de l'une des restrictions énumérées ci-dessus (comme démontré dans le Codepen), mais je suis à la recherche d'un élégant solution à ce problème si ce n'est pas nécessaire.

Après avoir joué avec pendant un certain temps, je dirais qu'il n'est pas possible, mais ce serait génial si quelqu'un pouvait me convaincre du contraire - ou tout au moins formellement prouve qu'il est en fait impossible. Merci beaucoup pour toute aide à l'avance.

Est ::before besoin de quelque chose de sensible à la position, trop? Sinon, vous pouvez l'utiliser.
Le ::after largeur doit être relatif à <p> de mais ses top devrait par rapport à <span>, correct? Je crois que c'est la partie la plus difficile...
Merci pour vos commentaires. @Terry: L'idée de cette question était de trouver une solution sans l'aide de :before par exemple, si c'est déjà utilisé pour autre chose. @Luizgrs: Oui, je pense que c'est l'essence même du problème. Je suis intéressé si il y a une sorte de hack ou solution de contournement se rapportent à ces deux éléments, l'un pour la largeur et l'autre pour le placement à l'horizontale.
Pourquoi doit-il être un ::after pseudo-élément? Ne peut-il pas être un élément réel comme codepen.io/HerrSerker/stylo/GwJhu
Les exigences imposées sont impossibles à satisfaire à l'aide de pure CSS

OriginalL'auteur bfncs | 2014-10-14