2009-08-24 14 views
0

J'ai un contrôle utilisateur dans mon projet web asp.net.Comment insérer un espace dans une phrase s'il traverse l'écran?

Affiche le titre d'un article de blog. Si le titre est trop long, il étirera la table enveloppée et ruinera la mise en page.

Existe-t-il un moyen de couper le texte après 40 caractères SI le texte ne contient pas d'espace?

Comment vérifier l'existence d'un espace n'importe où, et s'il n'existe pas, insérez un espace.

Je suis à la recherche de la «meilleure pratique» car je suis sûr que c'est un problème commun pour les applications web.

+2

Le titre demande comment insérer un espace. La question demande comment couper le texte s'il contient un espace. Lequel est-ce censé être? – Amy

Répondre

0

La balise <wbr/> a été conçu à cet effet. Il y a aussi d'autres entités html qui peuvent aider avec ceci. Essentiellement, il suggère au navigateur que ce serait un bon endroit pour rompre si la ligne devient trop longue.

Vous pouvez en lire plus ici:

http://www.quirksmode.org/oddsandends/wbr.html

+0

Donc, je devrais insérer cette balise après x caractères? – mrblah

+0

Oui. Déterminez un seuil de caractères qui correspond à la disposition de votre site. – apiguy

0

À moins que je suis trop simplifier le problème:

overflow: hidden; 

devrait faire l'affaire.

+0

mais le texte est caché? – mrblah

2

La meilleure pratique dans ce cas serait de revoir votre conception de mise en page.

On dirait que vous avez conçu quelque chose qui est un peu trop flexible pour le web. L'utilisateur a toujours la possibilité de redimensionner le navigateur ... et cela pourrait définitivement casser votre mise en page comme vous le décrivez ici.

Forcer leur main est une expérience utilisateur médiocre.

Créer quelque chose de flexible qui se comporte avec élégance, peu importe la longueur est la meilleure option ...

0

TextFormatFlags peut vous aider. Vous voudrez peut-être faire quelque chose avec WordEllipses ou WordBreak.

Questions connexes