5

我在 HTML 中添加了一个内联样式,例如style="left: 10px;". 我可以加/减那个数字吗?

我想创建一个规则,8px无论该号码是什么,我都可以从该号码中删除。

我尝试使用丑陋的!importanthack 来覆盖它,但是当初始值改变时这并没有帮助。

4

5 回答 5

17

从 1.6 开始,您可以使用方便的:

$('#myelem').css('left','-=8px')

如果由于某种奇怪的原因您被困在过去,请使用:

$('#myelem').css('left', function(i,v) {
    return v - 8;
});

对于 jQuery 1.4 以上。

于 2012-11-26T16:14:43.453 回答
5

也许你可以margin-left -8px改用。我不知道您在寻找什么,但它可能会在没有 JavaScript 的情况下解决问题。

于 2012-11-26T16:15:46.550 回答
4

没有这样的CSS规则。但是,您可以使用JavaScript做同样的事情。

假设你有,

.my_left {
   left: 10px;
}

和下面的HTML元素,

<div class="my_left">My Div</div>
<div class="my_left">My Div</div>

然后使用以下脚本,您可以8px从其当前left值中删除:

$(function () {
   $('.my_left').css('left', function (i, ov) {
       return ov - 8;
   });
});
于 2012-11-26T16:16:39.320 回答
0

您可以为其使用变量,以便能够添加或减去:

var x=10;

x=x-parseInt(5);

x=x+parseInt(5);

<div id='something' style="left: "+x+"px"></div>
于 2012-11-26T16:16:28.993 回答
0

我最近在css-tricks上发现你可以覆盖内联 css

.myClassName[style] {
   left:5px!important;
}

http://css-tricks.com/override-inline-styles-with-css/

于 2013-04-25T11:00:10.580 回答