呼吸灯(静态)

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
<style>
    *{
        box-sizing: border-box;
    }
    div.article{
        width:250px;
        height:350px;
        background-color: black;
        margin:0 auto;
    }
   div.top{
       width:250px ;
       height:250px ;
       padding:20px;
}
   div.text{
       color:#fff;
       text-align:center;
       
 }
   div#outer{
       height:100%;
       border:5px solid #ccc;
       border-radius:50%;
       padding:20%
   }
   div#inner{
       height:100%;
       border:10px solid #fff;
       border-radius: 50%;
   }

</style>
</head>
<body>
    <div class="article">
        <div class="top">
            <div id="outer">
                <div id="inner"></div>
            </div>
        </div>
                    <div class="text">hey!!!</div>
    </div>
</div>
</body>
</html>
Vue.js本身是一个前端框架,用于构建用户界面。要在Vue应用中实现背景图片的“呼吸灯”效果,也就是动态地改变背景图片的透明度或大小,通常需要结合CSS动画和JavaScript来完成。下面是一种简单的实现方法: 1. 首先,在HTML中设置一个`<div>`作为背景容器,并给它绑定一个数据属性来控制动画状态,比如`breathLight`。 ```html <div class="bg-container" :style="{ backgroundImage: 'url(' + breathLight.src + ')', opacity: breathLight.opacity }"></div> ``` 2. 在CSS中定义一个关键帧动画,例如`breath`,让背景图片从完全透明变为不透明,然后回退到透明,可以反复循环。 ```css @keyframes breath { 0% { opacity: 0; } 50% { opacity: 1; } 100% { opacity: 0; } } ``` 3. 在Vue组件内部,定义一个名为`breathLight`的对象,初始化为静态背景图片和0的透明度,然后在合适的钩子函数(如`mounted()`或自定义的`breathEffect()`)中更新这个对象的状态。 ```javascript export default { data() { return { breathLight: { src: 'your-background-image-url', opacity: 1, }, }; }, methods: { breathEffect() { this.breathLight.opacity = (Math.random() * 2) + 0.5; // 生成随机的透明度值 setTimeout(() => this.breatheEffect(), 1000); // 每秒切换一次动画 }, }, mounted() { this.breathEffect(); }, }; ``` 4. 这样每当组件挂载时,就会开始执行动画。你可以根据需要调整动画的频率、透明度范围等参数。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值