当我尝试使用 jQuery 让元素的左侧具有绝对位置时,我得到 px 中的结果
$("#element").css("left")
---> 100 像素
当我尝试对底部做完全相同的事情时,我得到一个百分比
$("#element").css("bottom")
---> 20%
但我需要在这两种情况下获取 px 值。知道为什么会这样吗?
当我尝试使用 jQuery 让元素的左侧具有绝对位置时,我得到 px 中的结果
$("#element").css("left")
---> 100 像素
当我尝试对底部做完全相同的事情时,我得到一个百分比
$("#element").css("bottom")
---> 20%
但我需要在这两种情况下获取 px 值。知道为什么会这样吗?
您是否在#element
ofleft: 100px;
和上设置了样式bottom: 20%;
?我相信 JQuery css() 方法将返回元素上设置的任何样式。
CSS 函数将返回您输入的 CSS 值。因此,如果您在 CSS 中编写bottom : 20%;
,您将获得 20%。
根据您的需要尝试检查position()或offset() 。
返回的 css 将采用 css 中定义的格式。如果您使用$('#element').offset()
,您将返回一个具有 top 和 left 属性的对象,该对象将以 px 为单位,但返回的单位中不会有 px(您将返回 100,而不是“100px”,因此您必须解决这个问题到最后)。要获得“底部”,您需要执行parents_height - offet.top
(伪代码)。