diff --git a/webintroduce/src/App.vue b/webintroduce/src/App.vue
index 9cfdcb4..2507d5a 100644
--- a/webintroduce/src/App.vue
+++ b/webintroduce/src/App.vue
@@ -7,6 +7,7 @@
       
     
     
+    
回到顶部
   
 
 
@@ -23,7 +24,32 @@ export default {
     return {
       footerShow: true,
       headerShow: true,
-      transitionName: 'transitionLeft'
+      transitionName: 'transitionLeft',
+      scrollShow: false,
+    }
+  },
+  mounted() {
+    window.addEventListener('scroll',this.scrollToTop)
+  },
+  methods: {
+    scrollToTop() {
+      const topBtn = document.getElementById('backToTop')
+      const scrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop
+      if(scrollTop > 20){
+        topBtn.style.display = 'block'
+      }else{
+        topBtn.style.display = 'none'
+      }
+    },
+    scrollIntoView() {
+      const timer = setInterval(function () {
+        let osTop = document.documentElement.scrollTop || document.body.scrollTop
+        let ispeed = Math.floor(-osTop / 5)
+        document.documentElement.scrollTop = document.body.scrollTop = osTop + ispeed
+        if (osTop === 0) {
+          clearInterval(timer)
+        }
+      }, 30)
     }
   },
   watch: {
@@ -47,6 +73,7 @@ export default {
   display: flex;
   flex-flow: column;
   min-height: 100vh;
+  position: relative;
   font-family: 'Avenir', Helvetica, Arial, sans-serif;
   -webkit-font-smoothing: antialiased;
   -moz-osx-font-smoothing: grayscale;
@@ -69,4 +96,13 @@ export default {
     transform: translate(-100%, 0);
     -webkit-transform: translate(-100%, 0);
   }
+  .backToTop{
+    position: fixed;
+    width: 100px;
+    height: 40px;
+    background-color: #f00;
+    right:10px;
+    bottom: 10px;
+    display: none;
+  }