Décalage de points de suspenssion

Résolu
Fatiiza Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -  
Fatiiza Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
j'ai besoin de votre aide,
j'ai besoin de faire les points de suspenssion quand les le text est trés long, mais les points sont trés décaler de texte avec le code css que j'utilise,
content: '...';
position: absolute;
right: 0px;
bottom: 0px;
quand je change la balise right, il m'affiche les points pour les autres text qui ne sosnt pas long :/ j'ai besoin de votre aide c urgent ^^

1 réponse

Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Salut,

Il faudrait idéalement voir le code html correspondant pour pouvoir t'aider au mieux.

Si tu veux que les '...' s'affiche après le texte, tu ne devrais pas utiliser de position absolute mais laisser la position par défaut. Exemple :
/* css */
.text:after {
  content: '...';
}

<!-- html -->
<div class="text">
  lorem ipsum dolor sit amet
</div>


Bonne journée,
1
Fatiiza Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oui ça marche quand j'enléve absolute mais les points s'apparaient pour tout les titres que ça soit court ou bien long ! je veux que s'apparait juste si le text est trés long par exemple quand il dépasse 2lignes ?
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
Je ne pense pas que cela soit possible en css (compter le nombre de mots ou ligne).

Il faudrait utiliser un langage serveur comme php ou utiliser javascript pour compter le nombre de caractère et appliquer une classe css spécifique pour les textes long. On pourra alors appliquer le code css ci-dessus sur cette classe css.
0
Fatiiza Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
Merci bcp Pitet :)
peux tu m'écrire le code javascritp correspend a ce que tu viens de m'expliquer ?
0
Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention   527
 
N'ayant pas ton code html, voici un exemple simple en utilisant javascript :
<!-- html -->
<div class="text">
Lorem ipsum dolor sit amet
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas sit amet massa accumsan, dignissim ex eu, fringilla leo
</div>
<div class="text">
Lorem ipsum dolor sit amet, consectetur adipiscing elit
</div>

// nombre de caractère à partir duquel on ajoute '...'
var maxLength = 100;

// on récupère tous les éléments class="text"
var textElements = document.querySelectorAll('.text');

// pour chaque éléments class="text"
for (var i = 0; i < textElements.length; ++i) {
  // si le contenu textuel de l'élément est plus grand que maxLength
  if (textElements[i].innerHTML.length > maxLength) {
    // on ajoute '...' à la fin du contenu de l'élément
    textElements[i].innerHTML += '...';
  }
}
0
Fatiiza Messages postés 19 Date d'inscription   Statut Membre Dernière intervention   > Pitet Messages postés 2826 Date d'inscription   Statut Membre Dernière intervention  
 
Merci infinément Pitet :) ça marche bien
0