百科狗-知识改变命运!
--

repeating-linear-gradient() - 重复的线性渐变 - css 渐变

是丫丫呀1年前 (2023-11-21)阅读数 21#技术干货
文章标签线性

repeating-linear-gradient()

版本:CSS3

CSS函数 repeating-linear-gradient()创建一个由重复线性渐变组成的,这是一个类似 linear-gradient 的函数,并且采用相同的参数,但是它会在所有方向上重复渐变以覆盖其整个容器。这个函数的结果是一个数据类型的对象,这是一个特殊的类型。

示例

/* 一个倾斜45度的重复线性渐变,
   从蓝色开始渐变到红色 */
repeating-linear-gradient(45deg, blue, red);

/* 一个从右下角到左上角的重复线性渐变,
   从蓝色开始渐变到红色 */
repeating-linear-gradient(to left top, blue, red);

/* 一个由下至上的重复线性渐变,
   从蓝色开始,40%后变绿,
   最后渐变到红色 */
repeating-linear-gradient(0deg, blue, green 40%, red);

每次重复时,色标位置的偏移量都是基准渐变长度(最后一个色标和第一个之间的距离)的倍数。因此,最后色标的色值应该与第一个色标的色值保持一致;如果不一致的话,会导致非常突兀的渐变效果。与其他渐变一样,线形重复渐变没有提供固定的尺寸;即,它没有原始尺寸或首选尺寸,也没有首选的比列。它将自适应于对应元素的尺寸。

浏览器支持

IE10以上版本的浏览器都支持repeating-linear-gradient()

语法:

([[| to],]?[,]+)

取值

  • :用角度值指定渐变的方向(或角度)。角度顺时针增加。
  • :描述渐变线的起始点位置。它包含两个关键词:第一个指出垂直位置left or right,第二个指出水平位置top or bottom。关键词的先后顺序无影响,且都是可选的。to top,to bottom,to leftto right这些值会被转换成角度0度、180度、270度和90度。其余值会被转换为一个以向顶部中央方向为起点顺时针旋转的角度。渐变线的结束点与其起点中心对称。
  • :由一个值组成,并且跟随着一个可选的终点位置(可以是一个或者是沿着渐变轴的)。CSS渐变的颜色渲染采取了与SVG相同的规则。

例子

repeating-linear-gradient(#f00,#ff0 10%,#f00 15%);
repeating-linear-gradient(tobottom,#f00,#ff0 10%,#f00 15%);
repeating-linear-gradient(180deg,#f00,#ff0 10%,#f00 15%);
repeating-linear-gradient(totop,#f00,#ff0 10%,#f00 15%);

其实可以使用linear-gradient()做出相同的效果

inear-gradient(#f00,#ff0 10%,#f00 15%,#ff0 25%,#f00 30%,#ff0 40%,#f00 45%,#ff0 55%,#f00 60%,#ff0 70%,#f00 75%,#ff0 85%,#f00 90%,#ff0 );


利用background-size实现上述的效果:

background:linear-gradient(#f00,#ff0 67%,#f00);
background-size:100% 15%;
#grad1 {
  background-image: repeating-linear-gradient(180deg,
      rgb(26,198,204),
      rgb(26,198,204) 7%,
      rgb(100,100,100) 10%);
}

#grad2 {
  background-image: repeating-linear-gradient(-45deg,
      transparent,
      transparent 25px,
      rgba(255,255,255,1) 25px,
      rgba(255,255,255,1) 50px);
}
  1. repeating horizontal bars
  2. zebra stripes
div {
  display: block;
  width: 50%;
  height: 80px;
  border-color: #000000;
  padding: 10px;
}

#grad1 {
  background-image: -moz-repeating-linear-gradient(180deg,rgb(26,198,204),rgb(26,198,204) 7%, rgb(100,100,100) 10%);
  background-image: -webkit-repeating-linear-gradient(180deg,rgb(26,198,204),rgb(26,198,204) 7%, rgb(100,100,100) 10%);
  background-image: -o-repeating-linear-gradient(180deg,rgb(26,198,204),rgb(26,198,204) 7%, rgb(100,100,100) 10%);
  background-image: repeating-linear-gradient(180deg,rgb(26,198,204),rgb(26,198,204) 7%, rgb(100,100,100) 10%);
}

#grad2 {
  background-color: black;
  background-image: -moz-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(255,255,255,1) 25px, rgba(255,255,255,1) 50px);
  background-image: -webkit-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(255,255,255,1) 25px, rgba(255,255,255,1) 50px);
  background-image: -o-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(255,255,255,1) 25px, rgba(255,255,255,1) 50px);
  background-image: -ms-repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(255,255,255,1) 25px, rgba(255,255,255,1) 50px);
  background-image: repeating-linear-gradient(-45deg, transparent, transparent 25px, rgba(255,255,255,1) 25px, rgba(255,255,255,1) 50px);
}
  1. repeating gradient
  2. zebra pattern
