CSS镂空图片处理

来源:http://www.zhangxinxu.com/wordpress/?p=5267,分享收藏

使用镂空图片,通过CSS改变颜色,达到图片切换的效果,可以同过背景图,然后改变背景色,从而达到图片换色的目的,在换色的过程中可以过渡

下面是使用背景色

        <style type="text/css">
            li{display:inline-block;}

            .icon{display:block;height:140px;width: 140px;background-color:#000;overflow: hidden;transition:all 0.5s;}
            .icon{
                background-image: url(img/test1.png);
            }
            .icon2{background-position: 0 -140px;}
            .icon3{background-position: 0 -280px;}
            .icon4{background-position: 0 -420px;}
            .icon:hover{background-color: #ccc;}
        </style>
    </head>
    <body>
        <ul id=‘test‘>
            <li>
                <i class="icon icon1"></i>
            </li>
            <li>
                <i class="icon icon2"></i>
            </li>
            <li>
                <i class="icon icon3"></i>
            </li>
            <li>
                <i class="icon icon4"></i>
            </li>
        </ul>
    </body>

可以达到换色的效果,但是在初始加载的时候会有下面这个问题加载完成前会是这样

后面张大神提出用伪类选择器,content,加载图片解决这个问题,下面代码:

        <style type="text/css">
            li{display:inline-block;}
            .icon:after{content: url(img/test1.png);position:relative;cursor: pointer;transition:all .5s;}
            .icon{display:block;height:140px;width: 140px;background-color:#000;overflow: hidden;}
            .icon2:after{top:-140px;}
            .icon3:after{top:-280px;}
            .icon4:after{top:-420px;}
            .icon:hover{background-color: #ccc;}
        </style>
    </head>
    <body>
        <ul id=‘test‘>
            <li>
                <i class="icon icon1"></i>
            </li>
            <li>
                <i class="icon icon2"></i>
            </li>
            <li>
                <i class="icon icon3"></i>
            </li>
            <li>
                <i class="icon icon4"></i>
            </li>
        </ul>
    </body>

就不会出现这样的问题

镂空图片在这里

时间: 2024-10-27 09:30:34

CSS镂空图片处理的相关文章

&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

CSS之图片压盖效果案例分析

CSS之图片压盖效果案例分析 最近在做某个网站的静态页面,发现有很多图片压盖效果的布局,特来记录一下布局技巧. 碰到这种布局你会怎么做: 第一反应肯定是浮动,没错,可以把这几个图片放在ul列表的li标签里,给每个li标签内添加img和文字.如: <ul> <li> <img src="" alt=""><p>文字</p></li> <li><img src="&quo

CSS3实战开发: 纯CSS实现图片过滤分类显示特效

各位网友大家好,今天我要带领大家开发一个纯CSS的图片分类显示的网址导航,单纯看标题大家可能有些困惑,依照以往惯例,我先给大家演示一下实际运行效果: 从上面的运行效果,大家不难发现,当我点击某一菜单时,导航区域会相应高亮显示此分类的图标,而其他图标则会变暗. 很多人可能会说,这个这么简单,直接使用javascript或jQuery等前端框架,再配合一些CSS,就可以很快实现同样的效果了.如果你是这一部分人,我也希望你停下脚步,看看这篇教程.因为在今天这篇教程中,我会用另一个思维方式来思考问题,我

CSS强制图片大小

相信大家做网页时经常会碰到大分辨率的图片会把表格涨破以致漂亮的网页面目全非,但只要使用以下的CSS语句即可解决. 该CSS的功能是:大于600的图片自动调整为600显示. <style type="text/css"><!-- img {width:expression(this.width>600?"600px":this.width+"px");}} --></style> 上面的代码在使用的过程中发