使用compass更高效的编辑css --- 图片精灵

  compass是sass的一个库,关系相当于js中的jq。比较可惜的是compass的文档比较混乱 看的不太舒服,下面是compass的文档地址,有兴趣的可以去看看

  http://compass-style.org/help/documentation/

  在这里我就不仔细讲compass的知识了,可以去阮一峰的博客里面有一遍compass的介绍,附上链接地址

  http://www.ruanyifeng.com/blog/2012/11/compass.html

  这里主要讲的是图片精灵,我们在网上可以找到很多关于compass使用图片精灵的方法,比较可惜的是不太满足我们的需求,所以做了如下改变

  编译之前的sass代码:

@charset "utf-8";
@import "compass/utilities/sprites";
@import "compass/css3/background-size";

// 公用图片精灵的配置信息
$sprites_common: sprite-map("common/*.png", $spacing: 10px, $layout: vertical,$sort-by: ‘!width‘,$position:10px,$repeat:no-repeat,$clean-up:true);

@mixin img-sprite($sprite, $name, $sprite-name) {
    //获取当前图标的图片名字
    $imgurl: sprite-file($sprite, $name);
    //获取当前图标的位置
    $pos: sprite-position($sprite, $name);

    //根据名字获取获取长度和宽度,并设置
    width: image-width($imgurl) / 2;
    height: image-height($imgurl) / 2;

    //设置图标的位置
    background-position: nth($pos, 1) / 2 nth($pos, 2) / 2;
    //使用compass的Css3模块 兼容处理背景图片大小
    @include background-size(ceil(image-width(sprite-path($sprite)) / 2) auto);
}

@mixin img-common($name) {
    @include img-sprite($sprites_common, $name, "common");
}

//设定icon的图片信息
.common{
    //下面这句代码会触发图标合成一张图
    background-image: sprite-url($sprites_common);
    background-repeat: no-repeat;
    display: inline-block;
    .icon-baike{
        @include img-common(‘ic_baike‘)
    }
    .icon-ic_card_gongshang{
        @include img-common(‘ic_card_gongshang‘)
    }
}

  编译之后的css文件:

/* line 29, ../sass/ie.scss */
.common {
  background-image: url(‘/img/common-sbb7f65b409.png‘);
  background-repeat: no-repeat;
  display: inline-block;
}
/* line 34, ../sass/ie.scss */
.common .icon-baike {
  width: 18px;
  height: 20px;
  background-position: -5px -1870px;
  -moz-background-size: 59px auto;
  -o-background-size: 59px auto;
  -webkit-background-size: 59px auto;
  background-size: 59px auto;
}
/* line 37, ../sass/ie.scss */
.common .icon-ic_card_gongshang {
  width: 30px;
  height: 30px;
  background-position: -5px -743px;
  -moz-background-size: 59px auto;
  -o-background-size: 59px auto;
  -webkit-background-size: 59px auto;
  background-size: 59px auto;
}
时间: 2024-10-16 01:13:12

使用compass更高效的编辑css --- 图片精灵的相关文章

css图片精灵

先说一下这里为什么会用到图片精灵呢   因为浏览器每加载一张图片都会发送一次http请求  但对于一些小图片的话 就没必要分几张图片引入了 可以放一张大图上  然后使用图片精灵技术 在div上显示对应的图片  这样就提高了页面的响应速度 ↓↓↓↓↓ div{ width:200px; height:400px; margin:100px auto; background:url(img/47b1290d43fbbe81e7ddbcbb5c2dd8e7.png) 0 -100px no-repea

这些小工具让你的Android 开发更高效

在做Android 开发过程中,会遇到一些小的问题,虽然自己动手也能解决,但是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效. Vysor Vysor 是一个可以将手机的屏幕投影到电脑上,当然也可以操作,当我们做分享或者演示的时候,这个工具起到了作用. Vector Asset Android Studio 在1.4 支持了VectorAsset,所谓VectorAsset:它可以帮助你在Android 项目中添加Materia

如何更高效地定制你的bootstrap

bootstrap已经作为前端开发必不可少的框架之一,应用bootstrap使得我们对布局.样式的设定变得非常简单.但bootstrap提供的默认样式往往不能满足我们的需求,从而定制化bootstrap成为我们经常需要做的工作,本文就如何更高效更可维护地定制bootstrap做一下探讨. 如下图,在你的button 中加入bootstrap的class: btn btn-primary,就可以将默认的button(左边)变成右边的样式. 可如果我们想应用自己的样式呢?比如我们想要拥有圆角的but

高效地加载图片(四) 管理缓存

除了缓存图片意外,还有一些其他的方式来促进GC的效率和图片的复用.不同的Android系统版本有不同的处理策略.BitmapFun中就包含了这个类,能够使我们高效地构建我们的项目. 为了开始以下教程,我们需要先介绍一下Android系统对Bitmap管理的进化史. 在Android2.2(API level 8)以及更低的版本中,当垃圾被回收时,应用的线程会被停止,这会造成一定程度的延时.在Android 2.3中,加入了并发回收机制,这意味着当Bitmap不再被使用的时候,内存会被很快地回收.

Campass + Scss ,让我们更优雅的编写CSS

如果你经常写CSS,你应该会发现传统的CSS编写方式或多或少有些枯燥,不智能? 不优雅? 至少我是这么认为的. 缺陷举例 1. 假设页面中有大部分HTML元素的背景颜色值是一样的,  我们就需要为各个元素加上 background-color:#fff 这样重复的CSS代码,当然,你也可以通过单独定义一个class, 为这个class设定 background-color:#fff, 然后把class应用到你想要到的HTML元素上,如果运用的合理,还算说的过去,否则结果就是你的HTML元素上面可

高效地加载图片(三) 缓存图片

如果只需要加载一张图片,那么直接加载就可以.但是,如果要在类似ListView,GridView或者ViewPager的控件中加载大量的图片时,问题就会变得复杂.在使用这类控件时,在短时间内可能会显示在屏幕上的图片数量是不固定的. 这类控件会通过子View的复用来保持较低的内存占用.而Garbage Collector也会在View被复用时释放对应的Bitmap,保证这些没用用到的Bitmap不会长期存在于内存中.但是为了保证控件的流畅滑动,在一个View再次滑动出现在屏幕上时,我们需要避免图片

25个让Java程序员更高效的Eclipse插件

Eclipse提供了一 个可扩展插件的开发系统.这就使得Eclipse在运行系统之上可以实现各种功能.这些插件也不同于其他的应用(插件的功能是最难用代码实现的).拥有合 适的Eclipse插件是非常重要的,因为它们能让Java开发者们无缝的开发基于J2EE和服务的应用程序.Eclipse的插件也能帮助他们开发不同 应用架构上的程序. 下面列出来的是25个最好的免费Eclipse插件,可以让开发者更高效的工作 . 提高代码质量的插件 1. FindBugs FindBugs可以帮你找到Java代码

CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图

技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点基础的CSS语法,在移动互联时代,难道我们就这样落伍了??好好学习吧,看完<CSS高效开发实战:CSS 3.LESS.SASS.Bootstrap.Foundation>,给自己的未来打气! 5.1  设定背景图的大小 在CSS 3出现之前,背景图片的尺寸是由图片的实际尺寸决定的.如果同样的图片要

CSS图片列表

1.效果图: 2.Example Source Code <h3><a href="http://www.52css.com/">我爱CSS画廊</a></h3><ul>    <li>        <a href="http://www.52css.com/default.asp">        <img src="1.jpg" alt="1