利用css中background实现绘制图形的方法-创新互联
这篇文章将为大家详细讲解有关利用css中background实现绘制图形的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
成都创新互联是一家集网站建设,焉耆企业网站建设,焉耆品牌网站建设,网站定制,焉耆网站建设报价,网络营销,网络优化,焉耆网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。相信大家在平时工作中少不了会被要求在某些元添加一些特殊的背景图片,这时候通常就拿起ps就是切切切。不说这种方式麻烦,有ui给你切好的情况已经不错,没有的就有自己动手。还可能有需要切一整张超大图的情况。作为一个“优秀”的前端,本着自己动手丰衣足食的理念,下面给大家介绍用background来绘制这些特的图片
先来看看平时会出现的
通过一下css得到
当然现在不切图,直接用css来做
.box{ width: 500px; height: 500px; background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb), linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 0, linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px, linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 100px 50px; background-size: 100px 100px; background-color: #fff; }
我们可以看到会得到与切图一模一样的效果
接下来来看下上面的css为什么这样写
首先我们先理解background: linear-gradient(),在background中CSS3 渐变(gradients)可看做一张背景图片,可理解为background: url(),而背景图片的可以为多张的,对应我们就可以写多个linear-gradient,通过对其颜色的控制来拼接成一个独立的图片块。background-size刷新中可通过逗号分隔,会循环设置对应的linear-gradient。
这里需要注意的是,linear-gradient是重后往前绘制的,就是说前面颜色的会覆盖后面的颜色。
分析上面的格子背景,我看可以看做在一个4x4的格子中有两个1x1的灰格子覆盖在上面。每个灰格子可通过
的基础图案拼成,所以有了如下
background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb), linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px;
这里有个问题,小三角间拼接有缝隙,所以用
图形再拼接一次。
background: linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb), linear-gradient(45deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 50px, linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 50px 0, linear-gradient(135deg, #cbcbcb 25%, transparent 25%, transparent 75%, #cbcbcb 75%, #cbcbcb) 100px 50px;
最后我们就能得到和上面一样的格子背景。
更多例子
有时候我们需要的背景可能不需要repeat,且图形没有规律
如:
这时我们就要对图形的每个角进行分别设置。
.box{ width: 500px; height: 500px; background: linear-gradient(black, black) left top, linear-gradient(black, black) left top, linear-gradient(black, black) right top, linear-gradient(black, black) right top, linear-gradient(black, black) right bottom, linear-gradient(black, black) right bottom, linear-gradient(black, black) left bottom, linear-gradient(black, black) left bottom; background-repeat: no-repeat; background-size: 4px 20px, 20px 4px;
原理其实就是通过linear-gradient绘制每个图形设置位置和大小,最后就能得到想要图像。
关于利用css中background实现绘制图形的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
当前标题:利用css中background实现绘制图形的方法-创新互联
文章转载:http://cdiso.cn/article/cegcjs.html