CSS之图片的合并及使用

作为一个开发人员,前后台一并开发是常有的事。多数服务端开发人员不太擅长网页前端开发,所以开发出来的网页说好听点就是简单,说不好听就是不好看。

今天我为大家介绍一个网页图标的合并以及它的使用方法。

首先说下为什么要用图片合并。


个页面所引用的资源(如页面上引用到的图标)都需要去服务器进行单独获取,如果所引用的资源过多,往往会造成服务器压力过大(这也是为什么有网站会建立图
片服务器进行分流的原因)。所以我们可以把需要经常用到的图片进行合并成一张,然后再通过CSS样式进行切割调用。(TIPS.合并后图片大小也会比之前
图片总大小小哦)

其次,合并图片格式的选择,在此就不赘述了。网上大神多,给个链接

看了连接的大概都知道会用什么格式的了。对,就是png的(取它优点背景透明,图片不大)。

现在我们需要的是图片。

PS大神小神可以选择自己做图标,不会的也没关系,去这里找吧http://www.easyicon.net/

比如我现在下载了三个图标,都是24*24像素的。

,怎么合并呢?

PS大神小神可以选择自己合并,不会的也没关系,去这里吧。http://csssprites.com/,具体操作自己熟悉,也可以从网上找图片合并软件。如http://78.duote.com.cn/cssjbhb.zip

这两个都挺简单易用的。

合并后的图片如下:24*72像素

现在建立一个CSS样式文件:icon.css,三种状态给它取三个对应名称,分别为help,info,warning。因为这三个图标基本属性都相同,只不过位置不一样,所以我们可以先定义它们的相同属性,再分别定义它们独自的属性。

/*不同class之间用逗号分隔,下面是它们的相同属性*/

.warning,.info,.help{

width: 24px;/*宽度为24像素*/

height: 24px; /*高度为24像素*/

display: inline-block; /*让图标与它后面的内容能在同一行显示*/

vertical-align:middle;/*让图标后面的文字垂直居中*/

background-image:url(../images/icons.png);/*合并后图片的相对路径*/

background-repeat:no-repeat; /*背景不重复*/

}

说完它们的相同属性,现在要说它们的不同点——位置了。

首先给大家讲一下位置的属性。

在CSS中,图片的原点(0,0)是在图片的左上角。往右走是负的(X轴),往下走也是负的(Y轴)。

好了,现在给它们定义独自的属性吧。

.warning{background-position: 0 0;}/*感叹号*/
.info{background-position: -24px 0;} /*信息*/
.help{background-position: -48px 0;} /*帮助*/

background-position后面的两
个属性分别代表x轴坐标与y轴坐标。0 0
表示X轴从0开始,Y轴也从0开始。因为之前定义它们相同属性的时候,我们已经为这个class设定了长宽都是24像素,所以它只显示从0开始的24像素
内的正方形,这样第一个图形就出来了。

合起来,icons.css的内容就是:

.warning,.info,.help{
width: 24px;/*宽度为24像素*/
height: 24px; /*高度为24像素*/
display: inline-block; /*让图标与它后面的内容能在同一行显示*/
vertical-align:middle;/*让图标后面的文字垂直居中*/
background-image:url(../images/icons.png);/*合并后图片的相对路径*/
background-repeat:no-repeat; /*背景不重复*/
}
.warning{background-position: 0 0;}/*感叹号*/
.info{background-position: -24px 0;} /*信息*/
.help{background-position: -48px 0;} /*帮助*/

用法也很简单。

在HTML中加入CSS的引用

<link rel="stylesheet" type="text/css" href="../styles/public/icons.css">

然后用a标签显示出来,当然也可以用span呀什么的。不过不能用img标签,不然会有边框,有哪位大神能告知解决办法吗?(border:0;border:none;亲测无用)

<a class="info"></a>

注意a标签中是不能写东西的,即不能这样子:

<a class="info"><span style="color:#6633FF;">这里不能写东西呀!</span></a>

大概就是这样子了。觉得还行就顶个呗。

CSS之图片的合并及使用

时间: 2024-11-07 09:58:33

CSS之图片的合并及使用的相关文章

用DIV+CSS切割多背景合并图片 CSS Sprites 技术

