【问题标题】:Is there CSS sprites support in jQuery UIjQuery UI 中是否有 CSS 精灵支持
【发布时间】:2011-04-13 08:56:46
【问题描述】:

我正在研究使用 CSS 精灵,但不想发明轮子。 jQuery 或 jQuery UI 中是否存在现有支持?或者作为替代方案,一个调试良好的 jQuery 插件

【问题讨论】:

标签: jquery jquery-ui css-sprites


【解决方案1】:

使用精灵取决于你想要的位置部分的偏移量——javascript无法访问图像数据,那么怎么会有这样的事情呢?

有一些工具可以帮助您制作精灵并为您提供基本的 CSS。这是我最喜欢的:

http://csssprites.com/

【讨论】:

    【解决方案2】:

    有一些不错的jquery-tool demos可以复制修改。他们有很好的做法。我将从tab anchor 演示开始,他们的stylesheet 写得很好。

    @Mark:标签演示使用one image

    【讨论】:

    • 标签演示页面与 CSS sprites 有什么关系?
    • 有一个图片用来绘制和交换标签导航
    • 是一张图片还是多张图片?如果它的多个图像与 CSS Sprites 无关。
    • 这就是我问的原因。那是精灵。
    【解决方案3】:

    根据您想要完成的特定任务(您未在 OP 中指定),您可能根本不需要插件。

    在 jQuery 中使用精灵的一种可能方法是为每个精灵状态创建一个单独的类,然后使用 jQuery 更改显示精灵的元素的类属性 .attr():

      // Change the sprite state of an element
    $(elementSelector).attr("class", spriteClassOfChoie);
    

    例如,这是一个使用 sprite 和 jQuery 的超级简单的图片库:

    jsFiddle example

    脚本:

    $(function() {
    
          // The sprite classes
        var sprites = ["home", "next", "prev"];
    
          // Which image is showing
        var showing = 0;
    
          // Show the first image
        $("#gallery").addClass(sprites[showing]);
    
          // Add a click handler to change sprite states
        $("input").click(function() { 
    
              // Cycle through images by making use of sprites
            $("#gallery").attr("class", sprites[(++showing % sprites.length)]);
        });
    });​
    

    HTML:

    <input type="button" value="Show Next Image" />
    <br/><br/>
    <div id="gallery"></div>
    

    CSS:

    .home {
    width:46px;
    height:44px;
    background:url('http://i.stack.imgur.com/vPDBk.gif') 0 0; }
    
    .next {
    width:43px;
    height:44px;
    background:url('http://i.stack.imgur.com/vPDBk.gif') -47px 0; }
    
    .prev {
    width:43px;
    height:44px;
    background:url('http://i.stack.imgur.com/vPDBk.gif') -91px 0; }
    

    【讨论】:

      【解决方案4】:

      为什么不全部用 CSS 来完成呢?啊啦:

      btn
      {
      width:50px;
      height:50px;
      background:url(images/btnspite.png) -30px 100px;
      }
      btn:hover
      {
      background-position:-30px -150px;
      }
      btn:active
      {
      background-position:-30px -200px;
      }
      

      这将使您开始实际实施它:http://css-tricks.com/css-sprites/

      【讨论】:

      • 一行前4个空格将其格式化为代码。突出显示一个部分并点击ctr-k 以快速完成此操作。
      • 谢谢彼得......看起来很丑陋':)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2022-12-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多