我如何使用jQuery从DIV中删除高度样式?
默认情况下,DIV的高度由其内容决定。
但是,我重写了这一点,并显式设置与jQuery的高度:
$('div#someDiv').height(someNumberOfPixels);
我怎样才能扭转这种情况? 我想删除高度风格,并使其恢复到自动/自然高度?
去除高度:
$('div#someDiv').css('height', ''); $('div#someDiv').css('height', null);
像John指出的那样,把高度设置为auto
:
$('div#someDiv').css('height', 'auto');
(使用jQuery 1.4进行检查)
$('div#someDiv').height('auto');
我喜欢使用它,因为它与您明确使用.height(val)的方式是对称的,可以将其设置在第一位,并且可以跨浏览器使用。
也许类似
$('div#someDiv').css("height", "auto");
你可以试试这个:
$('div#someDiv').height('');
要重置div的高度,只需尝试一下
$("#someDiv").height('auto');
只是为了增加答案在这里,我使用的高度作为一个function,有两个选项指定高度,如果它小于窗口高度,或将其设置回自动
var windowHeight = $(window).height(); $('div#someDiv').height(function(){ if ($(this).height() < windowHeight) return windowHeight; return 'auto'; });
如果内容小于窗口高度,我需要垂直居中,否则让它自然滚动,这就是我想到的
感谢大家展示所有这些例子。 在尝试你的例子之后,我仍然在小屏幕上如480像素以下的联系页面遇到问题。 Bootstrap不断插入height: auto
。
元素督察/ Devtools会显示高度:
element.style { }
在我的例子中,我看到: section#contact.contact-container | 303 x 743
浏览器窗口中的section#contact.contact-container | 303 x 743
。
因此,以下全面的工作来消除这个问题:
$('section#contact.contact-container').height('');
$('div#someDiv')。css('height','');
$('div#someDiv').removeAttr("height");