很久之前就在互联网网站和一些js插件中见过这种技术的应用,当时觉得很麻烦,就没有用,也没有去深究. 近段时间一直在做前台的一些东西,涉及到很多div+css的问题.这个东东我又碰到了,所以我花了点时间去网上了解了下其中的原理.原来这个叫CSS Sprites技术,主要是个人爱好啦,我对前台这些个东西比较感兴趣,所以会去了解多一点. 废话不多说,直接上我做的小例子: 这是一张多个小背景的图片合并而成的图片,当我们想要在页面上只显示其中我们需要的区域时,我们就需要将其“切”出来. Java代码  

CSS Sprite小图片自动合并工具

css-sprite是将css样式中零星的小图标,小图片合并成大图显示,这样能减小服务器并发连接数,减小服务器负载和带宽使用,有很高的实用价值.这里介绍一些自动合并图片并生成样式的工具. NodeJS css-sprite css-sprite是一个基于NodeJS实现的css切图自动合并工具,能自动将小图片合成大图,支持retina sprites和base64输出格式. 注* retina sprites视网膜屏幕指的是接近人眼能够直观感受到的基础色素级别的输出格式.Base64是将图片转化

PHP 简易读取文件目录下的文件,生成css spirte图片

因为个人不是对PS熟悉,不清楚如何在PS中生成一张横向有序的spirte图片,使用了"css sprite V4.3"版本,生成的图片会出现压缩图片大小的情况,本想修改原作者开发的程序,但是不懂C#,只好使用PHP gd库进行生成css spirte图片. 1 <?php 2 header("Content-type: image/png"); 3 $path = "output";//建议这个文件目录下放入所有需要生成css spirte

&lt;转载&gt;使CSS文字图片div元素居中方法之水平居中的几个方法

文字居中,文字垂直居中水平居中,图片居中,图片水平居中垂直居中,块元素垂直居中?当我们在做前端开发是时候关于css居中的问题是很常见的.情 况有很多种,不同的情况又有不同的解决方式.水平居中的方式解决的时候相对来说通过css比较容易设置,垂直居中相对比较棘手. 先来说一下水平居中的不同情况与不同解决方法吧. 1文本,图片等行内元素的水平居中方法呢比较简单.直接给父元素设置一个text-align:centent属性就可以实现元素的水平居中了. 2 确定宽度的块级元素水平居中怎么设置呢?设置方法也

前端技术之CSS实现图片垂直居中

前端技术之CSS实现图片垂直居中技术 maybe yes 发表于2015-03-14 18:52 原文链接 : http://blog.lmlphp.com/archives/86/The_front-end_technology_pure_CSS_to_achieve_image_vertically  来自 : LMLPHP后院 让 图片实现水平居中比较简单,只需要在父级容器中添加属性 text-align 为 center 即可.使用纯 CSS 实现图片的垂直居中,可以将图片包裹容器的 d

【javascript/css】Javascript+Css实现图片滑动浏览效果

今天用js+css来做一个能够左右滑动的图片浏览效果. 首先写一个结构,包括需要浏览的两张图,以及能够点击来滑动图片的两个按钮. 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 5 <script type="text/javascrip

css 背景图片拉伸[转]

http://www.jeasyuicn.com/css-background-image-stretching.html background-image:url(bg.png); -moz-background-size: 100% 100%; -o-background-size: 100% 100%; -webkit-background-size: 100% 100%; background-size: 100% 100%; -moz-border-image: url(bg.png)

&lt;转载&gt;CSS解决图片过大撑破DIV的方法

DIV+CSS网页内容中如果插入大于DIV层宽度显示,过大的图片将会撑破网页宽度显示从而网页严重变形,您是否遇到过?这里DIVCSS5给大家介绍几种解决图片撑破撑开网页DIV层方法. 图片撑破宽度解决方法.CSS设置div层宽度图片大于设置div宽度后撑破div固定宽度解决方法方案,隐藏图片超出撑破宽度方法. 一.防止图片撑破DIV方法一 原始处理方法是将要展示的图片进行处理.比如你的DIV宽度为500px(像素),那你上传的图片或放入网页的图片宽度就要小于500px,也就是你图片需要图片软件剪

CSS背景图片定位

原文:CSS背景图片定位 在网页开发中我们经常需要对图片进行分割(如下图)来使用,而不是分别提供单独的图片来调用,常见的如页面背景,按钮图标等,这样做的好处就是减少请求次数,节省时间和带宽. 对背景图片的定位就需要用到CSS中的background样式,如: div{ background-image: url("1234.png"); background-repeat: no-repeat; background-position: 0px -100px; } 属性解释: back