Maison > interface Web > tutoriel CSS > Comment puis-je détecter le débordement de contenu dans les éléments HTML ?

Comment puis-je détecter le débordement de contenu dans les éléments HTML ?

Susan Sarandon
Libérer: 2024-12-07 22:09:18
original
403 Les gens l'ont consulté

How Can I Detect Content Overflow in HTML Elements?

Détection du débordement de contenu dans les éléments HTML

Dans les situations où le contenu d'un élément s'étend au-delà de la taille désignée, il devient crucial de déterminer si le l’élément déborde. Ceci est particulièrement utile pour implémenter des fonctionnalités telles que l'affichage d'un bouton supplémentaire lorsque le contenu est débordé.

La fonction fournie, isOverflyn(element), offre une approche simple pour cette tâche. Il évalue scrollHeight et scrollWidth d'un élément par rapport à ses clientHeight et clientWidth. Si l'une de ces valeurs dépasse ses homologues, cela indique que l'élément déborde.

function isOverflown(element) {
  return element.scrollHeight > element.clientHeight || element.scrollWidth > element.clientWidth;
}
Copier après la connexion

Cette fonction peut être utilisée dans diverses applications, notamment :

  1. Ajustement automatique de la taille de l'élément en fonction de la longueur du contenu.
  2. Affichage d'indicateurs de débordement (par exemple, barres de défilement ou boutons).
  3. Amélioration de l'expérience utilisateur en fournissant un contexte supplémentaire lorsque le contenu est tronqué.

L'exemple de code suivant illustre l'utilisation de la fonction isOverflyn :

var els = document.getElementsByClassName('demos');
for (var i = 0; i < els.length; i++) {
  var el = els[i];
  el.style.borderColor = (isOverflown(el) ? 'red' : 'green');
  console.log("Element #" + i + " is " + (isOverflown(el) ? '' : 'not ') + "overflown.");
}
Copier après la connexion

CSS peut être utilisé pour styliser les éléments de démonstration objectifs :

.demos {
  white-space: nowrap;
  overflow: hidden;
  width: 120px;
  border: 3px solid black;
}
Copier après la connexion

HTML :

<div class='demos'>This is some text inside the div which we are testing</div>
<div class='demos'>This is text.</div>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal