J'essaie de centrer verticalement du texte d'une hauteur inconnue dans une div d'une hauteur connue. J'ai essayé l'option css display: table-cell
, et cela n'a pas fonctionné, donc j'utilise jQuery pour détecter la hauteur et ensuite appliquer une marge supérieure, si nécessaire, afin d'accomplir le centrage - ce qui fonctionne quand quelque chose doit être ajusté , mais ne fonctionne pas pour le réajuster pour avoir une marge supérieure de zéro.jquery marginTop ne fonctionne pas correctement
C'est ma fonction:
function change_trend(){
trend_text = $('#trends_holder img:eq(' + item_count + ')').attr('data-content');
$('.trend_text').text(trend_text);
var trendMargin = $('.trends_scroller').height() - $('.trend_text').innerHeight();
$('.trend_text').css('marginTop',trendMargin);
}
La trendMargin variable est toujours zéro ou douze ans. Si c'est zéro, au départ, tout est réglé correctement. Ensuite, s'il est douze, il définit la marge supérieure de manière appropriée. Mais quand j'arrive à l'élément suivant avec une marge de zéro, cela ne remet pas les choses en place là où elles étaient. Comment puis-je aligner verticalement ce genre de choses? Il ne semble pas vraiment comme le centrage vertical devrait être aussi dur ...
Pouvez-vous faire un exemple sur [jsFiddle] (http://jsfiddle.net/)? est également '.trend_text' un élément de niveau bloc? ('div')? – ifaour