您现在的位置是:网站首页> 编程资料编程资料
CSS背景色镂空技术实际应用及进阶分享
2021-09-07
1214人已围观
简介 这篇文章主要介绍了CSS背景色镂空技术实际应用及进阶相关资料,需要的朋友可以参考下
一、背景色镂空?什么玩意?
其实在10年的时候,3年前我就介绍过背景色镂空技术,文章名为:“使用CSS实现Photoshop选区效果及应用”。
实现的就是类似下面的效果。虚框是个gif动画背景,水果图片1像素镂空,于是就有效果啦!

您可以狠狠地点击这里:背景色镂空技术与颜色可控图标demo
.icon {
display: inline-block;
width: 16px; height: 20px;
background-image: url(sprite_icons.png);
background-color: #34538b; /* 该颜色控制图标的颜色 */
}
.icon1 { background-position: 0 0; }
.icon2 { background-position: -20px 0; }
.icon3 { background-position: -40px 0; }
.icon4 { background-position: -60px 0; }返回
刷新
收藏
展开图片
三、该技术的局限性
局限性有两点:
图标所在的背景色纯色,且不会经常变化;
只能是纯色或者渐变性质的图标可以使用该技术。
四、自己更进一步改进-color实现
以下为自己的尝试,还没有大规模测试,可能某些国家或某些设备会有问题,欢迎反馈。
通过background-color控制图标颜色已经非常灵活了,但是,还不是足够灵活。举个例子,我希望图标的颜色直接与后面的文字一致,文字颜色(color)可以直接从父级继承,但是图标如果是background-color实现,则不能继承,那能不能使用color实现图标效果呢?
答案是可以的!
思路如下,使用字符实现实色背景效果;然后,镂空背景图覆盖在上面,于是效果实现,over!
脑中常备很多奇怪字符,因此,第一反应就是这厮:
其实在10年的时候,3年前我就介绍过背景色镂空技术,文章名为:“使用CSS实现Photoshop选区效果及应用”。
实现的就是类似下面的效果。虚框是个gif动画背景,水果图片1像素镂空,于是就有效果啦!

今天我翻墙逛twitter的时候,见到了这种技术更为实际的应用。
看下图所示的效果截图:
问题:这些小图标是如何实现的呢?
当下,我们一般的做法是,打开photoshop,把这些图标抠出来,然后周边透明,以用在各种背景上。
然而,twitter的上图效果是相反的做法,图标形状区域是透明镂空的,而周边是实色的。
这种实现的优点不言而喻,可以很自在得控制小图标的颜色,而这个控制就是CSS的background-color
.
您可以狠狠地点击这里:背景色镂空技术与颜色可控图标demo
Chrome浏览器下,有color
控件:
复制代码
代码如下:.icon {
display: inline-block;
width: 16px; height: 20px;
background-image: url(sprite_icons.png);
background-color: #34538b; /* 该颜色控制图标的颜色 */
}
.icon1 { background-position: 0 0; }
.icon2 { background-position: -20px 0; }
.icon3 { background-position: -40px 0; }
.icon4 { background-position: -60px 0; }返回
刷新
收藏
展开图片
三、该技术的局限性
局限性有两点:
图标所在的背景色纯色,且不会经常变化;
只能是纯色或者渐变性质的图标可以使用该技术。
四、自己更进一步改进-color实现
以下为自己的尝试,还没有大规模测试,可能某些国家或某些设备会有问题,欢迎反馈。
通过background-color控制图标颜色已经非常灵活了,但是,还不是足够灵活。举个例子,我希望图标的颜色直接与后面的文字一致,文字颜色(color)可以直接从父级继承,但是图标如果是background-color实现,则不能继承,那能不能使用color实现图标效果呢?
答案是可以的!
思路如下,使用字符实现实色背景效果;然后,镂空背景图覆盖在上面,于是效果实现,over!
脑中常备很多奇怪字符,因此,第一反应就是这厮:
相关内容
- 如何使用CSS sprites减少HTTP请求CSS Sprites 样式生成工具 3.0CSS Sprites简介以及优缺点css sprites把很多小图集成在一张图片上CSS Sprites 技术分析CSS Sprites 图片整合技术分析css sprites技术将多个背景集成到一个png图片上css定位CSS Sprites详解CSS Sprites实现图片分组动画效果源码浅谈CSS Sprites切图技术
- CSS3文本换行word-wrap解决英文文本超过固定宽度不换行css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- CSS3图片旋转特效(360/60/-360度)css3中transform属性实现的4种功能详解CSS3.0(Cascading Style Sheet) 层叠级联样式表纯CSS3实现div按照顺序出入效果CSS3实现列表无限滚动/轮播效果css3 利用transform-origin 实现圆点分布在大圆上布局及旋转特效CSS3实现的侧滑菜单CSS3实现的3D隧道效果用CSS3画一个爱心css3 实现文字闪烁效果的三种方式示例代码六种css3实现的边框过渡效果
- css中默认中文字体font-family列表CSS font-family为英文和中文字体分别设置不同的字体详解中文字体在CSS样式中font-family对应的英文名称
- 通过css加载远程字体示例代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 多步骤进度条的实现原理及代码CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- css中使input输入框与img(图片)在同一行居中对齐CSS实现同一行的图片和文字垂直居中对齐的方法CSS解决文字与图片不能水平居中对齐的问题垂直居中对齐的CSS示例代码通过css使用background-color为背景图添加遮罩效果的两种方法SCSS移动端页面遮罩层效果的实现及常见问题解决css遮罩全屏居中对齐的实现方式
- css中style和class的加载顺序示例介绍css样式加载顺序及覆盖顺序深入理解CSS 的加载及加载顺序简介
- CSS中基代码base.css一览CSS Transition通过改变Height实现展开收起元素从QQtabBar看css命名规范BEM的详细介绍css实现两栏布局,左侧固定宽,右侧自适应的多种方法CSS 实现Chrome标签栏的技巧CSS实现两列布局的N种方法CSS实现隐藏搜索框功能(动画正反向序列)CSS3中Animation实现简单的手指点击动画的示例详解CSS中的特指度和层叠问题详解overflow:hidden的作用(溢出隐藏、清除浮动、解决外边距塌陷)关于CSS浮动与取消浮动的问题
- 关于css控制图片大小不变形的实现思路CSS实现图片等比例缩小不变形的实例代码CSS完美解决前端图片变形问题的方法