首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何根据元素的高度改变元素的顶部边距?

如何根据元素的高度改变元素的顶部边距?
EN

Stack Overflow用户
提问于 2013-09-07 16:26:09
回答 3查看 130关注 0票数 0

我这里有一个简单的代码,用来将工具提示的顶部边沿提高到它的高度。

代码语言:javascript
复制
$("#tooltip").css({'marginTop':'-' + $("#tooltip").height});

我在UI1.9.2中使用jQuery 1.9.1,并且不确定为什么这不起作用。

工具提示是元素,边沿应该设置为- + tooltip.height

示例

tooltip.height = 50px, margin-top:-50px;

有人能指出我的错误吗?

谢谢

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-09-07 16:32:42

尝试以下几点:

代码语言:javascript
复制
$("#tooltip").css("margin-top", function() { 
    return -1 * $(this).outerHeight() // <== Multiplies outerHeight() by -1 and returns the result
});

在这种情况下,如果$.css()收到一个数字,它将自动转换为带有'px‘的字符串。如果它接收到一个字符串,它假定值是完整的,应该按原样设置。

以下几点也是可行的:

代码语言:javascript
复制
// Passing in a number
$("#tooltip").css({'marginTop':  - $("#tooltip").outerHeight()});
$("#tooltip").css({'marginTop':  -1 * $("#tooltip").outerHeight()});
$("#tooltip").css('marginTop',  - $("#tooltip").outerHeight());
$("#tooltip").css('marginTop',  -1 * $("#tooltip").outerHeight());

// Passing in a string with units specified
$("#tooltip").css({'marginTop':  '-' + $("#tooltip").outerHeight() + 'px'});
$("#tooltip").css('marginTop',  '-' + $("#tooltip").outerHeight() + 'px');

虽然这失败了,因为生成的字符串"-20"是marginTop的无效css值:

代码语言:javascript
复制
$("#tooltip").css({'marginTop':  '-' + $("#tooltip").outerHeight()});

如果要使用百分比或em的值设置值,则字符串窗体非常有用:

代码语言:javascript
复制
$("#tooltip").css({'marginTop':  "2em"});
$("#tooltip").css({'marginTop':  "10%"});
票数 2
EN

Stack Overflow用户

发布于 2013-09-07 16:27:23

代码语言:javascript
复制
$("#tooltip").css("margin-top", function() { return $(this).outerHeight() });
票数 0
EN

Stack Overflow用户

发布于 2013-09-07 16:38:03

代码语言:javascript
复制
$("#tooltip").css({ marginTop: - $("#tooltip").outerHeight() + 'px' });
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18675412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档