J'ai effectué de nombreux tests entre Chrome et Firefox pour trouver un modèle commun pour leurs méthodes d'affichage, de sélection et de copie.
Google Chrome
Google Chrome ignore tous les caractères d'espacement des éléments internes et externes du HTML, sauf s'ils se trouvent à l'intérieur du texte. Tous les caractères d'espacement entre les textes sont affichés comme un caractère d'espacement singulier, mais la valeur réelle du caractère est conservée. Cela s'applique aux éléments qui ont le style d'affichage en ligne ou en bloc.
Chaque élément, à l'exception du dernier élément de l'élément body, affiche un espace à la fin lorsqu'il est sélectionné par un triple clic ou un glisser-déposer. Cet espace est différent selon le style d'affichage des éléments.
Un élément d'affichage en bloc entraîne l'ajout de deux caractères CRLF lorsque le texte est copié, tandis qu'un élément d'affichage en ligne n'entraîne jamais qu'un seul CRLF. Les caractères d'espacement sont maintenus entre le copier et le coller mais sont limités à un seul caractère.
Firefox
Firefox ignore les espaces blancs des éléments extérieurs mais obtient des résultats intéressants avec les espaces blancs des éléments intérieurs. Tous les caractères d'espacement sont convertis en espaces, à l'exception du caractère de départ, avec une limite d'un espacement entre chaque caractère d'espacement. Seul le dernier espace est affiché et sélectionné.
La sélection par triple clic et la copie du texte donnent des valeurs différentes en fonction du style d'affichage de cet élément.
Affichage en ligne
Il y a toujours un espace avant et après le texte qui est copié, quel que soit le contenu des éléments. Tous les caractères d'espacement sont supprimés.
Affichage du bloc
Les caractères d'espacement avant le texte sont conservés tels quels et le caractère d'espacement final est converti en espace.
Pour répondre à votre question, tout dépend de la façon dont les navigateurs mettent en œuvre les méthodes d'affichage, de sélection et de copie. Cela varie d'un navigateur à l'autre et je ne recommande pas d'ajouter des bidouillages CSS, JS et HTML. D'après les tests, je pense que la sélection n'a rien à voir avec la nouvelle ligne entre les éléments, car la suppression de la nouvelle ligne ne corrige pas la sélection de l'espace supplémentaire.
1 votes
Je me demande si cela a un rapport avec le caractère /n à la fin d'une chaîne de caractères ?
0 votes
Pouvez-vous nous dire pourquoi vous vous en souciez ? Quel est le problème qu'il cause ? Que tentez-vous de résoudre ?
0 votes
J'essaie de comprendre pourquoi ce comportement est présent sur "Chrome". Je n'ai pas ce problème dans Firefox. Je veux comprendre quel est le choix pour avoir cet espace.