<template>
<div class="logout-button" @click="handleClick">
<div class="arrow">
<svg
t="1726731738552"
class="icon"
viewBox="0 0 1024 1024"
version="1.1"
xmlns="http://www.w3.org/2000/svg"
p-id="6907"
width="200"
height="200"
>
<path
d="M835.669333 554.666667h-473.173333A42.453333 42.453333 0 0 1 320 512a42.666667 42.666667 0 0 1 42.474667-42.666667h473.173333l-161.813333-161.834666a42.666667 42.666667 0 0 1 60.330666-60.330667l234.666667 234.666667a42.666667 42.666667 0 0 1 0 60.330666l-234.666667 234.666667a42.666667 42.666667 0 0 1-60.330666-60.330667L835.669333 554.666667zM554.666667 42.666667a42.666667 42.666667 0 1 1 0 85.333333H149.525333C137.578667 128 128 137.578667 128 149.482667v725.034666C128 886.4 137.6 896 149.525333 896H554.666667a42.666667 42.666667 0 1 1 0 85.333333H149.525333A106.816 106.816 0 0 1 42.666667 874.517333V149.482667A106.773333 106.773333 0 0 1 149.525333 42.666667H554.666667z"
p-id="6908"
></path>
</svg>
</div>
<div class="slot">
<slot>按钮</slot>
</div>
</div>
</template>
<script>
export default {
data() {
return {}
},
methods: {
handleClick() {
this.$emit('click')
},
},
}
</script>
<style scoped>
.logout-button .arrow svg {
width: 50%;
height: 50%;
}
.logout-button .arrow svg path {
fill: white;
}
.logout-button {
position: relative;
display: flex;
align-items: center;
justify-content: space-between;
width: 50px;
height: 50px;
overflow: hidden;
cursor: pointer;
background-color: rgb(255, 64, 64);
border-radius: 25px;
box-shadow: 0 0 5px 1px rgb(255, 64, 64);
transition: all 0.5s ease;
}
.logout-button .arrow {
position: relative;
left: 0;
top: 0%;
width: 50px;
height: 50px;
display: flex;
align-items: center;
justify-content: center;
}
.logout-button .slot {
position: absolute;
left: 50px;
display: flex;
align-items: center;
justify-content: center;
opacity: 0;
overflow: hidden;
white-space: nowrap;
width: 0;
transition: all 0.5s ease;
}
.logout-button:hover {
width: 200px;
}
.logout-button:hover .slot {
opacity: 1;
width: 70%;
color: white;
font-size: 18px;
font-weight: bold;
text-shadow: 0 0 5px white;
overflow: hidden;
white-space: nowrap;
}
</style>
没有合适的资源?快使用搜索试试~ 我知道了~
前端资源 纯css实现的4个炫彩vue组件按钮 动画丝滑 样式美观 使用方便 支持拓展 使用HTML 无JavaScript
共4个文件
vue:4个
需积分: 0 0 下载量 169 浏览量
2024-09-21
10:49:00
上传
评论
收藏 4KB ZIP 举报
温馨提示
纯css实现的4个炫彩vue组件按钮 动画丝滑 样式美观 使用方便 支持拓展 !代码中的js仅仅为示例,需要根据具体情况进行修改! 项目特点: 由于无js,拓展性极强。4个按钮都可以无任何额外工作复制粘贴放到项目中。涵盖了基本按钮、会员按钮、登录、登出按钮的效果 动画对用户友好,曲线平滑,过渡自然。非常适合直接放在界面中。 项目适用人群: 如果你的项目中按钮千篇一律,可以使用这个炫彩按钮增加项目界面的美观程度。 需要基本的HTML、CSS基础。了解Vue框架与组件 使用技术: HTML + vue + css。无js,代码中的js仅仅为示例! 可以学到: 1. css中高级功能的使用,如:动画、背景 2. 关于炫彩边框的一种实现方式、实现思路。 使用之前: 1. 了解vue中关于组件的说明。了解vue中组件的引用方式。 2. 了解vue中各个部分的作用,需要对vue内置功能进行学习。 3. 对按钮中示例js进行修改,没必要传递事件给上级组件。 4. 需要在使用按钮的文件中添加相关引用,并且引入组件。 5. 根据项目需求进行修改 希望大家使用顺利,一起进步,一起学习。
资源推荐
资源详情
资源评论
收起资源包目录
炫彩按钮一.zip (4个子文件)
components
ColorfulButton
colorful-button.vue 1KB
LoginButton
logout-button.vue 2KB
login-button.vue 2KB
ProButton
pro-button.vue 879B
共 4 条
- 1
资源评论
飛_
- 粉丝: 152
- 资源: 2
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功