有关css的filter(滤镜)学习以及小运用

filter属性有点意思,花样很多,在学了在学了呜呜

基本用法

暂时举了些我了解的滤镜

滤镜效果
Blur产生模糊的效果
Alpha呈现出透明的渐进效果
Wave产生水平或是垂直方向上的波浪变形
brightness亮度调节
contrast调节对比度
drop-shadow添加整个阴影
grayscale调节灰度
hue-rotate色调调节

实例运用 火焰蜡烛(?)

(菜鸡使用canvans)

下面展示代码

<!doctype html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <style>
    body {
        background: #000;
    }
    canvas{
			display: block;
			margin: 0 auto;
			border:1px solid #3f0000;
		}

    .container {
        position: relative;
        width: 300px;
        height: 300px;
        margin: 0 auto;
        background-color: #000;
    }

    .fire {
        position: absolute;
        bottom: 0;
        left: 50%;
        border-radius: 45%;
        box-sizing: border-box;
        border: 200px solid #000;
        border-bottom: 200px solid #b5932f;
        transform: translate(-50%, 0) scaleX(.4);
        filter: blur(20px) contrast(30);
    }

    .dot {
        position: absolute;
        bottom: -110px;
        left: 0;
        width: 24px;
        height: 24px;
        background: #3f0000;
        border-radius: 50%;
    }

    @keyframes move {
        100% {
            transform: translateY(-350px);
        }
    }
    </style>
</head>

<body>
    <div class="container">
        <div class="fire">
        </div>
	</div>
	<canvas id="carvas" width="100" height="200" style="border:1px solid bottom brown;;"></canvas>
    <script>
	var c=document.getElementById('carvas');
    var cxt=c.getContext("2d");
    cxt.fillStyle="brown";
	cxt.fillRect(0,0,100,200);
	
    var circleBox = document.createElement('div');
    function randomNum(from, to) {
        from = Number(from);
        to = Number(to);
        var Range = to - from;
        var num = from + Math.round(Math.random() * Range); //四舍五入
        return num;
    };  

    for (var i = 0; i < 40; i++) {
        var circle = document.createElement('div');
        var bottom = randomNum(-300, -250);
        var left = randomNum(-200, 200);
        var duration = randomNum(10, 30) / 10;
        var delay = randomNum(0, 50) / 10;
        circle.style.cssText += `animation:move ${duration}s linear ${delay}s infinite;bottom:${bottom}px;left:${left}px;`;
        circle.className += " dot";
        circleBox.appendChild(circle);
    };
    var fire = document.querySelector(".fire");
    fire.appendChild(circleBox);
	</script>
	</ul>
</body>
</html>

一些东西了解的还不多
努力学习吧(哭)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值