CSS3 渐变属性(Gradients)-径向渐变(radial-gradient)

径向渐变(Radial gradients)由其中心点、边缘形状轮廓及位置、色值结束点(color stops)定义而成。


当我们为一个渐变设置多个颜色时,它们会平分这个100%的区域来渐变。当然除了百分比,我们也可以使用具体的像素来设置这个大小。像素设置的大小指的是从渐变圆心向外延伸的距离。


语法:
background: 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:如缺少,默认为中心点。


  • shape:渐变的形状。圆形或椭圆形。默认值为椭圆。


  • size:渐变的尺寸大小。



  • color-stop:表示某个确定位置的固定色值。<color>值加上可选的位置值。百分比值0%,或者长度值0,表示渐变中心点;百分比值100%表示渐变射线与边缘形状相交的点。 其间的百分比值线性对应渐变射线上的点。


  • extent-keyword:关键字用于描述边缘轮廓的具体位置。以下为关键字常量:



举栗子🌰
1.radial-gradient( #0FF 100%, #00F)
2.radial-gradient( #0FF, #00F 0%)
这两个效果有什么不同呢?


颜色的分布是从0%(渐变圆心)的位置到100%的位置的(100%的位置也就是渐变的半径),默认情况下,第一个颜色的位置是0%,最后一个颜色是100%。超出这个范围的用距离最近的颜色来填充。
1.在第一个例子中,#0FF设置了100%,所以它的颜色是从最外面的边框往外蔓延,所以框里就没有颜色了,于是就用靠近的颜色 #0FF来填充,所以,最后框里的颜色还是它。
2.在第二个例子中,#00F设置成了0%,于是#0FF就变成了 0%-0%,无法填充,所以从 #00F 开始填充 0%-100%。所以是深蓝色的。

实现一个穿透效果的圆


radial-gradient(500px 500px at 50% 0px, transparent 0%, transparent 50px,#fff 50px, #fff 100%)

白色的背景上这个半圆是全透明的,所以,背景位置变化这个半圆的穿透效果依然不会变。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、属性选择器:id选择器 # 通过id 来选择类名选择器 . 通过类名来选择属性选择器 ...
    Yuann阅读 1,680评论 0 7
  • 今天出去吃饭,饭后搞活动送了个小礼品。礼品本身不值一提,重要的的是渐变。本篇就介绍并实际做一下这个渐变效果。 线性...
    张歆琳阅读 3,315评论 6 14
  • CSS边框属性 元素的边框就是围绕元素内容和内边距的一条或多条线。 元素的边框属性: border 简写属性,用...
    Zd_silent阅读 1,029评论 0 1
  • 八月书事 本月寄出邮件两个,当然,同样是图书。愿,阅读成为一种习惯。愿,书成为爱的速递员!
    燕赵北羽阅读 251评论 1 1
  • #####剪裁 系统自带的 public void startPhotoZoom(Uri uri, Uri uri...
    silencefun阅读 2,207评论 0 0