02.vue 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. <template>
  2. <div class=" two">
  3. <div class="row">1</div>
  4. <div class="colums">1</div>
  5. <div class="container">
  6. <div v-for="i in 25">
  7. </div>
  8. </div>
  9. </div>
  10. </template>
  11. <style lang="less">
  12. @or: /;
  13. @length: 1fr;
  14. .two {
  15. position: relative;
  16. .row, .colums {
  17. position: absolute;
  18. background-color: #4365a1;
  19. color: white;
  20. border-radius: 50%;
  21. width: 30px;
  22. height: 30px;
  23. line-height: 30px;
  24. text-align: center;
  25. font-size: 20px;
  26. &:before {
  27. content: "";
  28. width: 2px;
  29. height: 30px;
  30. background-color: #4365a1;
  31. display: block;
  32. position: absolute;
  33. }
  34. }
  35. .row {
  36. top: 145px;
  37. left: 20px;
  38. &:before {
  39. height: 57px;
  40. top: -8px;
  41. transform: rotate(-87deg);
  42. left: 52px;
  43. }
  44. }
  45. .colums {
  46. top: 30px;
  47. left: 180px;
  48. &:before {
  49. height: 44px;
  50. top: 27px;
  51. transform: rotate(-14deg);
  52. left: 22px;
  53. }
  54. }
  55. .container {
  56. padding-top: 100px;
  57. padding-left: 100px;
  58. grid-template-columns: repeat(1, 100px 30px 100px 30px 100px);
  59. grid-template-rows: repeat(1, 50px 30px 50px 30px 50px);
  60. & > div {
  61. border: 2px solid #545554;
  62. min-height: @length;
  63. &:nth-child(1), &:nth-child(3), &:nth-child(4), &:nth-child(5) {
  64. background-color: white;
  65. }
  66. &:nth-child(2), &:nth-child(6), &:nth-child(7), &:nth-child(8), &:nth-child(9), &:nth-child(10), &:nth-child(12), &:nth-child(17), &:nth-child(22) {
  67. background-color: #4365a1;
  68. }
  69. }
  70. }
  71. }
  72. </style>