Je dois savoir quand mon contenu débordera mon div. Si c'est le cas, je placerai un lien pour ouvrir la page dans une nouvelle fenêtre avec tout le contenu.
À votre santé,
DalexL
Ceci est un plugin jquery pour un texte adapté à la largeur et à la hauteur:
(function($) { $.fn.fitText = function(options) { options = $.extend({ width: 0, height: 0 }, options); $(this).each(function() { var elem = $(this); if (options.height > 0) { while (elem.height() > options.height) { elem.text(elem.text().substring(0, (elem.text().length - 4)) + 'YourLink'); } } if (options.width > 0) { while (elem.width() > options.width) { elem.text(elem.text().substring(0, (elem.text().length - 4)) + 'YourLink'); } } }); } })(jQuery);
Utilisation de jQuery et Marquee Text lorsque le texte débordement :
$('div').each(function(){ var $this = $(this); if ($this.get(0).scrollHeight > $this.height()) { $this.after('<a href="#" target="new">Read More</a>'); } });
Aucune réponse jQuery:
if( elements.scrollHeight > element.clientHeight ) alert('content-overflow')//not to be confused with stackoverflow
Si vous créez une structure comme celle-ci:
<div id="outer" style="overflow: auto"> <div id="inner"> content </div> </div>
Alors le débordement survient lorsque inner
largeur ou la hauteur de l' outer
dépasse celle de l' outer
car l'extérieur suppose que les dimensions de la fenêtre et de l'intérieur supposent une largeur et une hauteur minimales nécessaires pour afficher tout le contenu.
Vous pouvez marquer l' outer
comme visibility: hidden
pour l'amener à la mise en page mais pas à l'affichage.
Si le contenu comprend le position: fixed
contenu position: fixed
, cette partie ne sera pas prise en compte (et CSS 2 ne sera même pas coupé).