Je cherche à éviter un saut de ligne après un trait d'union. -
au cas par cas, qui soit compatible avec tous les navigateurs.
Exemple :
J'ai ce texte : 3-3/8"
qui, en HTML, est le suivant : 3-3/8”
Le problème est que vers la fin d'une ligne, à cause du trait d'union, il s'interrompt et passe à la ligne suivante au lieu de le traiter comme un mot complet...
3-
3/8"
J'ai essayé d'insérer le caractère "zero width no break", 
sans succès...
3-3/8”
Je vois cela dans Safari et je pense que c'est la même chose dans tous les navigateurs.
Ce qui suit est mon doctype
et le codage des caractères...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
Existe-t-il un moyen d'empêcher le saut de ligne après le trait d'union ? Je n'ai pas besoin d'une solution qui s'applique à l'ensemble de la page... juste quelque chose que je puisse insérer selon les besoins, comme un "caractère de rupture de largeur nulle", mais une solution qui fonctionne.
Voici une démo. Il suffit de rendre le cadre plus étroit jusqu'à ce que la ligne s'interrompe au niveau du trait d'union.
0 votes
@EricLeschinski, cela a déjà été posté comme réponse : stackoverflow.com/a/12362315/594235
0 votes
Avec charset=utf-8, vous pouvez mettre un trait d'union non cassant.
0 votes
@QuentinUK, c'est vrai... n'est-ce pas déjà la réponse acceptée ?
‑
est un trait d'union insécable.1 votes
- est de l'ASCII ordinaire, donc utf-8 n'est pas nécessaire. Avec un encodage utf-8 de la page, il est possible de mettre les caractères réels. n'est pas le même caractère que - bien qu'il y ressemble.
0 votes
Le HTML correct pour ce que vous avez écrit, serait
3-3/8″
o3-3/8″
. Les guillemets ne sont pas des nombres premiers. Si vous le voulez en pur ASCII, utilisez simplement des guillemets doubles droits à la place ("
). De préférence, s'il est destiné à être présenté sous la forme d'un bon texte lisible, vous utiliserez plutôt3<span style="font-variant: diagonal-fractions">3/8</style>″
affichant '3'.