html5液体效果,HTML5 SVG和CSS3炫酷液态菜单按钮特效

这是一款使用HTML5 SVG Filters 和CSS3制作的效果非常炫酷的液态菜单按钮特效。该菜单特效开始时显示一个主菜单按钮,当点击该按钮时,子菜单按钮会像液态物质一样依次展开,其效果就像一粒水滴分离为两粒一样。

制作方法

SVG Filters

SVG filters是十分有用的属性。虽然名字是SVG,但是 SVG filters 也可以通过CSS来使用在规则的HTML DOM元素上。下面是定义一个filter的基本语法:

...

...

...

要在一个DOM元素上使用SVG filters,可以使用下面的CSS代码:

.selector {

filter: url('#name-of-your-filter-here');

/* you can also load filters from external SVGs this way: */

filter: url('filters.svg#name-of-your-other-filter-here');

}

注意:filter属性需要浏览器厂商前缀的支持。

一个元素可以包含一个或多个滤镜基元(filter primitives)。这些滤镜被用来制作各种过滤操作,如模糊、颜色转换、阴影效果等等。完整的可用滤镜可以查看这里。

这个滤镜会在元素上执行3像素的模糊效果。注意in="SourceGraphic"属性,in属性定义了一个滤镜的输入,SourceGraphic是一个关键字,它返回过滤前元素的预过滤图形。

关于颜色矩阵

如果你以前没有使用过颜色矩阵过滤器,你可以将它想象为下面这张表格。

3300cc90178191b3a7d358563f6f441d.png

每一行代表一个通道(红、绿、蓝和alpha),它用于设置通道的值。前面的4列代表一个通道,它们返回代表当前通道的值。每个单元一个数值,这个值代表了要添加在当前通到的其它通道值的系数,例如,在R行G列添加数值为0.5,那么会添加green*0.5到红色通道的每一个像素上。最后一列不代表任何通道,它用来执行添加或减去操作,意思是用该数值乘以255然后添加到该通道中。

上面的解释有写难懂,直接来看demo中的操作,demo中的颜色矩阵像下面的样子:

d6e55ad78c65aa258f641f92b7b2369f.png

RGB通道都没有做修改,这些值和alpha通道的值18相乘,然后减去7*255,这样做有效地提高了单独的透明度的对比。这些值你可以根据需要自行调整。

要在feColorMatrix滤镜中应用这个矩阵,我们可以像下面这样书写数字序列:

values="1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 18 -7"

浏览器兼容

目前浏览器已经广泛的支持SVG。但是不是所有的浏览器都支持在DOM元素上使用SVG过滤器,特别是Safari浏览器。Firefox 和 Chrome可以正常工作,甚至是Android 版本的。如果需要更广泛的支持,可以考虑使用SVG元素而不是DOM元素。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值