path.scss 6.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250
  1. $main-color:#fff;
  2. .path-box {
  3. width: 100%;
  4. height: 100%;
  5. background: #e2f6f3;
  6. .carousel {
  7. height: 100%;
  8. display: flex;
  9. flex-direction: column;
  10. justify-content: center;
  11. align-items: center;
  12. .carousel-inner {
  13. width: 89%;
  14. height: auto;
  15. }
  16. .carousel-control {
  17. width: 4.5%;
  18. &.carousel-control-prev {
  19. background-image: linear-gradient(90deg,rgba(0,0,0,.1),rgba(0,0,0,.2));
  20. }
  21. &.carousel-control-next {
  22. background-image: linear-gradient(90deg,rgba(0,0,0,.2),rgba(0,0,0,.1));
  23. }
  24. }
  25. }
  26. .round-box {
  27. position: relative;
  28. width: 100%;
  29. height: auto;
  30. display: flex;
  31. justify-content: center;
  32. padding-bottom: 20px;
  33. --nodeW: 50px;
  34. --color: #5ed0bd;
  35. .line-v {
  36. height: calc(100% - 15px - var(--nodeW));
  37. width: 10px;
  38. background-color: var(--color);
  39. position: absolute;
  40. top: var(--nodeW);
  41. left: calc(50% - 4px);
  42. z-index: 0;
  43. &:before {
  44. content: "";
  45. position: absolute;
  46. border-left: 10px solid transparent;
  47. border-right: 10px solid transparent;
  48. border-top: 20px solid var(--color);
  49. left: -5px;
  50. bottom: -15px;
  51. }
  52. }
  53. .round-node {
  54. position: relative;
  55. width: var(--nodeW);
  56. height: var(--nodeW);
  57. border-radius: 50%;
  58. color: #fff;
  59. border: 1px solid var(--color);
  60. background: var(--color);
  61. display: flex;
  62. justify-content: center;
  63. align-items: center;
  64. z-index: 1;
  65. &.start-node {
  66. width: auto;
  67. height: calc(var(--nodeW) - 10px);
  68. white-space: nowrap;
  69. padding: 5px 20px;
  70. border-radius: 4px;
  71. &:before {
  72. border: none;
  73. }
  74. }
  75. }
  76. .sfb-box {
  77. width: 42%;
  78. min-height: 100px;
  79. border: 2px solid var(--color);
  80. border-radius: 5px;
  81. padding: 0;
  82. margin-top: 10px;
  83. --w: calc(4%);
  84. --sw: 170px;
  85. --margin: calc(var(--w) );
  86. &:before {
  87. content: "";
  88. position: absolute;
  89. background: var(--color);
  90. width: var(--w);
  91. height: 10px;
  92. top: calc(var(--nodeW)/2 - 5px)
  93. }
  94. .sfb-title {
  95. width: 100%;
  96. text-align: center;
  97. font-size: 1rem;
  98. font-weight: 600;
  99. padding: 5px 0;
  100. border-bottom: 1px solid var(--color);
  101. color: #fff;
  102. background: var(--color);
  103. border-bottom: 1px solid var(--color);
  104. }
  105. .sbf-body {
  106. padding: 5px 10px;
  107. .sf-box {
  108. width: 100%;
  109. border: 1px solid var(--color);
  110. border-radius: 3px;
  111. margin: 5px 0;
  112. display: flex;
  113. border-radius: 20px;
  114. .sf-name {
  115. padding: 5px 10px;
  116. background: var(--color);
  117. width: 40%;
  118. max-width: 250px;
  119. text-align: center;
  120. color: #eee;
  121. white-space: nowrap;
  122. overflow: hidden;
  123. text-overflow: ellipsis;
  124. border-radius: 20px;
  125. }
  126. .fn-box {
  127. width: 60%;
  128. display: flex;
  129. justify-content: center;
  130. align-items: center;
  131. border-radius: 0 20px 20px 0;
  132. .node {
  133. position: relative;
  134. width: 20px;
  135. height: 20px;
  136. border-radius: 50%;
  137. border: 2px solid var(--color);
  138. background: var(--color);
  139. --line: 20px;
  140. margin: 0 calc(var(--line)/2);
  141. &:before {
  142. content: "";
  143. position: absolute;
  144. border-top: 5px solid transparent;
  145. border-bottom: 5px solid transparent;
  146. border-left: 10px solid var(--color);
  147. left: -10px;
  148. top: 4px;
  149. }
  150. &:after {
  151. content: "";
  152. position: absolute;
  153. height: 5px;
  154. width: calc(var(--line) - 5px);
  155. left: 100%;
  156. background: var(--color);
  157. top: 6px;
  158. }
  159. &:first-child {
  160. &:before {
  161. border: none;
  162. }
  163. }
  164. &:last-child {
  165. &:after {
  166. background: transparent;
  167. }
  168. &:not(.end) {
  169. background: transparent;
  170. }
  171. }
  172. }
  173. }
  174. }
  175. }
  176. &.left {
  177. margin-right: var(--margin);
  178. &:before {
  179. right: calc(50% + var(--nodeW)/2);
  180. }
  181. }
  182. &.right {
  183. margin-left: var(--margin);
  184. &:before {
  185. left: calc(50% + var(--nodeW)/2);
  186. }
  187. }
  188. }
  189. &:first-child {
  190. padding-bottom: 40px;
  191. .line-v {
  192. height: calc(100% - 15px - var(--nodeW) + 10px);
  193. top: calc(var(--nodeW) - 10px);
  194. }
  195. }
  196. --color: #70ad47;
  197. &.start {
  198. --color: #00817e;
  199. .sfb-box .sbf-body .sf-box {
  200. background: #5ed0bd;
  201. }
  202. }
  203. &.end {
  204. --color: #4472c4;
  205. .sfb-box .sbf-body .sf-box {
  206. background: #bdcde9;
  207. }
  208. }
  209. }
  210. }