web-dev-qa-db-fra.com

Comment supprimer le style de hauteur d'une DIV à l'aide de jQuery?

Par défaut, la hauteur d'une DIV est déterminée par son contenu.

Mais, je remplace cela et définit explicitement une hauteur avec jQuery:

$('div#someDiv').height(someNumberOfPixels);

Comment puis-je inverser cela? Je veux supprimer le style de hauteur et le faire revenir à sa hauteur automatique/naturelle?

84
Zack Peterson

enlever la hauteur:

$('div#someDiv').css('height', '');
$('div#someDiv').css('height', null);

comme l'a souligné John, définissez la hauteur sur auto:

$('div#someDiv').css('height', 'auto');

(vérifié avec jQuery 1.4)

97
user268828
$('div#someDiv').height('auto');

J'aime utiliser ceci, car il est symétrique à la façon dont vous avez explicitement utilisé .height (val) pour le définir en premier lieu, et fonctionne avec les navigateurs.

22
nonrectangular

peut-être quelque chose comme

$('div#someDiv').css("height", "auto");
18
John Boker

vous pouvez essayer ceci:

$('div#someDiv').height('');
15
schtsch

Pour réinitialiser la hauteur de la div, essayez juste

$("#someDiv").height('auto');

14
SvenFinke
$('div#someDiv').css('height', '');
3

juste pour ajouter aux réponses ici, j’utilisais la hauteur en tant que fonction avec deux options: spécifiez la hauteur si elle est inférieure à la hauteur de la fenêtre ou réglez-la sur auto.

var windowHeight = $(window).height();
$('div#someDiv').height(function(){
    if ($(this).height() < windowHeight)
        return windowHeight;
    return 'auto';
});

J'avais besoin de centrer le contenu verticalement s'il était plus petit que la hauteur de la fenêtre ou de le laisser défiler naturellement, c'est ce que j'ai proposé

0
John Ruddell