使用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使用图片精灵的方法,比较可惜的是不太满足我们的需求,所以做了如下改变
需要注意的是config.rb上面要写上合成雪碧图的路径
http_path = "/"
css_dir = "dist/css"
sass_dir = "src/sass"
images_dir = "dist/img"
javascripts_dir = "src/js"
sprite_load_path = "src/img"
output_style = :compressed
asset_cache_buster :none
编译之前的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;
}
使用compass更高效的编辑css --- 图片精灵的更多相关文章
- 【CSS sprites (CSS图片精灵) 详解】
本文包含 CSS sprites 简介.原理.适用在哪些类型的网页制作中.背景图片的 position 值如何确定以及制作 sprites 的技巧. [CSS sprites 简介] CSS Spri ...
- css图片精灵
<ul> <li class="top"> <em>01</em> <p><a href="http:/ ...
- 如何更高效地定制你的bootstrap
bootstrap已经作为前端开发必不可少的框架之一,应用bootstrap使得我们对布局.样式的设定变得非常简单.但bootstrap提供的默认样式往往不能满足我们的需求,从而定制化bootstra ...
- 这些小工具让你的Android 开发更高效
在做Android 开发过程中,会遇到一些小的问题.尽管自己动手也能解决.可是有了一些小工具,解决这些问题就得心应手了,今天就为大家推荐一下Android 开发遇到的小工具,来让你的开发更高效. Vy ...
- CSS高效开发实战:CSS 3、LESS、SASS、Bootstrap、Foundation --读书笔记(1)设定背景图
技术的新发展,除计算机可以接入互联网之外,平板电脑.智能手机.智能电视等其他设备均可访问互联网.在多设备时代,构建多屏体验也不是听说的那么难. 但是这也增加了学习CSS的难度?不知道如何上手,只懂一点 ...
- 转:利用node压缩、合并js,css,图片
1.安装nodejs http://nodejs.org/ 2.安装各自的node package js我用的是UglifyJS github地址:https://github.com/mishoo/ ...
- CSS图片列表
1.效果图: 2.Example Source Code <h3><a href="http://www.52css.com/">我爱CSS画廊</a ...
- 使jQuqer更高效的方法
讨论 jQuery 和 javascript 性能的文章并不罕见.然而,本文我计划总结一些速度方面的技巧和我本人的一些建议,来提升你的 jQuery 和 javascript 代码.好的代码会带来速度 ...
- Android高效内存:让图片占用尽可能少的内存
Android高效内存:让图片占用尽可能少的内存 一.让你的图片最小化 1.1 大图小图内存使用情况对比 大图:440 * 336 小图:220 * 168 小图的高宽都是大图的1/2--> ...
随机推荐
- webform在页面生成的代码与事件回传
<script type="text/javascript"> //<![CDATA[ var theForm = document.forms['form1'] ...
- 在Eclipse中执行Andorid test preject提示The connection to adb is down, and a severe error has occured.解决方法
启动android模拟器时.有时会报The connection to adb is down, and a severe error has occured.的错误.在网友说在任务管理器上把所有ad ...
- 简单介绍如何使用robotium进行自动化测试
1. 创建一个简单的工程()作为被测程序,运行后显示如下界面: 2. 创建一个Test Project 1). 打开eclipse,选择File->New->P ...
- poi的各种单元格样式以及一些常用的配置
之前我做过一个poi到处excel数据的博客,但是,后面使用起来发现,导出的数据单元格样式都不对. 很多没有居中对齐,很多单元格的格式不对,还有就是单元格的大小不对,导致数据显示异常,虽然功能可以使用 ...
- Shiro 的FilterChain
/** * Shiro的FilterChain * @see ===================================================================== ...
- GsonFormat 报错
GsonFormat原来也有bug 我是用GsonFormat来生成java bean的,但是运行起来居然报 Caused by: java.lang.NumberFormatException: E ...
- php的memcache和memcached扩展区别【转载】
老生长谈的问题了.我这里就整理一下. memcache的文档在:http://pecl.php.net/package/memcache memcached的文档在:http://pecl.php.n ...
- s7-300 第9讲 定时器
- webstorm比dreamweaver强大的地方 转
比dw强大的地方有: . 对js的开发有长足的支持,那些自动提示,代码主题,调试之类的我就不说了,主要是对流行技术的支持,比如Node.js,less,sass,jq,ext,prototype等框架 ...
- 【Tomcat】Tomcat配置之请求字符串编码
默认情况下,如果tomcat中部署的webservice或者web网站需要有中文的请求参数,而这时候我们直接在浏览器中输入中文那么接受到的将是乱码,无法达到我们的需求,这时候我们就需要对Tomcat的 ...