2012-09-21 4 views
1

En supposant que j'ai un div avec une largeur fixe et du texte d'emballage automatique à l'intérieur. Maintenant, je veux insérer un élément span à la fin de la première ligne. Parce que le texte n'est pas écrit dans une structure spécifique, la première ligne pourrait contenir cinq mots ainsi que trois ou un seul. Donc, je devrais trouver la position sur laquelle la rupture de ligne automatique se produit. Est-ce possible ou dois-je insérer un manuel br ou un marqueur?Comment trouver la première ligne dans l'habillage automatique html

+0

Je pense que vous auriez besoin d'un manuel '
'. – Travesty3

Répondre

0

C'est douloureusement possible. La question est pourquoi essayez-vous de faire cela? Il peut y avoir un moyen plus facile d'accomplir ce dont vous avez besoin.

Si vous décidez que vous avez encore besoin de faire cela, ce que vous auriez à faire est de créer un clone de ce div qui ne peut pas être vu. Vous définiriez la hauteur de cette div clonée à 1px ou quelque chose comme ça. Vous pouvez ensuite remplir ce clone avec un texte identique mot par mot. Une fois que le scrollHeight de la div saute, vous savez que le premier mot wrap a eu lieu. Vous pouvez ensuite utiliser ces données pour déterminer où la première ligne du paragraphe d'origine a le mot enveloppé.

+0

Merci, ça va faire l'affaire. Juste en pensant à une disposition expérimentale. Je posterai le javascript final, si je me tiens à cette disposition. –

0

Vous avez besoin d'ajouter ou un marqueur. Le navigateur différent calcule combien de mots devraient être placés dans la première ligne. Et si l'utilisateur change le réglage du navigateur, par exemple augmenter la taille de la police, la première ligne va changer le nombre de mots.

+0

Il y a un moyen sans marqueur, quoique douloureux. – dqhendricks

Questions connexes