-
+
@@ -69,6 +187,38 @@ onMounted(() => {
overflow: hidden;
background: var(--blog-menu-background-color);
border-right: 1px solid var(--bg-color-be);
+ transition: width .3s ease-in-out;
+ &.menuCollapse{
+ width: 0;
+ }
+ .bar{
+ position: relative;
+ flex-shrink: 0;
+ height: 100%;
+ font-size: 1rem;
+ opacity: 0;
+ color: var(--font-color-top3-h2);
+ transform: rotate(180deg);
+ transition: color .3s, opacity .3s, background-color .3s;
+ border-radius: .25rem;
+ &:hover{
+ background-color: #00000015;
+ }
+ }
+ .awaitShow{
+ height: 0;
+ width: 0;
+ opacity: 0;
+ transition: opacity .3s;
+ overflow: hidden;
+ }
+ &:hover{
+ .awaitShow{
+ height: 100%;
+ width: auto;
+ opacity: 1;
+ }
+ }
.blogMenuContainer{
position: relative;
width: 100%;
@@ -84,43 +234,25 @@ onMounted(() => {
width: 100%;
}
- .awaitShow{
- height: 0;
- width: 0;
- opacity: 0;
- transition: opacity .3s;
- overflow: hidden;
- }
- &:hover{
- .awaitShow{
- height: 100%;
- width: auto;
- opacity: 1;
- }
- }
+
& > header{
flex-shrink: 0;
display: flex;
width: 100%;
+
& > div.title{
position: relative;
flex: 1;
color: var(--font-color-top3-h1);
}
+
& > div.bar{
- position: relative;
- flex-shrink: 0;
- height: 100%;
- aspect-ratio: 1;
- display: flex;
- align-items: center;
- justify-content: center;
- font-size: 1.3rem;
- color: var(--font-color-top3-h2);
- transform: rotate(180deg);
- transition: color .5s, opacity .5s;
+ &:last-child{
+ font-size: 1.3rem;
+ }
&:hover{
color: var(--font-color-top3-h1);
+ opacity: 1;
}
}
}
@@ -130,10 +262,9 @@ onMounted(() => {
& > div.line{
position: relative;
width: 100%;
- height: 3px;
+ height: 1px;
margin: 0.5rem auto;
background-color: var(--bg-color-be);
- border-radius: .25rem;
}
& > div.blogMenuContent{
position: relative;
@@ -141,7 +272,7 @@ onMounted(() => {
overflow: hidden;
& > div.blogMenuItem{
position: relative;
- font-size: 0.9rem;
+ font-size: 1rem;
display: flex;
& > div{
position: relative;
@@ -153,32 +284,26 @@ onMounted(() => {
& > div.text{
height: 100%;
flex: 1;
+ display: flex;
+ align-items: center;
}
- & > div.bar{
+ & > div.barBox{
margin-left: .2rem;
- height: 100%;
- //height: 0;
- //width: 0;
- //opacity: 0;
- transition: opacity .3s;
- overflow: hidden;
+ height: 0;
+ width: 0;
+ opacity: 0;
display: flex;
}
- &:hover div.bar{
- height: 100%;
- width: auto;
- opacity: 1;
+ &:hover div.barBox{
+ height: 100% !important;
+ width: auto !important;
+ opacity: 1 !important;
+ & > div.bar{
+ opacity: 1;
+ }
}
}
}
-
- .hoverBar{
- border-radius: .25rem;
- transition: background-color .3s;
- &:hover{
- background-color: #00000015;
- }
- }
.contentBox{
position: relative;
height: 2rem;
@@ -188,6 +313,7 @@ onMounted(() => {
color: var(--font-color-top3-h2);
user-select: none;
cursor: pointer;
+ transition: background-color .3s;
&:hover{
background: var(--font-color-top3-hover);
}
@@ -195,6 +321,7 @@ onMounted(() => {
color: var(--font-color-top3-h1);
background: var(--font-color-top3-active);
}
+
}
}
}
@@ -203,6 +330,32 @@ onMounted(() => {
}
& > div.main{
flex: 1;
+ & > header{
+ position: relative;
+ display: flex;
+ height: 3rem;
+ border-bottom: 1px solid var(--bg-color-be);
+
+ & > div.menuCollapse{
+ position: relative;
+ height: 100%;
+ transition: width .3s;
+ width: 3rem;
+ overflow: hidden;
+ &:hover & > div{
+ color: var(--font-color-top3-h1);
+ }
+ &.hide{
+ width: 0;
+ }
+
+ & > div{
+ font-size: 1.3rem;
+ color: var(--font-color-top3-h2);
+ transition: color .5s, opacity .5s;
+ }
+ }
+ }
}
}
@media (max-width: 767px){
diff --git a/pages/index.vue b/pages/index.vue
index 8015c6a..e71cbfa 100644
--- a/pages/index.vue
+++ b/pages/index.vue
@@ -159,6 +159,7 @@ onBeforeRouteLeave((to, from, next) => {
& > a {
position: relative;
+ box-sizing: border-box;
height: 100%;
border-radius: 8px;
display: flex;