tab4.page.scss 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. // 自定义变量
  2. :host {
  3. --page-padding: 20px;
  4. --primary-gradient: linear-gradient(135deg, var(--ion-color-primary), var(--ion-color-primary-shade));
  5. }
  6. // 头部样式
  7. .header-container {
  8. display: flex;
  9. align-items: center;
  10. justify-content: space-between;
  11. padding: 0 var(--page-padding);
  12. .page-title {
  13. font-weight: 600;
  14. font-size: 1.2rem;
  15. }
  16. .help-icon {
  17. font-size: 24px;
  18. color: var(--ion-color-medium);
  19. }
  20. }
  21. // 内容区域
  22. .content-container {
  23. max-width: 800px;
  24. margin: 0 auto;
  25. padding: 20px 0;
  26. }
  27. // 欢迎部分
  28. .welcome-section {
  29. text-align: center;
  30. margin-bottom: 32px;
  31. h1 {
  32. font-size: 28px;
  33. font-weight: 700;
  34. color: var(--ion-color-dark);
  35. margin: 0 0 8px;
  36. }
  37. .subtitle {
  38. font-size: 16px;
  39. color: var(--ion-color-medium);
  40. margin: 0;
  41. }
  42. }
  43. // 操作按钮
  44. .action-buttons {
  45. display: flex;
  46. flex-direction: column;
  47. gap: 16px;
  48. margin-bottom: 32px;
  49. padding: 0 var(--page-padding);
  50. .main-button {
  51. --background: var(--primary-gradient);
  52. --border-radius: 12px;
  53. --padding-top: 16px;
  54. --padding-bottom: 16px;
  55. font-weight: 600;
  56. font-size: 16px;
  57. ion-icon {
  58. font-size: 20px;
  59. margin-right: 8px;
  60. }
  61. }
  62. .secondary-button {
  63. --border-radius: 12px;
  64. --padding-top: 16px;
  65. --padding-bottom: 16px;
  66. font-weight: 500;
  67. font-size: 16px;
  68. ion-icon {
  69. font-size: 20px;
  70. margin-right: 8px;
  71. }
  72. }
  73. }
  74. // 思维导图容器
  75. .markmap-container {
  76. background: white;
  77. border-radius: 16px;
  78. box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
  79. overflow: hidden;
  80. margin: 0 var(--page-padding);
  81. .empty-state {
  82. display: flex;
  83. flex-direction: column;
  84. align-items: center;
  85. justify-content: center;
  86. padding: 48px 24px;
  87. text-align: center;
  88. ion-icon {
  89. font-size: 48px;
  90. color: var(--ion-color-primary);
  91. margin-bottom: 16px;
  92. }
  93. h3 {
  94. font-size: 20px;
  95. font-weight: 600;
  96. color: var(--ion-color-dark);
  97. margin: 0 0 8px;
  98. }
  99. p {
  100. font-size: 14px;
  101. color: var(--ion-color-medium);
  102. margin: 0;
  103. max-width: 300px;
  104. }
  105. }
  106. .result-section {
  107. h2 {
  108. font-size: 20px;
  109. font-weight: 600;
  110. color: var(--ion-color-dark);
  111. margin: 0;
  112. padding: 20px;
  113. border-bottom: 1px solid var(--ion-color-light);
  114. }
  115. .markmap-wrapper {
  116. padding: 20px;
  117. height: 60vh;
  118. comp-markmap {
  119. width: 100%;
  120. height: 100%;
  121. display: block;
  122. }
  123. }
  124. }
  125. }