使用CSS实现黑白格背景效果


Posted in HTML / CSS onJune 01, 2022

需求介绍

在页面上,有时会需要展示一些透明背景的图片,为了展示其透明的背景,通常会像PS一样,使用黑白相间的格子组成背景,从而告诉用户,这是一张透明的图片。

效果预览

使用CSS实现黑白格背景效果

实现原理

1.利用渐变(background: linear-gradient())的效果来实现黑白相间,如下代码:

<style>
    #app {
	width: 200px;
	height: 200px;
	background: linear-gradient(
      		rgba(0, 0, 0, 0.4) 25%,
      		transparent 25%,
      		transparent 75%,
      		rgba(0, 0, 0, 0.4) 75%,
                rgba(0, 0, 0, 0.4) 100%
        )
    }
</style>
</head>

<body>
	<div id="app"></div>
</body>

效果:

使用CSS实现黑白格背景效果

2.然后加以旋转,使渐变背景倾斜,代码:

#app {
	width: 200px;
	height: 200px;
        background: linear-gradient(
                45deg,
      		rgba(0, 0, 0, 0.4) 25%,
      		transparent 25%,
      		transparent 75%,
      		rgba(0, 0, 0, 0.4) 75%,
                rgba(0, 0, 0, 0.4) 100%
       );
}

效果:

使用CSS实现黑白格背景效果

3.然后设置背景大小,并且使其自动平铺填充background-repeat:repeat;, 因为默认就是平铺,所以不用特地设置这个值,只需设置背景大小即可:

#app {
	width: 200px;
	height: 200px;
        background: linear-gradient(
                45deg,
      		rgba(0, 0, 0, 0.4) 25%,
      		transparent 25%,
      		transparent 75%,
      		rgba(0, 0, 0, 0.4) 75%,
                rgba(0, 0, 0, 0.4) 100%
       );
       background-size: 20px 20px;
       
}

效果:

使用CSS实现黑白格背景效果

4.通过以上操作,发现基本实现了一半的效果,毕竟需求是方格,而不是三角形,那么每个格子只需要再来一个三角形即可,为了方便区分,另一个颜色先设置为red:

#app {
  width: 200px;
  height: 200px;
  background: linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.4) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.4) 75%,
      rgba(0, 0, 0, 0.4) 100%
    ),
    linear-gradient(
      45deg,
      red 25%,
      transparent 25%,
      transparent 75%,
      red 75%,
      red 100%
    );
}

效果:

使用CSS实现黑白格背景效果

5.可以看到,两种渐变重叠在一起,这时候需要分别设置两种渐变起始位置,使其分开,为了实现这个效果,将红色渐变的起始位置向左、向下平移背景大小一半的距离:

#app {
  width: 200px;
  height: 200px;
  background: linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.4) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.4) 75%,
      rgba(0, 0, 0, 0.4) 100%
    ),
    linear-gradient(
      45deg,
      red 25%,
      transparent 25%,
      transparent 75%,
      red 75%,
      red 100%
    );
  background-position: 0 0, 100px 100px;
}

效果:

使用CSS实现黑白格背景效果

6.到此为止,已经实现我们需要效果了,接下来只需要将红色设置为灰色,然后设置背景的大小,将背景平铺即可,完整代码如下:

#app {
  width: 200px;
  height: 200px;
  background: linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.4) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.4) 75%,
      rgba(0, 0, 0, 0.4) 100%
    ),
    linear-gradient(
      45deg,
      rgba(0, 0, 0, 0.4) 25%,
      transparent 25%,
      transparent 75%,
      rgba(0, 0, 0, 0.4) 75%,
      rgba(0, 0, 0, 0.4) 100%
    );
    /* 背景大小必须小于盒子的大小 */
    background-size: 20px 20px;
    /* 第二种渐变的偏移必须为为背景大小的一半 */
    background-position: 0 0, 10px 10px;
}

效果:

使用CSS实现黑白格背景效果

