css 条纹背景
先介绍文章用到的二个知识点
background-size 属性
语法
background-size: length|percentage|cover|contain;
css线性渐变
linear-gradient(to <side-or-corner>)||<angle>,<color-stop>,<color-stop>)
<side-or-corner> = [left | right] || [top | bottom]
用角度值指定渐变的方向(或角度)。
<color-stop> = <color> [ <length> | <percentage> ]
顺便说下径向渐变:radial-gradient
语法
radial-gradient( [ circle || <length> ] [ at <position> ]? ,
| [ ellipse || [<length> | <percentage> ]{2}] [ at <position> ]? ,
| [ [ circle | ellipse ] || <extent-keyword> ] [ at <position> ]? ,
| at <position> ,
<color-stop> [ , <color-stop> ]+ )
值
<position><position>与background-position或者transform-origin类似。如缺省,默认为中心点。<shape>- 渐变的形状。圆形(渐变的形状是一个半径不变的正圆)或椭圆形(轴对称椭圆)。默认值为椭圆。
<size>- 渐变的尺寸大小。包含的值见下表尺寸常数表。
<color-stop>- 表示某个确定位置的固定色值,包含一个
<color>值加上可选的位置值(相对虚拟渐变射线的<percentage>或者<length>长度值)。 百分比值0%,或者长度值0,表示渐变中心点;百分比值100%表示渐变射线与边缘形状相交的点。 其间的百分比值线性对应渐变射线上的点。 <extent-keyword>- 关键字用于描述边缘轮廓的具体位置。以下为关键字常量:
-
常量 描述 closest-side渐变的边缘形状与容器距离渐变中心点最近的一边相切(圆形)或者至少与距离渐变中心点最近的垂直和水平边相切(椭圆)。 closest-corner渐变的边缘形状与容器距离渐变中心点最近的一个角相交。 farthest-side与closest-side相反,边缘形状与容器距离渐变中心点最远的一边相切(或最远的垂直和水平边)。 farthest-corner渐变的边缘形状与容器距离渐变中心点最远的一个角相交。
background: linear-gradient(to top,red ,blue );

我们再改下代码:
background: linear-gradient(to top,red 50% ,blue 50%);
background-:
效果图变为:

再改写:
background: linear-gradient(to top,red 50% ,blue 50%);
background-size:100% 30px ;
水平条纹出现

将颜色后面的百分比即色标所在的位置重合,形成了水平条纹效果。
假如写超过二种颜色也是可以的:
background: linear-gradient(to top,red 33.3% ,blue 0%,blue 66.7%,pink 0);
background-size:100% 90px ;

垂直条纹
原来同水平条纹,只需改下background-size和linear=gradient渐变方向
background: linear-gradient(to right,red 33.3% ,blue 0%,blue 66.7%,pink 0);
background-size:90px 100% ;

难点:斜向条纹
假如我们想得到斜向45度的条纹图案,怎么办?
起初我这样写:
background: linear-gradient(45deg,green 50%,yellow 0);
background-size:30px 30px ;
效果如下:

很明显这不是我们想要的。
查询资料,才知道,原来是我们图案中的每个贴片
内部的渐变旋转了45度。而不是把重复的背景旋转了45度。
解决方案:
以这样的贴片
,来铺满整个背景:单个贴片包含了四条条纹:
background: linear-gradient(
45deg,green 25%,yellow 0,yellow 50%,green 0,green 75%,yellow 0); background-size:45px 45px ;
效果图:

注意:background-size的值不是贴片直角三角形的宽,而是绿色小三角的斜边长度,正在的宽度是它的高。
更好的斜向条纹
假如,需要60度的怎么办?或者10度的?
解决方案:使用linear-gradient()的加强版repeating-linear-gradient()
二者工作方式差不多,只是有一点不同:色标是无限循环重复的。直达铺满整个背景。
好处之一就是不需要background-size,直接在渐变色标中指定长度。
background: repeating-linear-gradient(10deg,green ,yellow 45px);
上面的效果图也可以由重复渐变完成:
background: repeating-linear-gradient(45deg,green ,green 22px,yellow 22px,yellow 45px);
重复条纹的好处就是随意改改角度就好了,不过实现水平和垂直条纹,用linear-gradient。斜向条纹用repeating-linear-gradient。
在处理45度时候,可以把二者结合。
同色系条纹
background: gray;
background-image: repeating-linear-gradient(30deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,.1) 15px,transparent 0,transparent 30px);

网格
我们甚至可以把多个渐变组合起来,列如,我们可以把水平渐变和垂直渐变条纹叠加起来,会形成如下的桌布图案。
background: white;
background-image: linear-gradient(90deg, rgba(200,0,0,0.5) 50%,transparent 0),
linear-gradient(rgba(200,0,0,0.5) 50%,transparent 0);
background-size: 30px 30px;
效果图:

此外,如果我们希望,网格中的格子可以调整,而网格线条的粗细保持固定,则色标的值为固定长度而不是百分比:
background: #58a;
background-image: linear-gradient(90deg,white 1px,transparent 0),
linear-gradient(white 1px,transparent 0); background-size: 30px 30px;
效果图;

