在Less中对规则值进行进一步处理

时间:2016-02-19 17:51:55

标签: css less

我有多个图标,我试图推导出一种通用的方法,将它们中的任何一个用作“按钮” - 我将其定义为与带有一点额外周围空间的图标完全相同。

  • 由于这是一个可点击的元素,我使用填充而不是边距来增加空间。
  • 由于图标使用精灵,我不得不使用background-clip: content-box所以我不从精灵中挑选任何其他图像
  • 我知道我可以添加一个包装元素作为解决方法,但不喜欢,因为这是一个包含遗留内容的现有网站,我不想重新构建到那个程度。

    @pad: 6px;
    .iconA {
        background-image: url("sprite.png");
        background-position: -100px -50px;
    }
    
    .iconAButton {
        background-clip: content-box; 
        padding: @pad;
        &:extend(.icon-minus);
        background-position: getRule(.iconA, 'background-position-x') + @pad
            getRule(.iconA, 'background-position-y') + @pad;
    }
    

我能看到的最可行的解决方案是声明两个变量,例如: @iconAOffsetX@iconAOffsetY使用.iconA.iconAButton中的变量,但这不是一个可扩展的解决方案。

0 个答案:

没有答案