You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
73 lines
1.5 KiB
73 lines
1.5 KiB
<template>
|
|
<div @click="change" class="change">
|
|
<input class="switch switch-anim" type="checkbox" checked />//html部分
|
|
</div>
|
|
<!-- {{data.category[0]}} -->
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
async asyncData({ $axios }) {
|
|
let data = {}//await $axios.$get("/api/today");
|
|
return {
|
|
data
|
|
};
|
|
},
|
|
methods: {
|
|
change() {
|
|
this.$store.dispatch("changeTheme");
|
|
}
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<style lang='scss' scoped>
|
|
.switch {
|
|
width: 57px;
|
|
height: 28px;
|
|
position: relative;
|
|
border: 1px solid #dfdfdf;
|
|
background-color: #fdfdfd;
|
|
box-shadow: #dfdfdf 0 0 0 0 inset;
|
|
border-radius: 20px;
|
|
background-clip: content-box;
|
|
display: inline-block;
|
|
-webkit-appearance: none;
|
|
user-select: none;
|
|
outline: none;
|
|
}
|
|
.switch:before {
|
|
content: "";
|
|
width: 26px;
|
|
height: 26px;
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
border-radius: 20px;
|
|
background-color: #fff;
|
|
box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
|
|
}
|
|
.switch:checked {
|
|
border-color: #64bd63;
|
|
box-shadow: #64bd63 0 0 0 16px inset;
|
|
background-color: #64bd63;
|
|
}
|
|
.switch:checked:before {
|
|
left: 30px;
|
|
}
|
|
.switch.switch-anim {
|
|
transition: border cubic-bezier(0, 0, 0, 1) 0.4s,
|
|
box-shadow cubic-bezier(0, 0, 0, 1) 0.4s;
|
|
}
|
|
.switch.switch-anim:before {
|
|
transition: left 0.3s;
|
|
}
|
|
.switch.switch-anim:checked {
|
|
box-shadow: #64bd63 0 0 0 16px inset;
|
|
background-color: #64bd63;
|
|
transition: border ease 0.4s, box-shadow ease 0.4s, background-color ease 1.2s;
|
|
}
|
|
.switch.switch-anim:checked:before {
|
|
transition: left 0.3s;
|
|
}
|
|
</style>
|
|
|