box-shadow实现单边阴影、多边阴影、呼吸动画效果

1.box-shadow属性分析

下图是w3cschool对于box-shadow属性的解释
box-shadow属性
h-shadow:阴影在X轴的移动距离,正数向X轴正方向移动,负数向X轴负方向移动
v-shadow:阴影在Y轴的移动距离,正数向Y轴正方向移动,负数向Y轴负方向移动
blur:模糊距离,不能为负数
spread:阴影尺寸,正数时阴影扩大,负数时阴影缩小

2.各种单边阴影、多边阴影的实现

需要注意的是,因为模糊距离(blur)的值不为0,所以正常情况下,未设置阴影的边界也会出现阴影,这时候需要设置spread为负数,抵消模糊距离的宽度。
阴影效果

        .top {
            box-shadow: 0px -10px 10px -10px #00ff00;
        }

        .bottom {
            box-shadow: 0px 10px 10px -10px #00ff00;
        }

        .left {
            box-shadow: -10px 0px 10px -10px #00ff00;
        }

        .right {
            box-shadow: 10px 0px 10px -10px #00ff00;
        }

        .left-top {
            box-shadow: -10px -10px 10px -10px #00ff00;
        }

        .right-top {
            box-shadow: 10px -10px 10px -10px #00ff00;
        }

        .left-bottom {
            box-shadow: -10px 10px 10px -10px #00ff00;
        }

        .right-bottom {
            box-shadow: 10px 10px 10px -10px #00ff00;
        }

        .no-top {
            /* 左下 + 右下 */
            box-shadow: -10px 10px 10px -10px #00ff00, 10px 10px 10px -10px #00ff00;
        }

        .no-bottom {
            /* 左上 + 右上 */
            box-shadow: -10px -10px 10px -10px #00ff00, 10px -10px 10px -10px #00ff00;
        }

        .no-left {
            /* 右上 + 右下 */
            box-shadow: 10px -10px 10px -10px #00ff00, 10px 10px 10px -10px #00ff00;
        }

        .no-right {
            /* 左上 + 左下 */
            box-shadow: -10px 10px 10px -10px #00ff00, -10px -10px 10px -10px #00ff00;
        }

        .allside{
            box-shadow: 0px 0px 10px 0px #00ff00;
        }

3.呼吸效果

	.huxi{
	    animation: huxi 2s linear infinite alternate;
	}
	
	@keyframes huxi {
	    from {
	        box-shadow: 0px 0px 10px 0px #00ff00;
	    }
	
	    to {
	        box-shadow: 0px 0px 30px 0px #00ff00;
	    }
	}
  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值