footer.vue 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157
  1. <template>
  2. <footer class="footer">
  3. <div class="container">
  4. <div class="footer-main">
  5. <p class="footer-main-title">Element {{ version }} Boron</p>
  6. <a href="https://github.com/ElemeFE/element/issues" class="footer-main-link" target="_blank">{{ langConfig.feedback }}</a>
  7. <a :href="`https://github.com/ElemeFE/element/blob/master/.github/CONTRIBUTING.${ lang }.md`" class="footer-main-link" target="_blank">{{ langConfig.contribution }}</a>
  8. <a :href="`https://eleme.github.io/element-react/#/${ lang }/quick-start`" class="footer-main-link" target="_blank">Element-React</a>
  9. </div>
  10. <div class="footer-social">
  11. <el-popover
  12. ref="weixin"
  13. placement="top"
  14. width="120"
  15. popper-class="footer-popover"
  16. trigger="hover">
  17. <div class="footer-popover-title">{{ langConfig.eleme }} UED</div>
  18. <img src="../assets/images/qrcode.png" alt="">
  19. </el-popover>
  20. <i class="doc-icon-weixin elementdoc" v-popover:weixin></i>
  21. <a href="//github.com/elemefe" target="_blank">
  22. <i class="doc-icon-github elementdoc"></i>
  23. </a>
  24. </div>
  25. </div>
  26. </footer>
  27. </template>
  28. <style>
  29. .footer {
  30. height: 120px;
  31. background-color: #324057;
  32. color: #a4aebd;
  33. width: 100%;
  34. z-index: 1000;
  35. margin-top: -120px;
  36. * {
  37. word-spacing: 0;
  38. }
  39. .container {
  40. height: 100%;
  41. box-sizing: border-box;
  42. }
  43. .footer-main {
  44. font-size: 0;
  45. padding-top: 40px;
  46. display: inline-block;
  47. .footer-main-title {
  48. line-height: 1;
  49. font-size: 22px;
  50. margin: 0;
  51. }
  52. .footer-main-link {
  53. display: inline-block;
  54. margin: 12px 18px 0 0;
  55. line-height: 1;
  56. font-size: 12px;
  57. color: #768193;
  58. a {
  59. color: #768193;
  60. text-decoration: none;
  61. }
  62. }
  63. }
  64. .footer-social {
  65. float: right;
  66. line-height: 120px;
  67. .elementdoc {
  68. transition: .3s;
  69. display: inline-block;
  70. line-height: 32px;
  71. text-align: center;
  72. color: #8D99AB;
  73. background-color: transparent;
  74. size: 32px;
  75. font-size: 32px;
  76. vertical-align: middle;
  77. &:hover {
  78. transform: scale(1.2);
  79. }
  80. }
  81. .doc-icon-weixin {
  82. margin-right: 36px;
  83. &:hover {
  84. color: #fff;
  85. }
  86. }
  87. .doc-icon-github {
  88. margin-right: 0;
  89. &:hover {
  90. color: #fff;
  91. }
  92. }
  93. }
  94. }
  95. .footer-popover {
  96. padding: 0;
  97. min-width: 120px;
  98. line-height: normal;
  99. box-shadow: 0 0 11px 0 rgba(174, 187, 211, 0.24);
  100. .footer-popover-title {
  101. border-bottom: solid 1px #eaeefb;
  102. height: 30px;
  103. line-height: 30px;
  104. text-align: center;
  105. color: #99a9bf;
  106. background-color: #f8f9fe;
  107. }
  108. img {
  109. size: 100px;
  110. margin: 10px;
  111. }
  112. }
  113. @media (max-width: 768px) {
  114. .footer {
  115. .footer-social {
  116. display: none;
  117. }
  118. }
  119. }
  120. </style>
  121. <script type="text/babel">
  122. import compoLang from '../i18n/component.json';
  123. import { version } from 'main/index.js';
  124. export default {
  125. data() {
  126. return {
  127. version
  128. };
  129. },
  130. computed: {
  131. lang() {
  132. return this.$route.path.split('/')[1] || 'zh-CN';
  133. },
  134. langConfig() {
  135. return compoLang.filter(config => config.lang === this.lang)[0]['footer'];
  136. }
  137. }
  138. };
  139. </script>