用d3写出div的css模糊与透明、阴影的效果

这几天写了一个关于d3小程序,所以分享一下。

是div和css做的

在这个图形中,最上面的使用了div中左右颜色渐变和上下透明度的使用。background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 1%, rgba(0, 0, 0, 0.6) 46%, rgba(0, 0, 0, 0.2) 98%, rgba(255, 255, 255, 0.1) 99%),linear-gradient(to right,red,#5A4242);  这段代码是上面所做成的效果。下面用d3实现相同效果。

在d3中首先上面使用的是path绘制,由于在d3中无法同时使用两种渐变效果以及加上四周的阴影效果。所以要想达到可以考虑多个叠加来完成。使用两个path放在同一个位置,然后分别设置垂直和水平的颜色与透明度见面。至于周围的阴影效果,之前看了很多都是显示的在右下角,所有可以通过svg中的模糊,在最后面一层加入一个path,这样在设置模糊,从而整体看出来就有了一样的效果。

<linearGradient id="myLinearGradient1"

                x1="0%" y1="0%"

                x2="0%" y2="100%"

                >

  <stop offset="1%"  stop-color="#FFFFFF" stop-opacity="0.1"/>

  <stop offset="46%"  stop-color="#000000" stop-opacity="0.6"/>

  <stop offset="98%"  stop-color="#000000" stop-opacity="0.2"/>

  <stop offset="99%" stop-color="#FFFFFF" stop-opacity="0.1"/>

</linearGradient>

上面这个对应于css中的linear-gradient(to bottom, rgba(255, 255, 255, 0.1) 1%, rgba(0, 0, 0, 0.6) 46%, rgba(0, 0, 0, 0.2) 98%, rgba(255, 255, 255, 0.1) 99%)

这个<linearGradient id="aa"

                    x1="0%" y1="0%"

                    x2="100%" y2="0%"

                    >

      <stop offset="1%"  stop-color="#CC0000" stop-opacity="1"/>

      <stop offset="99%" stop-color="#5A4242" stop-opacity="1"/>

    </linearGradient>

对应于linear-gradient(to right,red,#5A4242)。

这几段代码中的百分数代表所对应的图形的位置。

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

推荐阅读更多精彩内容

  • 首先,如果我说答案是 1 个HTML标签即可,并且并不用:befroe和:after。你信吗? 不管你信不信,代码...
    xiaojunbo阅读 1,330评论 0 2
  • 我的第二偶像大姐在30岁生日写下《写在30岁到来这一天》,今天我要效仿其,在自己25岁生日后的第二天写封信——《写...
    Simmel阅读 542评论 0 1
  • 北方的野地雪花融化成河 脑海里飘散着你的歌 那时的你我还都很年轻 一起喂过蓝天下的白鸽 也随你到藏地观赏过篝火 那...
    萧娜阅读 396评论 4 8
  • 久违了,我的阳光 (一) 久违了,我的阳光。 十一月的深秋, 终于又把你带回到了我的身旁。 在每一个凉意遍...
    榕树下的星星阅读 716评论 10 4
  • 道德经第六十四章 事物处于安定的状态时容易把持控制,问题处于萌芽状态时便于处理;物体在脆弱的时候容易被击破,在势孤...
    芸倪阅读 171评论 2 0