article-detail.vue 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. <template>
  2. <div class="page">
  3. <div class="page-top">
  4. <div class="title" v-text="articleInfo.articleTitle"></div>
  5. <div class="date">{{ articleInfo.createTime | dateFormat }}</div>
  6. </div>
  7. <div class="page-content" v-html="html"></div>
  8. </div>
  9. </template>
  10. <script>
  11. import articleDetailMixin from '@/mixins/articleDetail'
  12. export default {
  13. layout: 'app-normal',
  14. mixins: [articleDetailMixin],
  15. }
  16. </script>
  17. <style scoped lang="scss">
  18. /* scss中可以用mixin来扩展 */
  19. @mixin ellipsis($line: 1) {
  20. overflow: hidden;
  21. text-overflow: ellipsis;
  22. display: -webkit-box;
  23. -webkit-line-clamp: $line;
  24. -webkit-box-orient: vertical;
  25. }
  26. // pc 端
  27. @media screen and (min-width: 768px) {
  28. .page {
  29. width: 1200px;
  30. margin: 24px auto;
  31. box-sizing: border-box;
  32. background: #fff;
  33. padding: 24px;
  34. }
  35. .page-top {
  36. padding-bottom: 24px;
  37. border-bottom: 1px solid #d8d8d8;
  38. .title {
  39. font-size: 28px;
  40. color: #101010;
  41. line-height: 1.6;
  42. text-align: justify;
  43. }
  44. .date {
  45. font-size: 18px;
  46. color: #b2b2b2;
  47. margin-top: 24px;
  48. }
  49. }
  50. .page-content {
  51. padding-top: 24px;
  52. color: #404040;
  53. }
  54. }
  55. // 移动 端
  56. @media screen and (max-width: 768px) {
  57. .page {
  58. box-sizing: border-box;
  59. background: #fff;
  60. padding: 4vw;
  61. }
  62. .page-top {
  63. .title {
  64. font-size: 4.2vw;
  65. color: #101010;
  66. line-height: 1.6;
  67. text-align: justify;
  68. }
  69. .date {
  70. font-size: 3.2vw;
  71. color: #b2b2b2;
  72. margin-top: 4vw;
  73. }
  74. }
  75. .page-content {
  76. padding-top: 24px;
  77. color: #404040;
  78. }
  79. }
  80. </style>