我在HTML中添加了内联样式,例如style="left: 10px;"
。我可以加/减这个数字吗?
我想创建一条规则,我可以从该号码中移除8px
,无论该号码是什么。
我尝试使用丑陋的!important
黑客来覆盖它,但是当初始值发生变化时,这无济于事。
答案 0 :(得分:17)
从1.6开始,你可以使用方便的:
$('#myelem').css('left','-=8px')
如果由于某些奇怪的原因你被困在过去,请使用:
$('#myelem').css('left', function(i,v) {
return v - 8;
});
用于jQuery 1.4。
答案 1 :(得分:5)
也许您可以使用margin-left -8px
代替。我不知道你在寻找什么,但如果没有JavaScript,它可能会成功。
答案 2 :(得分: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;
});
});
答案 3 :(得分:0)
您可以为其使用变量,以便能够添加或减去:
var x=10;
x=x-parseInt(5);
x=x+parseInt(5);
<div id='something' style="left: "+x+"px"></div>
答案 4 :(得分:0)
我最近在css-tricks上发现您可以使用
覆盖内联css.myClassName[style] {
left:5px!important;
}