281 votes

Débordement:caché points à la fin

Supposons que j'ai une chaîne "J'aime les gros culs et je ne peux pas mentir" et que je la coupe avec overflow:hidden, ce qui affiche quelque chose comme ceci :

J'aime les gros culs et je cann

en coupant le texte. Est-il possible d'afficher cela comme ceci :

J'aime les gros culs et je cann...

en utilisant du CSS?

70 votes

Est-ce question un stratagème pour promouvoir la chanson?

22 votes

@CyrilGupta Désolé pour la réponse tardive. J'ai dû courir aux toilettes. Pour répondre à votre question... Oui

1 votes

394voto

Joe Philllips Points 13616

Vous pouvez utiliser text-overflow: ellipsis; qui selon caniuse est pris en charge par tous les principaux navigateurs.

Voici une démonstration sur jsbin.

.cut-text { 
  text-overflow: ellipsis;
  overflow: hidden; 
  width: 160px; 
  height: 1.2em; 
  white-space: nowrap;
}

I like big butts and I can not lie.

0 votes

Cela semblait fonctionner dans Firefox 15.0.1 : w3schools.com/cssref/tryit.asp?filename=trycss3_text-overflo‌​w

0 votes

Oui, cela semble fonctionner dans les versions plus récentes. De toute évidence, cette réponse date de quelques années à ce stade.

0 votes

Firefox a commencé à prendre en charge cela à partir de la version 7, qui a été publiée dans la seconde moitié de 2011.

100voto

Arjun Points 1436

Vérifiez le snippet suivant pour votre problème

div{
  width : 100px;
  overflow:hidden;
  display:inline-block;
  text-overflow: ellipsis;
  white-space: nowrap;
}

    La mission Alsos était une unité alliée formée pour enquêter sur les développements scientifiques de l'Axe, en particulier les armes nucléaires, chimiques et biologiques, dans le cadre du projet Manhattan pendant la Seconde Guerre mondiale. Le colonel Boris Pash, ancien P

4 votes

Merci d'avoir ajouté "white-space: nowrap;", cela pourrait être nécessaire dans certains cas.

2 votes

Comment faire pour que le texte s'affiche sur 2 lignes puis disparaisse ?

1 votes

@Matian2040 vous pouvez ajuster en donnant des styles de hauteur fixe et de débordement caché, consultez ce fiddle jsfiddle.net/5135L4bx

34voto

Nagendra Matala Points 291

Essayez ceci si vous voulez limiter les lignes jusqu'à 3 et après trois lignes les points de suspension apparaîtront. Si nous voulons augmenter les lignes, il suffit de changer la valeur de -webkit-line-clamp et de donner la largeur pour la taille de la div.

div {
   display: -webkit-box;
   -webkit-line-clamp: 3;
   -webkit-box-orient: vertical;
   overflow: hidden;
   text-overflow: ellipsis;
}

0 votes

Désolé, je ne suis pas sûr comment j'ai enlevé vos mots de cette façon!

0 votes

Fonctionne parfaitement sur Chrome, mais notez que cela ne fonctionnera pas sur Firefox

0 votes

Comment puis-je faire cela sur un autre navigateur, disons Firefox? Modifier: stackoverflow.com/questions/33058004/…

25voto

Vu Phan Points 433

Je l'espère utile pour vous:

.text-with-dots {
    display: block;
    max-width: 98%;
    white-space: nowrap;
    overflow: hidden !important;
    text-overflow: ellipsis;
}

Certains textes ici Certains textes ici Certains textes ici Certains textes ici Certains textes ici Certains textes ici

1 votes

Fonctionne comme un charme. Merci.

15voto

ceejayoz Points 85962

Oui, via la propriété text-overflow en CSS 3. Attention : elle n'est pas encore universellement prise en charge dans les navigateurs.

3 votes

Le support des navigateurs est maintenant assez bon, à partir de février 2012. Voir caniuse.com/#search=text-overflow

1 votes

Ah, tu es la raison de laquelle cette question est apparue trois ans plus tard.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X