css - 如何在 compas sass 中生成 sprite 位置,例如 "right -300px"?

标签 css compass-sass css-sprites

如何在compas sass中生成sprite位置如“right -300px”?
我发现sass只能输出数字的背景位置,但有时我需要 Sprite 位置右对齐或底部对齐,怎么办?
请在下面查看我的代码:

<style type="text/css">
    /* ------- scss ------- */
    $map_btn: sprite-map("sprite_btn/*.png");
    .btn,.btn span{
        display:inline-block;
        background-image: sprite-url($map_btn);
        background-repeat: no-repeat;
    }
    .go_to_cart{
        background-position: sprite-position($map_btn,go_to_cart);
        span{
            background-position: sprite-position($map_btn,go_to_cart);
        }
    }

    /* ------- output ------- */
    .btn,.btn span{
        display:inline-block;
        background-image: url('../images/btn_sprite.png');
        background-repeat: no-repeat;
    }
    .go_to_cart{
        background-position: 0 -300px;
    }
    .go_to_cart span{
        background-position: 0 -330px;
        /* ------- 
            but I want to output like this bellow:
            how to write in scss?
        ------- */
        background-position: right -330px;
    }

</style>
<a href="#" class="btn go_to_cart">
    <span></span>
</a>

enter image description here

最佳答案

这是一个老问题,但以防万一有人需要答案。

当使用 sprite 贴图时,你不能(或不应该)像那样对齐背景,因为你基本上是在偏移范围并且违背了 sprite 贴图的目的。

如果你想对齐 Sprite ,你应该定位/对齐 Sprite 的容器。

关于css - 如何在 compas sass 中生成 sprite 位置,例如 "right -300px"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13909561/

相关文章:

html - 将登录表单添加到导航菜单

javascript - 如何为我的菜单创建流畅的动画?

html - 如何将分隔符添加到使用 sprite 构建的菜单列表中?

sass - 当我使用 Ruby 2.0 升级到 Mavericks 时,Codekit 无法与 Compass/Zurb Scss 编译器一起工作

css - 如何增加 photoshop Sprite Canvas 的宽度和高度

html - 扩展的 css Sprite 不适用于 :hover?

html - Bootstrap Carousel 和 <img> 标签与 object-fit & object-position 不工作

asp.net - 如何在 ASP.Image 控件上显示 ASP.NET ImageButton

css - 所有这些 CSS 框架和其他框架怎么了?

ruby-on-rails - Rails 3.1 compass 和链轮。使困惑