• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com专业计算机教程网站
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure
您的位置:首页 > 网页设计 >CSS > CSS Sprites雪碧图技术基础学习指南

CSS Sprites雪碧图技术基础学习指南

作者:RayLiao 字体:[增加 减小] 来源:互联网 时间:2017-08-06

本文主要包含CSS,Sprites,雪碧等相关知识,RayLiao 希望在学习及工作中可以帮助到您

引言
雪碧图被运用在众多使用了很多小图标的网站上。相对于把每张小图标以.png格式文件的形式引用到页面上,使用雪碧图只需要引用一张图片,对内存和带宽更加友好。

实现
假设我们通过.toolbtn的类,为应用该类的各元素提供一张背景图片:

  1. <style> .toolbtn {background:url(myfile.png); display:inline-block; height:20px; width:20px } </style>  

背景位置,可以通过在background的url()直接定义X,Y轴的值,或者通过background-position属性来添加。例如:

  1. <style>   
  2. #btn1 {background-position: -20px 0px}   
  3. #btn2 {background-position: -40px 0px}   
  4. </style>  

id=btn1的元素背景左移20px,id=btn2的元素背景左移40px(假设这两个元素的都添加了toolbtn类,应用了上面样式定义的图片效果)

类似的,你也可以使用下面的方式添加hover的状态:

  1. #btn:hover {background-position: [pixels shifted rightright]px [pixels shifted down]px;}  

CSS雪碧的基本原理是把你的网站上用到的一些图片整合到一张单独的图片中,从而减少你的网站的HTTP请求数量。该图片使用CSS background和background-position属性渲染(值得一提的是,这也就意味着你的标签变得更加复杂了,图片是在CSS中定义,而非<img>标签)。

使用css-sprite雪碧图工具
可能是最好用的雪碧图工具了,好吧,至少是我用过最好用的。

首先安装css-sprite,安装这里很坑,等我最后再说。


全选复制放进笔记var gulp = require('gulp');

  1. var gulpif = require('gulp-if');   
  2.   
  3. gulp.task('sprites',function(){   
  4.     gulp.src('img/icon/*.png')                  //这是要合并的图片的路径   
  5.         .pipe(sprite({   
  6.             name: 'icon',                       //定义一个名称   
  7.             style: '_icon.scss',                //这是生成的样式文件   
  8.             format: 'png',                      //png格式的图片   
  9.             orientation: 'left-right',          //雪碧图合并的方向,也可以设置成垂直或水平   
  10.             cssPath: '#{$icon-sprite-path}',    //雪碧图的路径变量   
  11.             template: './sprite-tpl.mustache',  //scss生成的模板   
  12.             processor: 'scss'                   //生成的样式文件的格式   
  13.         }))   
  14.         .pipe(gulpif('*.png', gulp.dest('img/'), gulp.dest('css/')));   
  15. });  

scss的模板使用mustache:

  1. {{#items}}   

您可能想查找下面的文章:

  • css小技巧
  • 各大网站CSS初始化代码
  • css权重问题
  • CSS实现鼠标上移图标旋转效果
  • 使用CSS3制作一个简单的进度条(demo)
  • 用纯CSS实现饼状Loading等待图效果
  • 利用CSS3伪元素实现逐渐发光的方格边框
  • CSS3实现内凹圆角的实例代码
  • 利用HTML5+CSS3实现3D转换效果实例详解
  • css3+伪元素实现鼠标移入时下划线向两边展开的效果

相关文章

  • 2017-08-06CSS Cookbook创建水平导航菜单
  • 2017-08-0610个必备的CSS技巧总结
  • 2017-08-06将XSLT作为HTML的样式表的使用方法示例
  • 2017-08-06CSS3正方体旋转示例代码
  • 2017-08-06CSS 分页效果制作实例教程
  • 2017-08-06CSS 很酷的透明样式
  • 2017-08-06图片与文字同排垂直居中的CSS样式
  • 2017-08-06background-postion定位与图片结合实现圆角效果
  • 2017-08-06书写css伪类时冒号后多个空格导致该规则失效
  • 2017-08-06利用CSS截取标题长度方法

文章分类

  • html/xhtml
  • html5
  • CSS
  • XML/XSLT
  • Dreamweaver教程
  • Frontpage教程
  • 心得技巧
  • bootstrap
  • vue
  • AngularJS
  • HBuilder教程
  • css3
  • 浏览器兼容
  • div/css
  • 网页编辑器
  • axure

最近更新的内容

    • html+css给单独某一表格定义样式示例
    • 使用CSS3的appearance属性改变元素的外观的方法
    • 解决IE6,IE7不能隐藏(overflow:hidden)绝对定位溢出的内容
    • 纯CSS实现的响应式图像显示(无javaScript)
    • 用网页技术CSS实现网页背景渐变的四种代码设置
    • css 控制first-letter伪类的背景
    • 通过float实现两个div不换行
    • css实现多行文字截断效果
    • CSS中的边界margin的取值为负值说明
    • 纯CSS改变webkit内核浏览器的滚动条样式

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有