Partage
  • Partager sur Facebook
  • Partager sur Twitter

L'espace insécable a un souci

    1 mars 2020 à 12:15:10

    Bonjour bien.

    L'espace insécable ( ) est censée faire un bloc avec le(s) caractère(s) qui précède(nt) et celui/ceux qui suit/suivent jusqu'à la prochaine espace. (Si j'ai tout faux, merci de corriger...)

    Voici un bout de code :

    <div class="suppj">

    <span class="s">Note de l’auteur</span>&nbsp;: l’impossibilité où se trouvera la (quasi) totalité des lecteurs de déchiffrer les «&nbsp;alinagrammes&nbsp;» mentionnées dans le titre ne l’empêchera pas –&nbsp;au moins ai-je la faiblesse de le croire&nbsp;– d’apprécier ces quelques vers.

    </div>

    La classe "suppj" n'a rien d'extraordinaire. Pour info :

    .suppj                    { text-align: justify; color: #999; font-size: 20px; font-weight: normal; font-style: italic; line-height: 1.23em }

    (Pour info aussi, la classe "s" ne sert qu'au soulignement).

    Cette boîte <div> s'affiche dans une autre à largeur fixe limitée à 1 000 pixels. L'ennui, c'est que la séquence : (...) –&nbsp;au (...), censée faire bloc est coupée après le "–" (il s'agit d'un tiret semi-cadratin).

    Bon, ce n'est pas bien grave mais ce qui me gêne le plus, c'est de ne pas comprendre... Pourquoi donc cet ensemble est coupé juste avant une espace dite insécable – justement ?

    Si vous avez une idée...



    • Partager sur Facebook
    • Partager sur Twitter
      3 mars 2020 à 15:46:13

      Bonjour,

      Curieusement, ton souci n'arrive qu'avec le tiret semi-cadratin dit "tiret d'incise" (&ndash; ou &#8211;) et pas avec le cadratin (&mdash; ou &#8212;) dit "tiret de dialogue", ni avec le tiret moins du 6 (- ou &#45;) dit "tiret quart-cadratin ou tiret de mots composés" ni non plus avec celui du 8 (_ ou &#95;) dit "tiret bas ou underscore".

      Les navigateurs ont pensé à éviter ces coupures fâcheuses pour tous ces autres tirets, mais pas pour le semi-cadratin semble-t-il... 

      Difficile d'y échapper ; donc, soit tu utilises un autre tiret, soit, comme je l'ai fait sur cet exemple JSBin en bas, il te faut entourer à chaque fois le tiret et l'espace insécable d'un span avec une class white-space:nowrap. Fonctionnel très ponctuellement, mais pas très pratique à l'usage...

      Si quelqu'un a une meilleure solution...

      PS: Il existe aussi le tiret "macron" (non ce n'est pas une blague!: &macr;)

      mais je ne sais pas pourquoi, je trouve celui-là désagréable avec sa posture tout en haut des autres... Et puis je crois qu'il n'a guère d'avenir donc autant cesser de l'utiliser...!

      –Fin de la parenthèse...–

      -
      Edité par philiga 3 mars 2020 à 15:47:04

      • Partager sur Facebook
      • Partager sur Twitter
      "La Vérité doit être dite, le monde dût-il en voler en éclats"  (J. G. Fichte)
        7 mars 2020 à 13:37:56

        D'ac, merci, ça marche.

        Ce qui me semble étonnant, c'est que cet ensemble « une espace insécable + semi-cadratin » (ou l'inverse) a déjà été utilisé dans d'autres pages sans souci. Pour autant, je ne saurais garantir que la coupe du texte tombait bien avant (ou après si inverse) le semi-cadratin – auquel cas, le problème ne risque pas de survenir, œuf corse...

        Je vais surveiller mes pages et si je trouve un exemple, je le poste ici.

        Encore merci.

        P.S. : pour le tiret macron, sa posture s'explique ; son absence d'avenir en serait-elle la conséquence ? Bah, tant pis, bien fait pour lui.

        -
        Edité par LionelR. 7 mars 2020 à 13:40:11

        • Partager sur Facebook
        • Partager sur Twitter

        L'espace insécable a un souci

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
        • Editeur
        • Markdown