diff --git a/src/components/BackToTop/index.vue b/src/components/BackToTop/index.vue
index 10aaef1b..12cda74f 100644
--- a/src/components/BackToTop/index.vue
+++ b/src/components/BackToTop/index.vue
@@ -1,9 +1,12 @@
 <template>
-  <transition name="fade">
-    <div class="back-to-top" @click="backToTop" v-show="visible">
-      <el-tooltip class="item" effect="dark" content="返回顶部" placement="top">
-        <i class="el-icon-arrow-up"></i>
-      </el-tooltip>
+  <transition :name="transitionName">
+    <div class="back-to-top" @click="backToTop" v-show="visible" :style="customStyle">
+      <svg width="16" height="16" viewBox="0 0 17 17" xmlns="http://www.w3.org/2000/svg" class="Icon Icon--backToTopArrow" aria-hidden="true" style="height: 16px; width: 16px;">
+        <title>回到顶部</title>
+        <g>
+          <path d="M12.036 15.59c0 .55-.453.995-.997.995H5.032c-.55 0-.997-.445-.997-.996V8.584H1.03c-1.1 0-1.36-.633-.578-1.416L7.33.29c.39-.39 1.026-.385 1.412 0l6.878 6.88c.782.78.523 1.415-.58 1.415h-3.004v7.004z" fill-rule="evenodd"></path>
+        </g>
+      </svg>
     </div>
   </transition>
 </template>
@@ -18,18 +21,39 @@ export default {
     backPosition: {
       type: Number,
       default: 0
+    },
+    customStyle: {
+      type: Object,
+      default: {
+        right: '50px',
+        bottom: '50px',
+        width: '40px',
+        height: '40px',
+        'border-radius': '4px',
+        'line-height': '40px',
+        background: '#e7eaf1'
+      }
+    },
+    transitionName: {
+      type: String,
+      default: 'fade'
     }
+
   },
   data() {
     return {
-      visible: false
+      visible: false,
+      interval: null
     }
   },
   mounted() {
-    window.addEventListener('scroll', this.handleScroll)
+    window.addEventListener('scroll', this.handleScroll);
   },
   beforeDestroy() {
-    window.removeEventListener('scroll', this.handleScroll)
+    window.removeEventListener('scroll', this.handleScroll);
+    if (this.interval) {
+      clearInterval(this.interval);
+    }
   },
   methods: {
     handleScroll() {
@@ -38,11 +62,11 @@ export default {
     backToTop() {
       const start = window.pageYOffset;
       let i = 0;
-      const t = setInterval(() => {
+      this.interval = setInterval(() => {
         const next = Math.floor(this.easeInOutQuad(10 * i, start, -start, 500));
         if (next <= this.backPosition) {
           window.scrollTo(0, this.backPosition);
-          clearInterval(t)
+          clearInterval(this.interval)
         } else {
           window.scrollTo(0, next);
         }
@@ -59,21 +83,18 @@ export default {
 <style scoped>
 .back-to-top {
   position: fixed;
-  right: 50px;
-  bottom: 50px;
   display: inline-block;
-  height: 40px;
-  width: 40px;
-  box-shadow: 1px 1px 1px #58B7FF;
   text-align: center;
   cursor: pointer;
-  background: #58B7FF;
-  color: #fff;
+}
+
+.back-to-top:hover {
+  background: #d5dbe7;
 }
 
 .fade-enter-active,
 .fade-leave-active {
-  transition: opacity 1s
+  transition: opacity .5s;
 }
 
 .fade-enter,
@@ -81,11 +102,9 @@ export default {
   opacity: 0
 }
 
-.back-to-top i {
-  display: inline-block;
-  width: 100%;
-  height: 100%;
-  line-height: 40px;
+.back-to-top .Icon {
+  fill: #9aaabf;
+  background: none;
 }
 </style>
 
diff --git a/src/views/components/backToTop.vue b/src/views/components/backToTop.vue
index b20bbcfe..ecf39575 100644
--- a/src/views/components/backToTop.vue
+++ b/src/views/components/backToTop.vue
@@ -1,6 +1,8 @@
 <template>
   <div class="components-container">
     <code>页面滚动到指定位置会在右下角出现返回顶部按钮</code>
+    <code>可自定义按钮的样式、show/hide临界点、返回的位置
+    如需文字提示,可在外部使用Element的el-tooltip元素   </code>
     <div>我是占位</div>
     <div>我是占位</div>
     <div>我是占位</div>
@@ -125,19 +127,32 @@
     <div>我是占位</div>
     <div>我是占位</div>
     <div>我是占位</div>
-    <back-to-top id="back-to-top-t" :visibilityHeight="300" :backPosition="50"></back-to-top>
+    <!--可自定义按钮的样式、show/hide临界点、返回的位置  -->
+    <!--如需文字提示,可在外部添加element的<el-tooltip></el-tooltip>元素  -->
+    <el-tooltip placement="top" content="文字提示">
+    <back-to-top transitionName="fade" :customStyle="myBackToTopStyle" :visibilityHeight="300" :backPosition="50"></back-to-top>
+    </el-tooltip>
   </div>
 </template>
 <script>
 import BackToTop from 'components/BackToTop';
 export default {
-  components: { BackToTop }
-
+  components: { BackToTop },
+  data() {
+    return {
+      myBackToTopStyle: {
+        right: '50px',
+        bottom: '50px',
+        width: '40px',
+        height: '40px',
+        'border-radius': '4px',
+        'line-height': '40px', // 请保持与高度一致以垂直居中
+        background: '#e7eaf1'// 按钮的背景颜色
+      }
+    }
+  }
 }
 </script>
 <style scoped>
-  #back-to-top-t{
-    right: 100px;
-    bottom: 100px;
-  }
+
 </style>