Maison > Questions et réponses > le corps du texte
P粉7014918972023-08-26 10:07:02
CSS 3 inclut un attribut "hyphens
”属性,可根据指定的 lang
" pour définir le trait d'union. Mais ce n'est qu'un ébauche de travail, donc le support est un peu < a href="https://caniuse.com/#search=hyphens" rel="nofollow noreferrer">encore.
­
bug bizarre.
Ceci est un exemple, si vous utilisez Windows/Linux, assurez-vous de vérifier la différence entre Firefox et Chrome.
p { width: 55px; border: 1px solid black; } p.none { -webkit-hyphens: none; -ms-hyphens: none; hyphens: none; } p.manual { -webkit-hyphens: manual; -ms-hyphens: manual; hyphens: manual; } p.auto { -webkit-hyphens: auto; -ms-hyphens: auto; hyphens: auto; }
<ul> <li><code>auto</code>: hyphen where the algorithm is deciding (if needed) <p lang="en" class="auto">An extremelyasdasd long English word</p> </li> <li><code>manual</code>: hyphen only at &hyphen; or &shy; (if needed) <p lang="en" class="manual">An extreme­lyasd long English word</p> </li> <li><code>none</code>: no hyphen; overflow if needed <p lang="en" class="none">An extreme­lyasd long English word</p> </li> </ul>
afin que le texte soit coupé avec un trait d'union sur les navigateurs qui le prennent en charge et sans trait d'union sur webkit. work-break:break-all
P粉9501288192023-08-26 00:05:24
Utilisez des conteneurs avec display: inline-block
autour des mots longs.
body { margin-left: 30px; } div { border: solid 1px black; } .wide { border: solid 1px blue; width: 500px; } .narrow { border: solid 1px red; width: 360px; } h2 { font-family: 'Courier New'; font-weight: 400; font-size: 87px; } code { background-color: #eee; } .unbreakable {display:inline-block}
<p> <code>Super&shy;man</code> looks good in really narrow containers where the full word "Superman" would not fit</p> <p> <div class="narrow"><h2>Hi <span class="unbreakable">Super­man</span></h2></div> <p>And in this case the word "Superman" would fit unhypenhated on the second row.<br/> This uses the same code as the previous example</p> <div class="wide"><h2>Hi <span class="unbreakable">Super­man</span></h2></div>