CSS揭秘:6.复杂的背景图案(上)
文章目录
- 前言
- 一、网格
- 1. 实色网格
- 2. 边框网格
- 3. 波点
- 4. 棋盘
- 小结
- 相关阅读
前言
上一篇文章中我们学会了如何使用渐变实现条纹状的背景,但是实际上条纹背景并不是我们能实现的唯一的背景图案,利用渐变我们可以实现很多更为复杂的图案,本篇会介绍一些其他的简单而实用的背景图案。
一、网格
网格的原理其实很简单,目前我们已经实现了条纹背景,那么如果我们将条纹背景组合呢?互相穿插组合,那么是不是很简单就实现了各种各样的网格背景。
1. 实色网格
代码如下:
width: 200px;height: 200px;background-image:linear-gradient(rgba(255,187,51, .5) 33%, rgba(85,136,170, .5) 0, rgba(85,136,170, .5) 66%, rgba(173,255,47, .5) 0),linear-gradient(90deg, rgba(255,187,51,1) 33%, rgba(85,136,170, 1) 0, rgba(85,136,170, 1) 66%, rgba(173,255,47, .5) 0);background-size: 60px 60px;
实际效果。
2. 边框网格
实现类似边框网格的效果,我们只需要将实色的网格色块改变成一条边框就可以了。方法为在渐变中设置一条1px长度的颜色,然后剩下的颜色为透明色(或者其他底色)。
代码如下:
width: 201px;height: 201px;background-image:linear-gradient(rgba(255,187,51, .5) 1px, transparent 0),linear-gradient(90deg,rgba(255,187,51, .5) 1px, transparent 0);background-size: 20px 20px;
实际效果。
我们可以通过调整background-size来调整网格的大小。
注意:整个图片的大小为201x201,由于我们设置的其实是左边和上边,所以同一个单位背景内只有上边和左边,没有下边和右边。所以如果设置总长为200px时,右边和下边会看不到边框。所以我们长宽各 + 1,以下一个背景的左上作为我们的右下边框。
3. 波点
除了实现类似格子一样的背景,我们还可以实现波点背景样式,这时我们就需要用到另外一个渐变:径向渐变(radial-gradient),和线性渐变类似,效果是从背景中心点出发,向外渐变。
代码如下:
width:200px;height:200px;background-image: radial-gradient(green 3px, yellowgreen 0, yellowgreen 6px, transparent 0);background-size: 20px 20px;
实际效果。
我们可以通过调整background-size来调整波点密度。
注意:使用background-size调整波点背景的单个背景大小,调整的视觉效果是波点的密度大小,有时候会呈现出不一样效果和图案,比如当我们的波点连接起来的时候,我们的图案就变成了一个个菱形。
实际效果。
以上效果只需要将background-size调整为12px,即背景尺寸 = 波点直径。
4. 棋盘
棋牌有点类似于我们在第一步做到的实色网格,不同的是棋盘是由一个实色和一个透明所组成的图案。所以,看似和实色网格类似,但是实现起来无法使用跟实色网格相同的实现方法(不信邪的话可以使尝试一下),那么我们如何实现棋牌类型的图案呢?也不难,我们使用直角三角形进行拼接。还得我们在实现斜向条纹时做的尝试吗?CSS揭秘:5.条纹背景(上)
代码如下:
width:200px;height:200px;background: #eee;background-image: linear-gradient(45deg, #bbb 50%, transparent 0); background-size: 30px 30px;
实际效果。
- 从刚开始的展示图案可以看出来,我们的正方形色块只是对角线的一半,那么我们的一个三角形就是1/4了,所以我们改造一下
代码如下:
width:200px;height:200px;background: #eee;background-image: linear-gradient(45deg, #bbb 25%, transparent 0);background-size: 40px 40px;
实际效果。
- 现在我们得到一半的三角形,那么拼一个正方形还需要一个相反方向的三角形,我们再来一个背景
background-image: linear-gradient(45deg, #bbb 25%, transparent 0),linear-gradient(45deg, transparent 75%, #bbb 0);
- 到此我们得到了两个直角三角形,那么如何拼接成一个正方形呢?使用background-position调整直角三角形的位置即可。把右上角显示三角形的背景 向下 向左移动就阔以了
width:200px;height:200px;background: #eee;background-image: linear-gradient(45deg, #bbb 25%, transparent 0),linear-gradient(45deg, transparent 75%, #bbb 0);background-position: 0px 0px, -20px 20px;background-size: 40px 40px;
实际效果。
那么搞定了一个再搞定另外一个就很简单了。
width:200px;height:200px;background: #eee;background: #eee;background-image: linear-gradient(45deg, #bbb 25%, transparent 0), linear-gradient(45deg, transparent 75%, #bbb 0), linear-gradient(45deg, #bbb 25%, transparent 0), linear-gradient(45deg, transparent 75%, #bbb 0);background-position: 0 0, -20px 20px, 20px -20px, 0 0;background-size: 40px 40px;
实际效果。
小结
本篇主要对一些更为复杂的背景图案做出了一些介绍,分别有实色网格图案,边框网格图案,波点图案,棋盘图案,其中:
- 实色网格用到了透明叠加的方法,实现了苏格兰裙一样的背景图案。
- 边框网格实际上是利用1px的渐变边框,实现其实类似纯div的左上border的方法。
- 波点使用到了radial-gradient径向渐变,使用方法和线性渐变相似。
- 棋盘图案则借助了background-position对直角三角形进行定位,以组合出正方形图案。
相关阅读
- CSS揭秘:1.半透明边框
- CSS揭秘:2.多重边框
- CSS揭秘:3.灵活的背景定位
- CSS揭秘:4.边框内圆角
- CSS揭秘:5.条纹背景(上)
- CSS揭秘:5.条纹背景(下)
CSS揭秘:6.复杂的背景图案(上)相关推荐
- CSS揭秘:5.条纹背景(上)
文章目录 条纹背景 CSS线性渐变 css线性渐变小结 background-size 水平条纹 水平 First Try 水平 Second Try 水平 Third Try 水平 Forth Tr ...
- css揭秘第二章:背景与边框,自己的学习笔记,如有错误请多指正
1 半透明边框 width: 200px;height: 200px;background: white;border: 10px solid hsla(0, 0%, 100%, 0.5);backg ...
- CSS揭秘(二)背景与边框
Chapter2 背景与边框 1. 半透明边框 基础:了解 RGBA & HSLA 颜色(色调 0~360.饱和度.亮度 (0%黑色~100%白色).透明度) 默认情况下,背景在边框的下层,容 ...
- html中背景条纹效果,CSS揭秘之《条纹背景》
先来说说渐变吧 background: linear-gradient(#fb3 20%, #58a 80%); 效果图如下所示:也就是说真正的渐变只出现在容器 60%(从20%到80%) 的高度区域 ...
- CSS揭秘:6.复杂的背景图案(下)
文章目录 前言 一.网格Svg svg css 小结 相关阅读 前言 上一篇文章中我们学会了如何使用实现棋盘背景的方法,但是显而易见的代码量是比较多的.那么怎么可以优化代码量,降低维护成本呢? 一.网 ...
- 《CSS揭秘》-总结47个Css技巧(一):常用的背景与边框技巧
注:本文案例来源于<CSS揭秘>这本书. 1. 设置半透明边框无效? 使用 background-clip padding-box 解决. background white backgro ...
- 背景是不规则图案css,CSS3 实现花式背景图案
CSS3 gradient介绍一文中介绍了用渐变画实线条纹背景,事实上用渐变配合background背景图层可以创造出各种奇妙的背景效果,例如参照css3patterns.本篇就举几个例子介绍一下它们 ...
- css揭秘实战技巧- 背景与边框 [一]
前言 这段时间,一直觉得css这块感觉每次写代码都是常用的那些基本属性,觉得始终没有对css有一个更深层次的掌握,所以,最近开始学习css相关进阶知识,首先第一关就是攻克 "css揭秘&qu ...
- CSS应用:复杂背景图案
通过线性渐变和通过径向渐变可以容易的构造出条纹背景(如果你还对线性渐变和径向渐变不了解,请参考我前面的文章线性渐变和径向渐变,你也可以在遇到困难的时候再去查阅),但他们能做的事情远不止于此,使用他们能 ...
最新文章
- 《C++面向对象高效编程(第2版)》——3.4 赋值操作符
- VOC 灰度图 索引图
- Activity的启动流程
- Charting for WinForms控件发布v3.5版本
- Struts2的文件上传
- java中sam接口_具有非SAM接口的lambda的Java习惯用法
- C# For Koyo PLC Serial Port Communication Library,C# 与光洋PLC通讯库,光洋PLC通讯,PLC通讯,光洋
- filco linux 蓝牙适配器,filco蓝牙配对教程,新买了一个蓝牙无线键盘fi
- Elasticsearch开发进阶指南——如何选择合适的ES版本
- python 实时监控日志文件_Python动态监控日志的内容
- @SpringBootTest与@RunWith注解的区别
- 删除服务残留注册表_强制卸载软件程序、清理注册表的好工具
- photoshop颈纹去除
- Liunx操作-Record20—MMAP共享映射区相关的操作
- gstreamer教程(一)-基本概念
- STC15f2k60s2C语言定时器2,STC15F2K60S2 定时器2测试C.doc
- linux 查看进程死亡原因,【进程管理】进程的死亡
- 大数据下的竞彩足球胜平负分析技巧2
- 使用AccessibilityService实现微信自动抢红包
- JAVA 基础深化和提高【上】