Javascript 如何获取最小高度CSS属性?

Javascript 如何获取最小高度CSS属性?,javascript,jquery,dom,styles,Javascript,Jquery,Dom,Styles,据我所知,DOM元素样式的CSS属性是驼峰式的,因此最小高度应该是element.style.minHeight,但在我下面的示例中,样式属性是空的,但是jQuery的抽象正确地得到了它 // element with css: #test{ min-height: 100px; } var el = document.getElementById('test'); console.log( el.style.minHeight ); // "" console.log( $(el).css

据我所知,DOM元素样式的CSS属性是驼峰式的,因此最小高度应该是element.style.minHeight,但在我下面的示例中,样式属性是空的,但是jQuery的抽象正确地得到了它

// element with css: #test{ min-height: 100px; }
var el = document.getElementById('test');

console.log( el.style.minHeight );
// ""

console.log( $(el).css('min-height') );
// "100px"

jQuery做了什么来提取我没有做的正确样式属性

有趣的是,直接在html元素上添加样式属性。

您可以使用window.getComputedStylel、null.getPropertyValuemin-height,并查看它是否返回正确的值

警告:IE<8时可能无法使用

从Mozilla的网站

CSS 2.0仅将计算值定义为属性计算的最后一步。然后,CSS 2.1引入了used value的独特定义,以便元素可以显式继承计算值为百分比的父元素的宽度/高度。对于不依赖于布局的CSS属性,例如显示、字体大小、行高,计算值和使用值是相同的。这些属性确实取决于布局,因此具有不同的计算值和使用值:取自CSS 2.1更改:指定值、计算值和实际值:

背景位置 底部,左侧,右侧,顶部 高度、宽度 下页边距、左页边距、右页边距、上页边距、, 最小高度,最小宽度 填充底部、填充左侧、填充右侧、填充顶部 文本缩进

您可以使用window.getComputedStylel、null.getPropertyValuemin-height并查看它是否返回正确的值

警告:IE<8时可能无法使用

从Mozilla的网站

CSS 2.0仅将计算值定义为属性计算的最后一步。然后,CSS 2.1引入了used value的独特定义,以便元素可以显式继承计算值为百分比的父元素的宽度/高度。对于不依赖于布局的CSS属性,例如显示、字体大小、行高,计算值和使用值是相同的。这些属性确实取决于布局,因此具有不同的计算值和使用值:取自CSS 2.1更改:指定值、计算值和实际值:

背景位置 底部,左侧,右侧,顶部 高度、宽度 下页边距、左页边距、右页边距、上页边距、, 最小高度,最小宽度 填充底部、填充左侧、填充右侧、填充顶部
文本缩进

JQuery方法css并不是那么简单。你可以查看这个链接

css方法是从 第一个匹配元素,特别是根据不同的方式 浏览器通过getComputedStyle访问这些属性中的大部分 基于标准的浏览器中的方法与currentStyle和 Internet Explorer中的runtimeStyle属性和不同的术语 浏览器用于某些属性。例如,Internet Explorer的 DOM实现将float属性称为styleFloat,而 符合W3C标准的浏览器将其称为cssFloat。对于 一致性,您可以简单地使用float,jQuery将转换它 设置为每个浏览器的正确值


JQuery方法css并不是那么简单。你可以查看这个链接

css方法是从 第一个匹配元素,特别是根据不同的方式 浏览器通过getComputedStyle访问这些属性中的大部分 基于标准的浏览器中的方法与currentStyle和 Internet Explorer中的runtimeStyle属性和不同的术语 浏览器用于某些属性。例如,Internet Explorer的 DOM实现将float属性称为styleFloat,而 符合W3C标准的浏览器将其称为cssFloat。对于 一致性,您可以简单地使用float,jQuery将转换它 设置为每个浏览器的正确值

试试这个:

style = window.getComputedStyle(el),
console.log( style.getPropertyValue('min-height'));
检查小提琴的更新:

试试这个:

style = window.getComputedStyle(el),
console.log( style.getPropertyValue('min-height'));
检查小提琴的更新:


看起来这是getComputedStyle的情况,但由于样式直接应用于元素而不是继承的,我不明白为什么需要这样做。-style属性指的是内联样式,而不是继承的样式表或其他。看起来getComputedStyle就是这种情况,但是由于样式直接应用于元素而不是继承的,我不明白为什么需要这样做。-style属性指的是内联样式,而不是继承的样式表或其他。谢谢。我很好奇,当规则直接应用于元素时,为什么需要计算样式。可能是因为它是一个较新的css标准?因为它不直接应用于元素。样式应用于id为test的所有元素,但是,当样式应用于这些元素时,它不会附加到这些元素。style将仅获取html中内联应用的样式。其他地方应用的任何样式都必须计算。接受,因为它最好地解释了为什么需要计算样式,而不仅仅是应该使用它。有效
,thakns:谢谢你。我很好奇,当规则直接应用于元素时,为什么需要计算样式。可能是因为它是一个较新的css标准?因为它不直接应用于元素。样式应用于id为test的所有元素,但是,当样式应用于这些元素时,它不会附加到这些元素。style将仅获取html中内联应用的样式。任何应用于其他地方的样式都必须计算。接受,因为它最好地解释了为什么需要计算样式,而不仅仅是应该使用它。Works,thakns:酷!!把戏,今天学点新东西:酷!!诀窍,今天学点新东西: