0

考虑以下代码:

[example.htm]
<link rel="stylesheet" src="myStyle.css" />
<style>
    div {margin-left: 100px} /* let's assume this margin value is dynamically generated in PHP/ASP/JSP and we dont't have control over it */
</style>
<body>
    <div>foo</div>
    <div class="indent-me-more-please">bar</div> <!-- let's assume we don't have control over this part, either -->
</body>

[myStyle.css]
.indent-me-more-please {margin-left: * !important}

是否可以将边距值(标记为*)设置为始终比仅在<style>标签或元素属性中设置时的值大 50px?在这种情况下:100px+50px = 150px。像“ margin-left += 50px;”这样的东西,我不知道,相对价值递增?

是否可以在纯 CSS 中做到这一点?

4

3 回答 3

0

这需要一种不同类型的语言,例如SASS http://sass-lang.com/在 sass 中您可以添加变量,例如

$margin-left: 50px;
#container{
 margin = $margin-left + 10px;
}

但是要使用 sass,你需要为它准备好你的服务器......

于 2013-08-27T16:05:09.077 回答
0

你可以用 jQuery 做到这一点

演示http://jsfiddle.net/kevinPHPkevin/EJzue/

$('div').css('margin-left', function (index, curValue) {
    return parseInt(curValue, 10) + 100 + 'px';
});
于 2013-08-27T16:08:57.010 回答
0

CSS 不支持。

在您的特定示例中,您可以使用padding-left来添加额外的空间。

于 2013-08-27T15:51:23.230 回答