使用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 相关文章推荐
在HTML5中如何使用CSS建立不可选的文字
Oct 17 HTML / CSS
浅谈css3中的渐进增强和优雅降级
Dec 01 HTML / CSS
利用简洁的图片预加载组件提升html5移动页面的用户体验
Mar 11 HTML / CSS
如何使用localstorage代替cookie实现跨域共享数据问题
Apr 18 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
html5开发之viewport使用
Oct 17 HTML / CSS
html5拍照功能实现代码(htm5上传文件)
Dec 11 HTML / CSS
html5的canvas方法使用指南
Dec 15 HTML / CSS
简单介绍HTML5中的文件导入
May 08 HTML / CSS
有关HTML5中背景音乐的自动播放功能
Oct 16 HTML / CSS
基于HTML5的WebGL实现json和echarts图表展现在同一个界面
Oct 26 HTML / CSS
CSS3新特性详解(五):多列columns column-count和flex布局
Apr 30 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 CKEditor 上传图片实现代码
2009/11/06 PHP
php的zip解压缩类pclzip使用示例
2014/03/14 PHP
php中解析带中文字符的url函数分享
2015/01/20 PHP
Yii开启片段缓存的方法
2016/03/28 PHP
PHP实现上传多图即时显示与即时删除的方法
2017/05/09 PHP
PHP更安全的密码加密机制Bcrypt详解
2017/06/18 PHP
php+ajax实现异步上传文件或图片功能
2017/07/18 PHP
PHP基于IMAP收取邮件的方法示例
2017/08/07 PHP
PHP实现数组转JSon和JSon转数组的方法示例
2018/06/14 PHP
PHP封装的数据库模型Model类完整示例【基于PDO】
2019/03/14 PHP
Laravel Validator自定义错误返回提示消息并在前端展示
2019/05/09 PHP
用javascript实现计算两个日期的间隔天数
2007/08/14 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
jQuery通过写入cookie实现更换网页背景的方法
2016/04/15 Javascript
基于JavaScript实现屏幕滚动效果
2017/01/18 Javascript
整理关于Bootstrap导航的慕课笔记
2017/03/29 Javascript
js计算两个日期间的天数月的实例代码
2018/09/20 Javascript
Node.js 实现简单的无侵入式缓存框架的方法
2019/07/21 Javascript
VScode格式化ESlint方法(最全最好用方法)
2019/09/10 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
antd 表格列宽自适应方法以及错误处理操作
2020/10/27 Javascript
[00:32]2018DOTA2亚洲邀请赛Mineski出场
2018/04/04 DOTA
Python递归实现汉诺塔算法示例
2018/03/19 Python
Django框架的使用教程路由请求响应的方法
2018/07/03 Python
python爬虫增加访问量的方法
2019/08/22 Python
Django模型验证器介绍与源码分析
2020/09/08 Python
HTML5 Canvas的常用线条属性值总结
2016/03/17 HTML / CSS
The Beach People美国:澳洲海滨奢华品牌
2018/07/05 全球购物
美国婴儿用品及配件购买网站:Munchkin
2019/04/03 全球购物
办公室副主任岗位职责
2013/11/25 职场文书
领导党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
解放思想大讨论活动总结
2015/05/09 职场文书
高考百日冲刺决心书
2015/09/23 职场文书
三好学生评选事迹材料(2016精选版)
2016/02/25 职场文书
强烈推荐:小学生:暑假作息时间表(值得收藏)
2019/07/09 职场文书
postman中form-data、x-www-form-urlencoded、raw、binary的区别介绍
2022/01/18 HTML / CSS