波点图形:
background:#655;
background-image: radial-gradient(tan 30%,transparent 0),
radial-gradient(tan 30% ,transparent 0); background-position: 0 0,15px 15px ;//第二层背景的偏移定位置必须是贴片宽高的一半 background-size: 30px 30px;
效果图:

css 条纹背景的更多相关文章
- css条纹背景
一. 水平条纹 1. 两种颜色: html <div class="stripe"></div> css .stripe{ width: 250px; he ...
- css条纹背景样式、及方格斜纹背景的实现
一.横向条纹如下代码: background: linear-gradient(#fb3 %, #58a %) 上面代码表示整个图片的上部分20%和下部分20%是对应的纯色,只有中间的部分是渐变色.如 ...
- CSS 条纹背景深入
一.水平渐变 实现水平条纹很简单 <!DOCTYPE html> <html lang="en"> <head> <meta charse ...
- 用css实现条纹背景
我先额外的说一下怎么用CSS绘制三角形: 绘制三角形是把边框加粗,将元素的宽高都设为0,让其余的边框颜色透明,下面我们来看实现的代码: 先把边框的颜色设置成不同颜色: #div{ border-col ...
- CSS揭秘 技巧(五):条纹背景
条纹背景 https://github.com/FannieGirl/ifannie/问题:条纹背景 在设觉设计中无处不在,我们真的可以用css 创建图案吗? 这一章相对还是比较复杂的哦!一起get. ...
- [css 揭秘] :CSS揭秘 技巧(五):条纹背景
条纹背景 https://github.com/FannieGirl/ifannie/问题:条纹背景 在设觉设计中无处不在,我们真的可以用css 创建图案吗? 这一章相对还是比较复杂的哦!一起get. ...
- 利用CCS3渐变实现条纹背景
本文摘自<CSS揭秘>中国工信出版集团 难题: 不论是在网页设计中,还是在其他传统媒介中(比如杂志和墙纸等),各种尺寸.颜色.角度的条纹图案在视觉设计中无处不在.要想在网页中实现条纹图案, ...
- img只显示图片一部分 或 css设置背景图片只显示图片指定区域
17:14 2016/3/22img只显示图片一部分 或 css设置背景图片只显示图片指定区域 background-position: 100% 56%; 设置背景图片显示图片的哪个坐标区域,图片左 ...
- CSS 设置背景透明度,不影响子元素
由于 opacity 属性能被子元素继承,使用它设置父元素背景透明度时也会影响子元素. 解决方法: 1> 使用 RGBA Example .classname { /* RGBa, 透明度0.6 ...
随机推荐
- BZOJ1012 [JSOI2008]最大数 线段树
题目描述 现在请求你维护一个数列,要求提供以下两种操作: 1. 查询操作. 语法:Q L 功能:查询当前数列中末尾L个数中的最大的数,并输出这个数的值. 限制:LLL不超过当前数列的长度.(L> ...
- js 三大家族之offset
JS中的offset家族: 一.offsetWidth与offsetHeight: 获取的是元素的实际宽高 = width + border + padding 注意点: 1.可以获取行内及内嵌的宽高 ...
- VIA格式转COCO格式
VIA是一款很好用的标注软件,基于网页,不过现在开源的大多数目标检测器都是基于COCO训练和测试的,我们如果想要训练自己的数据集,要么修改源代码,要么将自己的标注格式改成COCO格式,采用第一种方法很 ...
- 【转】IDEA快捷键功能说明及Eclipse对应操作
1.Ctrl+z是撤销快捷键 2.如果想恢复Ctrl+z 掉的内容,按快捷键为:Ctrl + Shift + Z.方可 3.Ctrl-H(Browse Type Hierarchy) Ctrl + A ...
- python基础语法之基础语法规则以及设置
1. 编码格式 在python3以上版本中,py文件默认采用UTF-8格式编码,所有的字符串都是unicode字符串.当然,我们也可以自己为源码文件指定不同的编码,以utf-8为例,相关代码如下所示: ...
- 洛谷 P4568 [JLOI2011]飞行路线
题目描述 Alice和Bob现在要乘飞机旅行,他们选择了一家相对便宜的航空公司.该航空公司一共在n个城市设有业务,设这些城市分别标记为0到n-1,一共有m种航线,每种航线连接两个城市,并且航线有一定的 ...
- HDU6312 Game(博弈,拿出本数与这个数的除数)
题意:A和B玩游戏 , 给出1 ~ n 的集合 ,每个人可以拿出一个数 , 这个数的除数也被拿出 , A先开始 , 没有数拿的人就输 , 问A赢不赢 分析:很有意思的一道题目 ///假设2 ~ n A ...
- properties 资源文件读取
1. 在source中添加资源文件 resource.properties #FTP 相关配置 #FTP 的ip地址 FTP_ADDRESS=192.168.88.142 FTP_PORT=21 ...
- 前端 s 标签获取值
1. s标签获取action中的值: <s:property value="#parameters.mySessionPropKey"/> or <s:prop ...
- 使用JDBC连接了数据库的图书管理系统2.0
更新日志: 2019.3.28 数据库版本2.0 1.使用mySQL数据库 2.修改代码使用JDBC连接数据库 3.新增Manage操作类及DBUtils数据库工具类 4.完善代码(封装及方法调用) ...