IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Mise en page CSS Discussion :

Points de suspension pour un texte trop long


Sujet :

CSS

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 46
    Points : 32
    Points
    32
    Par défaut Points de suspension pour un texte trop long
    Bonjour.

    Ci-dessous mon code HTML:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="message" style="color:Red; text-overflow: ellipsis;">Texte très long qui dépasse tout</div>
    A l'affichage, j'obtiens le texte en entier "Texte très long qui dépasse tout". Or, je souhaiterai que seulement la partie du texte qui est contenu dans la largeur du bloc s'affiche avec le reste du texte remplacé par des points de suspension, par exemple "Texte très long...".

    Pourriez-vous, s'il vous plaît, m'indiquer comment faire?

    Merci.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Par défaut, les dimensions d'une div s'adaptent pour pouvoir afficher le contenu. Pour qu'ellipsis puisse fonctionner, il faut donc contraindre les dimensions (et bien sûr, que le navigateur soit compatible, ce qui n'est pas souvent le cas ).

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Bonjour.

    La largeur de la div est contrainte à 20% (héritée d'un autre fichier .css).
    Le texte affiché, quand il arrive au bout de la div, fait un saut de ligne et continue, par exemple:
    "Texte très long
    qui dépasse tout
    au lieu d'avoir des
    points de suspension"
    Or, je souhaiterais, lorsque le texte affiché arrive au bout de la div, qu'il n'y ait pas de saut de ligne, pour avoir à la place des points de suspension, par exemple:
    "Texte très long..."

    Est-ce possible à faire?

    Merci.

  4. #4
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Bonjour.

    Merci pour la réponse, cela fonctionne, mais partiellement. En effet, il y a bien les points de suspension, mais le texte caché est remplacé par un "grand espace blanc" qui prolonge la largeur de la div.
    Ci-dessous mon code HTML:
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="message" style="color:Red; width: 10%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; background-color: silver;">Texte très long qui dépasse tout au lieu d'avoir des points de suspension</div>
    Le résultat obtenu est :
    'Texte très long ... <!-- grand espace blanc -->'
    Cependant, je souhaiterais qu'il n'y ait pas ce grand espace blanc.

    Est-ce faisable?

    Merci.

  6. #6
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    Cependant, je souhaiterais qu'il n'y ait pas ce grand espace blanc.
    Ben... tu voudrais qu'il y ai quoi à la place ?

    Le principe lorsque tu masques quelque chose, c'est à priori qu'il ne s'affiche pas, donc là, je vois pas trop ce que tu veux au final...

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2014
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2014
    Messages : 46
    Points : 32
    Points
    32
    Par défaut
    Bonjour.

    A la place, je voudrais mettre une infobulle (via l'attribut 'title') qui affichera le contenu du texte qui a été masqué.
    Là, actuellement, si le texte fait 5 kilomètres de longueur, alors j'obtiens un espace blanc de 5 kilomètres de largeur qui prolonge la div de cette même largeur et dans le navigateur le menu de droite est alors décalé à 5 kilomètres, rendant la navigation impossible.

    Est-ce que cela est possible?

    Merci pour votre aide.

  8. #8
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    En règle générale, les éléments HTML sont assez disciplinés et ils se placent à l'endroit prévu par le code (que ce soit le tiens ou à défaut, celui imposé par défaut par le navigateur). Donc j'imagine qu'en modifiant ton code, tu devrais pouvoir arranger cela...

Discussions similaires

  1. Comment raboter un texte trop long et ajouter 3 petits points ?
    Par djibril dans le forum Téléchargez
    Réponses: 3
    Dernier message: 06/05/2014, 16h33
  2. Texte trop long remplacé par 3 petits points
    Par artifrui dans le forum Langage
    Réponses: 3
    Dernier message: 03/09/2012, 17h52
  3. [AC-2003] Problème fonction Rechdom "Texte trop long pour être modifié"
    Par Ardiden31 dans le forum Requêtes et SQL.
    Réponses: 14
    Dernier message: 21/05/2012, 14h28
  4. Texte trop long pour afficher dans une combobox
    Par bavmorda1 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 12/02/2008, 13h42
  5. textbox et onKeyUp event -> largeur augmente auto quand texte trop long
    Par Miketrix dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 25/07/2006, 11h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo