码迷,mamicode.com
首页 > Web开发 > 详细

CSS揭秘之《背景图案》

时间:2020-05-10 19:10:43      阅读:84      评论:0      收藏:0      [点我收藏+]

标签:方案   html   出现   col   多行   height   image   clipboard   segment   

网格

        html {
            background: #58a;
            background-image: linear-gradient(white 2px, transparent 0),
            linear-gradient(90deg, white 2px, transparent 0),
            linear-gradient(hsla(0, 0%, 100%, .3) 1px, transparent 0),
            linear-gradient(90deg, hsla(0, 0%, 100%, .3) 1px, transparent 0);
            background-size: 50px 50px, 50px 50px,
            10px 10px, 10px 10px;
        }

技术图片

具体效果见链接

波点

技术图片

可以用如下代码来实现

background: #655;
background-image: radial-gradient(tan 30%, transparent 0);
background-size: 30px 30px;

但如果我想实现如下效果而非上面那样中规中矩

技术图片
其实原理是一样的

background: #655;
background-image: radial-gradient(tan 30%, transparent 0),
radial-gradient(tan 30%, transparent 0);
background-size: 30px 30px;
background-position: 0 0, 15px 15px;

具体效果见链接
需要注意的是第二层背景的偏移定位值必须是贴片宽高的一半

棋盘

html {
            background: #eee;
            background-image: linear-gradient(45deg, rgba(0, 0, 0, .25) 25%, transparent 0, transparent 75%, rgba(0, 0, 0, .25) 0),
                              linear-gradient(45deg, rgba(0, 0, 0, .25) 25%, transparent 0, transparent 75%, rgba(0, 0, 0, .25) 0);
            background-position: 0 0, 15px 15px;
            background-size: 30px 30px;
        }
        html {
            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, 15px 15px,
            15px 15px, 30px 30px;
            background-size: 30px 30px;
        }

技术图片

用以上两者中的任何一种都可以,其实实现的原理就类似于

技术图片

具体效果见链接
其实用svg方式来实现棋盘效果会更简单

        html {
            background: #eee url(‘data:image/svg+xml,            <svg xmlns="http://www.w3.org/2000/svg" width="100" height="100" fill-opacity=".25" >            <rect x="50" width="50" height="50" />            <rect y="50" width="50" height="50" />            </svg>‘);
            background-size: 30px 30px;
        }

效果与css实现一样,具体效果见链接
小诀窍:在svg方案中我们用来让一行css出现在多选,是因为出于可读性的考虑,需要把一句 CSS 代码打断为多行,只需要用反斜杠()来转义每行末尾的换行就可以了

本文转载于:猿2048https://www.mk2048.com/blog/blog.php?id=h12ajhabk2j

CSS揭秘之《背景图案》

标签:方案   html   出现   col   多行   height   image   clipboard   segment   

原文地址:https://www.cnblogs.com/10manongit/p/12864386.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!