#grad1{
height:200px;
background:-webkit-repeating-linear-gradient(red,yellow10%,green20%);/*safari5.1-6.0*/
background:-o-repeating-linear-gradient(red,yellow10%,green20%);/*opera11.1-12.0*/
background:-moz-repeating-linear-gradient(red,yellow10%,green20%);/*firefox3.6-15*/
background:repeating-linear-gradient(red,yellow10%,green20%);/*标准的语法(必须放在最后)*/
} 

效果图:

repeating-linear-gradient() - 重复的线性渐变 - css 渐变

不同的重复线性渐变:

实例

#grad1{
height:150px;
background:-webkit-repeating-linear-gradient(45deg,red,blue7%,green10%);/*forsafari5.1to6.0*/
background:-o-repeating-linear-gradient(45deg,red,blue7%,green10%);/*foropera11.1to12.0*/
background:-moz-repeating-linear-gradient(45deg,red,blue7%,green10%);/*forfirefox3.6to15*/
background:repeating-linear-gradient(45deg,red,blue7%,green10%);/*标准语法(必须在最后)*/
}

#grad2{
height:150px;
background:-webkit-repeating-linear-gradient(190deg,red,blue7%,green10%);/*forsafari5.1to6.0*/
background:-o-repeating-linear-gradient(190deg,red,blue7%,green10%);/*foropera11.1to12.0*/
background:-moz-repeating-linear-gradient(190deg,red,blue7%,green10%);/*forfirefox3.6to15*/
background:repeating-linear-gradient(190deg,red,blue7%,green10%);/*标准语法(必须在最后)*/
}

#grad3{
height:150px;
background:-webkit-repeating-linear-gradient(90deg,red,blue7%,green10%);/*forsafari5.1to6.0*/
background:-o-repeating-linear-gradient();/*foropera11.1to12.0*/
background:-moz-repeating-linear-gradient(90deg,red,blue7%,green10%);/*forfirefox3.6to15*/
background:repeating-linear-gradient(90deg,red,blue7%,green10%);/*标准语法(必须在最后)*/
} 

45度线性渐变,从红色到蓝色:

190度线性渐变,从红色到蓝色:

90度线性渐变,从红色到蓝色:

效果图:

鹏仔微信 15129739599 鹏仔QQ344225443 鹏仔前端 pjxi.com 共享博客 sharedbk.com

免责声明:我们致力于保护作者版权,注重分享,当前被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自自研大数据AI进行生成,内容摘自(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供学习参考,不准确地方联系删除处理!邮箱:344225443@qq.com)

图片声明:本站部分配图来自网络。本站只作为美观性配图使用,无任何非法侵犯第三方意图,一切解释权归图片著作权方,本站不承担任何责任。如有恶意碰瓷者,必当奉陪到底严惩不贷!

内容声明:本文中引用的各种信息及资料(包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主体(包括但不限于公司、媒体、协会等机构)的官方网站或公开发表的信息。部分内容参考包括:(百度百科,百度知道,头条百科,中国民法典,刑法,牛津词典,新华词典,汉语词典,国家院校,科普平台)等数据,内容仅供参考使用,不准确地方联系删除处理!本站为非盈利性质站点,本着为中国教育事业出一份力,发布内容不收取任何费用也不接任何广告!)