至此,黑白格背景效果实现完毕。

到此这篇关于使用CSS实现黑白格背景效果的文章就介绍到这了,更多相关css黑白格背景内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
CSS3媒体查询Media Queries基础学习教程
Feb 29 HTML / CSS
解决CSS3的opacity属性带来的层叠顺序问题
May 09 HTML / CSS
CSS3 真的会替代 SCSS 吗
Mar 09 HTML / CSS
html5中如何将图片的绝对路径转换成文件对象
Jan 11 HTML / CSS
HTML5 对各个标签的定义与规定:body的介绍
Jun 21 HTML / CSS
Html5实现iPhone开机界面示例代码
Jun 30 HTML / CSS
html5的websockets全双工通信详解学习示例
Feb 26 HTML / CSS
HTML5的hidden属性兼容老浏览器的方法
Apr 23 HTML / CSS
H5最强接口之canvas实现动态图形功能
May 31 HTML / CSS
html5 canvas手势解锁源码分享
Jan 07 HTML / CSS
浅析HTML5 Landmark
Sep 11 HTML / CSS
CSS中float高度塌陷问题的四种解决方案
Apr 18 HTML / CSS
HTML中实现音乐或视频自动播放案例详解
May 30 #HTML / CSS
CSS文本阴影 text-shadow 悬停效果详解
May 25 #HTML / CSS
HTML页面中使两个div并排显示的实现
May 15 #HTML / CSS
html中相对位置与绝对位置的具体使用
CSS 左边固定宽右边自适应的6种方法
May 15 #HTML / CSS
解决flex布局中子项目尺寸不受flex-shrink限制
May 11 #HTML / CSS
css3 选择器
May 11 #HTML / CSS
You might like
php类中的各种拦截器用法分析
2014/11/03 PHP
PHP各种常见经典算法总结【排序、查找、翻转等】
2019/08/05 PHP
让getElementsByName适应IE和firefox的方法
2007/09/24 Javascript
为指定元素增加样式的js代码
2009/12/09 Javascript
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
javascript里绝对用的上的字符分割函数总结
2014/07/31 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
JS去除iframe滚动条的方法
2015/04/01 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
jQuery实现的简单分页示例
2016/06/01 Javascript
Paypal支付不完全指北
2020/06/04 Javascript
[01:15:00]LGD vs Mineski Supermajor 胜者组 BO3 第一场 6.5
2018/06/06 DOTA
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
python 基础教程之Map使用方法
2017/01/17 Python
python 字符串转列表 list 出现\ufeff的解决方法
2017/06/22 Python
Python元组及文件核心对象类型详解
2018/02/11 Python
PyQt5每天必学之事件与信号
2018/04/20 Python
Python数据分析matplotlib设置多个子图的间距方法
2018/08/03 Python
对python3新增的byte类型详解
2018/12/04 Python
python的schedule定时任务模块二次封装方法
2019/02/19 Python
如何通过雪花算法用Python实现一个简单的发号器
2019/07/03 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
python  ceiling divide 除法向上取整(或小数向上取整)的实例
2019/12/27 Python
pycharm 配置svn的图文教程(手把手教你)
2021/01/15 Python
临床医学专业毕业生的自我评价
2013/10/17 职场文书
雪山饭庄的创业计划书范文
2014/01/18 职场文书
初三化学教学反思
2014/01/23 职场文书
报社实习生自荐信
2014/01/24 职场文书
生产部管理制度
2014/01/31 职场文书
政府信息公开实施方案
2014/05/09 职场文书
挂牌仪式策划方案
2014/05/18 职场文书
离婚财产分隔协议书
2014/10/23 职场文书
求职意向书范本
2015/05/11 职场文书
关于教师节的广播稿
2015/08/19 职场文书
win10安装配置nginx的过程
2021/03/31 Servers
微信小程序APP的事件绑定以及传递参数时的冒泡和捕获
2022/04/19 Javascript