@neatui/css 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (226) hide show
  1. package/README.md +1 -0
  2. package/all.scss +22 -0
  3. package/anim/am-loading.scss +220 -0
  4. package/anim/am-rotate.scss +17 -0
  5. package/anim/am-view-aa.scss +91 -0
  6. package/anim/am-view-ab.scss +107 -0
  7. package/anim/am-view-ac.scss +114 -0
  8. package/anim/am-view-ad.scss +109 -0
  9. package/anim/am-view-ae.scss +109 -0
  10. package/anim/am-view-af.scss +104 -0
  11. package/anim/am-view-ag.scss +1789 -0
  12. package/anim/am-view-ah.scss +122 -0
  13. package/anim/am-view-ai.scss +116 -0
  14. package/anim/am-view-aj.scss +112 -0
  15. package/anim/am-view-ak.scss +102 -0
  16. package/anim/am-view-al.scss +98 -0
  17. package/anim/am-view-am.scss +97 -0
  18. package/anim/am-view-an.scss +109 -0
  19. package/anim/am-view-ao.scss +123 -0
  20. package/anim/am-view-ap.scss +108 -0
  21. package/anim/am-view-aq.scss +115 -0
  22. package/anim/am-view-ar.scss +113 -0
  23. package/anim/am-view-as.scss +99 -0
  24. package/anim/am-view-at.scss +103 -0
  25. package/anim/mcui@anim.scss +22 -0
  26. package/anim/package.json +16 -0
  27. package/badge/badge@theme=aa.scss +36 -0
  28. package/badge/package.json +22 -0
  29. package/btns/README.md +79 -0
  30. package/btns/base.scss +152 -0
  31. package/btns/btns@a.scss +469 -0
  32. package/btns/btns@b.scss +187 -0
  33. package/btns/btns@c.scss +169 -0
  34. package/btns/mcui@btns.scss +3 -0
  35. package/btns/package.json +16 -0
  36. package/card/card@a.scss +238 -0
  37. package/card/card@b.scss +75 -0
  38. package/card/mcui@card.scss +2 -0
  39. package/card/package.json +15 -0
  40. package/chat/chat@a.scss +139 -0
  41. package/chat/mcui@chat.scss +1 -0
  42. package/chat/package.json +11 -0
  43. package/cite/cite@a.scss +33 -0
  44. package/cite/package.json +11 -0
  45. package/core/README.md +142 -0
  46. package/core/base.scss +544 -0
  47. package/core/border.scss +307 -0
  48. package/core/color.scss +245 -0
  49. package/core/cols.scss +148 -0
  50. package/core/cover.scss +94 -0
  51. package/core/flex.scss +616 -0
  52. package/core/line.scss +4 -0
  53. package/core/margin.scss +0 -0
  54. package/core/mcui@core.scss +36 -0
  55. package/core/mcui@mobile.scss +37 -0
  56. package/core/media.scss +268 -0
  57. package/core/package.json +16 -0
  58. package/core/padding.scss +0 -0
  59. package/core/pos.scss +252 -0
  60. package/core/reset.scss +165 -0
  61. package/core/scale.scss +24 -0
  62. package/core/scroll.scss +178 -0
  63. package/core/shadow.scss +81 -0
  64. package/core/size.mobile.scss +105 -0
  65. package/core/size.scss +178 -0
  66. package/core/theme.scss +156 -0
  67. package/core/trim.mobile.scss +327 -0
  68. package/core/trim.scss +443 -0
  69. package/core/ux.scss +334 -0
  70. package/demo/demo@a.scss +34 -0
  71. package/demo/mcui@demo.scss +1 -0
  72. package/form/README.md +142 -0
  73. package/form/base.scss +425 -0
  74. package/form/form@a/base.scss +33 -0
  75. package/form/form@a/checkbox.scss +194 -0
  76. package/form/form@a/date.scss +86 -0
  77. package/form/form@a/index.scss +9 -0
  78. package/form/form@a/input.scss +156 -0
  79. package/form/form@a/radio.scss +99 -0
  80. package/form/form@a/select.scss +128 -0
  81. package/form/form@a/switch.scss +83 -0
  82. package/form/form@a/textarea.scss +105 -0
  83. package/form/form@a/upload.scss +162 -0
  84. package/form/form@b/base.scss +33 -0
  85. package/form/form@b/checkbox.scss +86 -0
  86. package/form/form@b/date.scss +107 -0
  87. package/form/form@b/index.scss +9 -0
  88. package/form/form@b/input.scss +163 -0
  89. package/form/form@b/radio.scss +90 -0
  90. package/form/form@b/select.scss +124 -0
  91. package/form/form@b/switch.scss +83 -0
  92. package/form/form@b/textarea.scss +105 -0
  93. package/form/form@b/upload.scss +160 -0
  94. package/form/form@c/base.scss +44 -0
  95. package/form/form@c/checkbox.scss +90 -0
  96. package/form/form@c/date.scss +125 -0
  97. package/form/form@c/index.scss +9 -0
  98. package/form/form@c/input.scss +169 -0
  99. package/form/form@c/radio.scss +84 -0
  100. package/form/form@c/select.scss +121 -0
  101. package/form/form@c/switch.scss +83 -0
  102. package/form/form@c/textarea.scss +85 -0
  103. package/form/form@c/upload.scss +159 -0
  104. package/form/form@d/base.scss +45 -0
  105. package/form/form@d/checkbox.scss +87 -0
  106. package/form/form@d/date.scss +125 -0
  107. package/form/form@d/index.scss +9 -0
  108. package/form/form@d/input.scss +346 -0
  109. package/form/form@d/radio.scss +81 -0
  110. package/form/form@d/select.scss +121 -0
  111. package/form/form@d/switch.scss +83 -0
  112. package/form/form@d/textarea.scss +104 -0
  113. package/form/form@d/upload.scss +160 -0
  114. package/form/mcui@form.scss +4 -0
  115. package/form/package.json +22 -0
  116. package/form/radio@theme=aa.scss +74 -0
  117. package/grid/grid@a.scss +54 -0
  118. package/grid/mcui@grid.scss +1 -0
  119. package/grid/package.json +16 -0
  120. package/icon/icon@add.scss +9 -0
  121. package/icon/icon@close.scss +12 -0
  122. package/icon/icon@down.scss +9 -0
  123. package/icon/icon@download.scss +26 -0
  124. package/icon/icon@drag.scss +9 -0
  125. package/icon/icon@except.scss +9 -0
  126. package/icon/icon@hook.scss +16 -0
  127. package/icon/icon@left.scss +9 -0
  128. package/icon/icon@link.scss +14 -0
  129. package/icon/icon@menu.scss +10 -0
  130. package/icon/icon@minus.scss +7 -0
  131. package/icon/icon@more.scss +8 -0
  132. package/icon/icon@omit.scss +8 -0
  133. package/icon/icon@quit.scss +11 -0
  134. package/icon/icon@refresh.scss +11 -0
  135. package/icon/icon@right.scss +9 -0
  136. package/icon/icon@search.scss +9 -0
  137. package/icon/icon@time.scss +12 -0
  138. package/icon/icon@top.scss +9 -0
  139. package/icon/icon@upload.scss +26 -0
  140. package/icon/icon@view.scss +20 -0
  141. package/icon/mcui@icon.scss +21 -0
  142. package/icon/package.json +15 -0
  143. package/imgs/README.md +78 -0
  144. package/imgs/base.scss +8 -0
  145. package/imgs/imgs@a.scss +171 -0
  146. package/imgs/imgs@b.scss +173 -0
  147. package/imgs/mcui@imgs.scss +1 -0
  148. package/imgs/package.json +16 -0
  149. package/index.js +28 -0
  150. package/line/line@a.scss +51 -0
  151. package/line/line@b.scss +63 -0
  152. package/line/mcui@line.scss +2 -0
  153. package/line/package.json +16 -0
  154. package/list/list@a.scss +62 -0
  155. package/list/list@b.scss +83 -0
  156. package/list/list@c.scss +89 -0
  157. package/list/mcui@list.scss +2 -0
  158. package/list/package.json +16 -0
  159. package/load/README.md +69 -0
  160. package/load/load@a.scss +44 -0
  161. package/load/load@b.scss +56 -0
  162. package/load/load@c.scss +270 -0
  163. package/load/load@d.scss +26 -0
  164. package/load/load@e.scss +24 -0
  165. package/load/load@f.scss +124 -0
  166. package/load/load@g.scss +35 -0
  167. package/load/load@h.scss +51 -0
  168. package/load/load@i.scss +51 -0
  169. package/load/mcui@load.scss +8 -0
  170. package/load/package.json +16 -0
  171. package/menu/mcui@menu.scss +1 -0
  172. package/menu/menu@b.scss +302 -0
  173. package/menu/menu@theme=ab.scss +282 -0
  174. package/menu/package.json +22 -0
  175. package/navs/README.md +30 -0
  176. package/navs/mcui@navs.scss +2 -0
  177. package/navs/navs@a.scss +113 -0
  178. package/navs/navs@b.scss +111 -0
  179. package/navs/package.json +16 -0
  180. package/note/mcui@note.scss +2 -0
  181. package/note/note@a.scss +26 -0
  182. package/note/note@b.scss +33 -0
  183. package/note/package.json +11 -0
  184. package/opts/mcui@opts.scss +1 -0
  185. package/opts/opts@a.scss +52 -0
  186. package/opts/package.json +11 -0
  187. package/package.json +26 -0
  188. package/paging/mc-paging-ui1503.scss +106 -0
  189. package/paging/mc-paging.scss +432 -0
  190. package/paging/paging@theme=aa.scss +45 -0
  191. package/path/README.md +142 -0
  192. package/path/mcui@path.scss +1 -0
  193. package/path/package.json +22 -0
  194. package/path/path@a.scss +38 -0
  195. package/side/mcui@side.scss +0 -0
  196. package/side/side.scss +2 -0
  197. package/steps/mcui@steps.scss +2 -0
  198. package/steps/package.json +17 -0
  199. package/steps/steps@a.scss +89 -0
  200. package/steps/steps@v.scss +122 -0
  201. package/table/base.scss +140 -0
  202. package/table/mcui@table.scss +3 -0
  203. package/table/package.json +22 -0
  204. package/table/table@a.scss +230 -0
  205. package/table/table@b.scss +78 -0
  206. package/table/table@c.scss +18 -0
  207. package/tabs/README.md +62 -0
  208. package/tabs/mcui@tabs.scss +1 -0
  209. package/tabs/package.json +22 -0
  210. package/tabs/tabs@a.scss +62 -0
  211. package/tags/README.md +71 -0
  212. package/tags/mcui@tags.scss +2 -0
  213. package/tags/package.json +22 -0
  214. package/tags/tags@a.scss +125 -0
  215. package/tags/tags@b.scss +131 -0
  216. package/tips/README.md +62 -0
  217. package/tips/base.scss +351 -0
  218. package/tips/mcui@tips.scss +1 -0
  219. package/tips/package.json +22 -0
  220. package/tips/tips@a.scss +52 -0
  221. package/title/mcui@title.scss +2 -0
  222. package/title/package.json +15 -0
  223. package/title/title@a.scss +18 -0
  224. package/title/title@b.scss +7 -0
  225. package/user/mcui@user.scss +0 -0
  226. package/user/user@a.scss +7 -0
@@ -0,0 +1,165 @@
1
+ *,
2
+ :after,
3
+ :before {
4
+ border: 0;
5
+ box-sizing: border-box;
6
+ }
7
+
8
+ html,
9
+ body {
10
+ position: relative;
11
+ }
12
+
13
+ body,
14
+ dl,
15
+ dd,
16
+ h1,
17
+ h2,
18
+ h3,
19
+ h4,
20
+ h5,
21
+ h6,
22
+ p {
23
+ margin: 0;
24
+ }
25
+
26
+ button,
27
+ input,
28
+ ol,
29
+ ul {
30
+ margin: 0;
31
+ padding: 0;
32
+ }
33
+
34
+ body {
35
+ font-family: Microsoft YaHei, PingFang SC, sans-serif;
36
+ line-height: 1.75;
37
+
38
+ &.sharp {
39
+ -webkit-font-smoothing: antialiased;
40
+ -moz-osx-font-smoothing: grayscale;
41
+ }
42
+ }
43
+
44
+ button,
45
+ input,
46
+ select,
47
+ textarea {
48
+ outline: none;
49
+ }
50
+
51
+ input,
52
+ button,
53
+ textarea {
54
+ appearance: none;
55
+ -webkit-appearance: none;
56
+ background-color: transparent;
57
+ }
58
+
59
+ // input:-webkit-autofill {
60
+ // box-shadow: 0 0 0 1000px white inset;
61
+ // }
62
+
63
+ input:-webkit-autofill,
64
+ input:-webkit-autofill:hover,
65
+ input:-webkit-autofill:focus,
66
+ textarea:-webkit-autofill,
67
+ textarea:-webkit-autofill:hover,
68
+ textarea:-webkit-autofill:focus,
69
+ select:-webkit-autofill,
70
+ select:-webkit-autofill:hover,
71
+ select:-webkit-autofill:focus {
72
+ transition: background-color 1s 500000s, color 1s 500000s;
73
+ }
74
+ html input:-internal-autofill-selected {
75
+ background-color: transparent !important;
76
+ }
77
+
78
+ input,
79
+ button,
80
+ textarea,
81
+ select,
82
+ optgroup,
83
+ option,
84
+ label,
85
+ fieldset,
86
+ legend {
87
+ font-family: inherit;
88
+ font-style: inherit;
89
+ font-weight: inherit;
90
+ font-size: inherit;
91
+ color: inherit;
92
+ line-height: inherit;
93
+ }
94
+
95
+ h1,
96
+ h2,
97
+ h3,
98
+ h4,
99
+ h5,
100
+ h6,
101
+ .h1,
102
+ .h2,
103
+ .h3,
104
+ .h4,
105
+ .h5,
106
+ .h6 {
107
+ font-weight: normal;
108
+ -webkit-font-smoothing: auto;
109
+ -moz-osx-font-smoothing: auto;
110
+ }
111
+
112
+ table {
113
+ border-spacing: 0;
114
+ font-size: inherit;
115
+
116
+ // 固定尺寸
117
+ &.fix {
118
+ table-layout: fixed;
119
+ }
120
+ }
121
+ th {
122
+ text-align: inherit;
123
+ }
124
+
125
+ address,
126
+ cite,
127
+ dfn,
128
+ em,
129
+ var {
130
+ font-style: normal;
131
+ }
132
+
133
+ a {
134
+ text-decoration: none;
135
+ color: inherit;
136
+ display: inline-block;
137
+ outline: none;
138
+ cursor: pointer;
139
+ }
140
+
141
+ ul,
142
+ ol {
143
+ list-style: none;
144
+ }
145
+
146
+ img {
147
+ max-width: 100%;
148
+ max-height: 100%;
149
+ }
150
+
151
+ sup {
152
+ position: relative;
153
+ vertical-align: text-top;
154
+ font-size: 0.5em;
155
+ line-height: 1;
156
+ font-weight: bold;
157
+ }
158
+
159
+ // 移动端
160
+ @media screen and (max-width: 1024px) {
161
+ * {
162
+ -webkit-touch-callout: none;
163
+ -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
164
+ }
165
+ }
@@ -0,0 +1,24 @@
1
+ @mixin scale($d: '') {
2
+ $rank: 'xxs', 'xs', 'ss', 'sm', 'sl', 'ms', 'mm', 'ml', 'ls', 'lm', 'll', 'xl', 'xxl';
3
+
4
+ $sz: 0;
5
+ @each $k in $rank {
6
+ [ui-scale~='#{$k}'] {
7
+ transform: scale($sz);
8
+
9
+ &[ui-scale~='ct'] {
10
+ transform-origin: 50% 0%;
11
+ }
12
+ &[ui-scale~='cb'] {
13
+ transform-origin: 50% 100%;
14
+ }
15
+ &[ui-scale~='lm'] {
16
+ transform-origin: 0% 50%;
17
+ }
18
+ &[ui-scale~='rm'] {
19
+ transform-origin: 100% 50%;
20
+ }
21
+ }
22
+ $sz: $sz + 0.1;
23
+ }
24
+ }
@@ -0,0 +1,178 @@
1
+ %scroll {
2
+ & {
3
+ -webkit-overflow-scrolling: touch;
4
+ scrollbar-width: thin;
5
+ scrollbar-gutter: auto;
6
+ @include theme {
7
+ scrollbar-color: rgba(co(text), 0.15) transparent;
8
+ }
9
+
10
+ &::-webkit-scrollbar {
11
+ position: absolute;
12
+ width: 8px;
13
+ height: 8px;
14
+ background: transparent;
15
+ }
16
+
17
+ &::-webkit-scrollbar-thumb {
18
+ border: 1px solid transparent;
19
+ border-radius: 10px;
20
+ @include theme {
21
+ background-color: rgba(co(text), 0.15) !important;
22
+ }
23
+ background-clip: content-box;
24
+ }
25
+
26
+ &::-webkit-scrollbar-track,
27
+ &::-webkit-scrollbar-button,
28
+ &::-webkit-scrollbar-track-piece,
29
+ &::-webkit-scrollbar-corner,
30
+ &::-webkit-resizer {
31
+ background-color: transparent;
32
+ }
33
+ }
34
+
35
+ &[ui-scroll~='xs'] {
36
+ &::-webkit-scrollbar {
37
+ width: 4px;
38
+ height: 4px;
39
+ }
40
+ }
41
+ &[ui-scroll~='s'] {
42
+ &::-webkit-scrollbar {
43
+ width: 6px;
44
+ height: 6px;
45
+ }
46
+ }
47
+ &[ui-scroll~='m'] {
48
+ &::-webkit-scrollbar {
49
+ width: 8px;
50
+ height: 8px;
51
+ }
52
+ }
53
+ &[ui-scroll~='l'] {
54
+ &::-webkit-scrollbar {
55
+ width: 10px;
56
+ height: 10px;
57
+ }
58
+ }
59
+ &[ui-scroll~='xl'] {
60
+ &::-webkit-scrollbar {
61
+ width: 12px;
62
+ height: 12px;
63
+ }
64
+ }
65
+ }
66
+
67
+ .ui-scroll,
68
+ [ui-scroll] {
69
+ @extend %scroll;
70
+ }
71
+
72
+ .ui-scroll-x,
73
+ [ui-scroll~=':x'] {
74
+ overflow-x: auto;
75
+ }
76
+
77
+ .ui-scroll-y,
78
+ [ui-scroll~=':y'] {
79
+ overflow-y: auto;
80
+ }
81
+ .ui-scroll-x-hidden,
82
+ [ui-scroll~='x:hidden'] {
83
+ overflow-x: hidden;
84
+ }
85
+ .ui-scroll-y-hidden,
86
+ [ui-scroll~='y:hidden'] {
87
+ overflow-y: hidden;
88
+ }
89
+
90
+ .ui-scroll-unset,
91
+ .ui-scroll-x-unset,
92
+ [ui-scroll~='x:unset'] {
93
+ overflow-x: unset;
94
+ }
95
+ .ui-scroll-unset,
96
+ .ui-scroll-y-unset,
97
+ [ui-scroll~='y:unset'] {
98
+ overflow-y: unset;
99
+ }
100
+
101
+ ::-webkit-scrollbar-thumb {
102
+ @include theme {
103
+ background-color: rgba(co(text), 0.15) !important;
104
+ }
105
+ }
106
+
107
+ @include med('>mob') {
108
+ %mob-scroll {
109
+ & {
110
+ -webkit-overflow-scrolling: touch;
111
+ scrollbar-width: thin;
112
+ scrollbar-gutter: auto;
113
+ @include theme {
114
+ scrollbar-color: rgba(co(text), 0.15) transparent;
115
+ }
116
+
117
+ &::-webkit-scrollbar {
118
+ position: absolute;
119
+ width: 6px;
120
+ height: 6px;
121
+ background: transparent;
122
+ }
123
+
124
+ &::-webkit-scrollbar-thumb {
125
+ border: 1px solid transparent;
126
+ border-radius: 10px;
127
+ @include theme {
128
+ background-color: rgba(co(text), 0.15) !important;
129
+ }
130
+ background-clip: content-box;
131
+ }
132
+
133
+ &::-webkit-scrollbar-track,
134
+ &::-webkit-scrollbar-button,
135
+ &::-webkit-scrollbar-track-piece,
136
+ &::-webkit-scrollbar-corner,
137
+ &::-webkit-resizer {
138
+ background-color: transparent;
139
+ }
140
+ }
141
+
142
+ &[ui-scroll~='xs'] {
143
+ &::-webkit-scrollbar {
144
+ width: 4px;
145
+ height: 4px;
146
+ }
147
+ }
148
+ &[ui-scroll~='s'] {
149
+ &::-webkit-scrollbar {
150
+ width: 5px;
151
+ height: 5px;
152
+ }
153
+ }
154
+ &[ui-scroll~='m'] {
155
+ &::-webkit-scrollbar {
156
+ width: 6px;
157
+ height: 6px;
158
+ }
159
+ }
160
+ &[ui-scroll~='l'] {
161
+ &::-webkit-scrollbar {
162
+ width: 7px;
163
+ height: 7px;
164
+ }
165
+ }
166
+ &[ui-scroll~='xl'] {
167
+ &::-webkit-scrollbar {
168
+ width: 8px;
169
+ height: 8px;
170
+ }
171
+ }
172
+ }
173
+
174
+ html,
175
+ body {
176
+ @extend %mob-scroll;
177
+ }
178
+ }
@@ -0,0 +1,81 @@
1
+ // 阴影
2
+ $cos: main, read, case, line, back;
3
+ $szs: xs, ss, sm, sl, ms, mm, ml, ls, lm, ll;
4
+
5
+ div {
6
+ width: 5em;
7
+ height: 2em;
8
+ margin: 1em;
9
+ background: #f0f0f0;
10
+ }
11
+
12
+ .bs {
13
+ box-shadow: inset 0 0 0 1px currentColor;
14
+ }
15
+
16
+ .bs-x {
17
+ box-shadow: inset 1px 0 0 0 currentColor, inset -1px 0 0 0 currentColor;
18
+ }
19
+
20
+ .bs-y {
21
+ box-shadow: inset 0 1px 0 0 currentColor, inset 0 -1px 0 0 currentColor;
22
+ }
23
+
24
+ .bs-l {
25
+ box-shadow: inset 1px 0 0 0 currentColor;
26
+ }
27
+
28
+ .bs-r {
29
+ box-shadow: inset -1px 0 0 0 currentColor;
30
+ }
31
+
32
+ .bs-t {
33
+ box-shadow: inset 0 1px 0 0 currentColor;
34
+ }
35
+
36
+ .bs-b {
37
+ box-shadow: inset 0 -1px 0 0 currentColor;
38
+ }
39
+
40
+ /* 主题色 */
41
+ .bs-xs-main {
42
+ @include theme {
43
+ box-shadow: inset 0 0 0 1px co(main);
44
+ }
45
+ }
46
+
47
+ .bs-x-xs-main {
48
+ @include theme {
49
+ box-shadow: inset 1px 0 0 0 co(main), inset -1px 0 0 0 co(main);
50
+ }
51
+ }
52
+
53
+ .bs-y-xs-main {
54
+ @include theme {
55
+ box-shadow: inset 0 1px 0 0 co(main), inset 0 -1px 0 0 co(main);
56
+ }
57
+ }
58
+
59
+ .bs-l-xs-main {
60
+ @include theme {
61
+ box-shadow: inset 1px 0 0 0 co(main);
62
+ }
63
+ }
64
+
65
+ .bs-r-xs-main {
66
+ @include theme {
67
+ box-shadow: inset -1px 0 0 0 co(main);
68
+ }
69
+ }
70
+
71
+ .bs-t-xs-main {
72
+ @include theme {
73
+ box-shadow: inset 0 1px 0 0 co(main);
74
+ }
75
+ }
76
+
77
+ .bs-b-xs-main {
78
+ @include theme {
79
+ box-shadow: inset 0 -1px 0 0 co(main);
80
+ }
81
+ }
@@ -0,0 +1,105 @@
1
+ /*
2
+ * 模块:字号
3
+ * 模块类型:b(基础模块)
4
+ * 精度:9 +
5
+ * 分级:3 +
6
+ * 适配:桌面 | 平析 | 移动
7
+ * 兼容:
8
+ * 版本:v0.0.1
9
+ * 备注:s->Small 小,m->Middle 中,l->Large 大;x->Extra 特大
10
+ */
11
+
12
+ // 全局字号
13
+ // @mixin baseSize($sz: 13) {
14
+ // $size: 'xs', 's', 'm', 'l', 'xl';
15
+
16
+ // @each $i in $size {
17
+ // [size='#{$i}'],
18
+ // [ui-size='#{$i}'] {
19
+ // $s: index($size, $i) + $sz;
20
+ // font-size: #{$s}px;
21
+ // }
22
+ // }
23
+ // }
24
+
25
+ // 分级字号
26
+ @mixin randSize($d: '') {
27
+ $rank: 'xs', 'ss', 'sm', 'sl', 'ms', 'mm', 'ml', 'ls', 'lm', 'll', 'xl';
28
+ // 分级字号
29
+ .#{$d}fs-no {
30
+ font-size: 0rem;
31
+ }
32
+ .#{$d}lh-no {
33
+ line-height: 0;
34
+ }
35
+
36
+ $sz: 0.2;
37
+
38
+ @each $k in $rank {
39
+ .#{$d}lh-#{$k} {
40
+ line-height: #{$sz * 5};
41
+ }
42
+
43
+ @if ($sz<0.2) {
44
+ $sz: $sz + 0.01;
45
+ } @else if ($sz<.28) {
46
+ $sz: $sz + 0.02;
47
+ } @else if($sz<.4) {
48
+ $sz: $sz + 0.04;
49
+ } @else if($sz<.6) {
50
+ $sz: $sz + 0.06;
51
+ } @else {
52
+ $sz: $sz + 0.08;
53
+ }
54
+
55
+ .#{$d}fs-#{$k},
56
+ .#{$d}fs-#{$k}-sub > *,
57
+ .#{$d}fs-#{$k}-sub\:sta > *::before,
58
+ .#{$d}fs-#{$k}-sub\:end > *::after,
59
+ .#{$d}fs-#{$k}\:sta::before,
60
+ .#{$d}fs-#{$k}\:end::after {
61
+ font-size: #{$sz}rem;
62
+ }
63
+ }
64
+
65
+ // 标题
66
+ $hsz: 1;
67
+
68
+ h1,
69
+ .h1 {
70
+ font-size: 2em;
71
+ }
72
+ h2,
73
+ .h2 {
74
+ font-size: 1.6em;
75
+ }
76
+ h3,
77
+ .h3 {
78
+ font-size: 1.4em;
79
+ }
80
+ h4,
81
+ .h4 {
82
+ font-size: 1.2em;
83
+ }
84
+ h5,
85
+ .h5 {
86
+ font-size: 1.1em;
87
+ }
88
+ h6,
89
+ .h6 {
90
+ font-size: 1em;
91
+ }
92
+ }
93
+
94
+ // 桌面
95
+ @include randSize();
96
+
97
+ // 平板
98
+ @media screen and (max-width: 1024px) {
99
+ @include randSize('pad\\:');
100
+ }
101
+
102
+ // 移动
103
+ @media screen and (max-width: 767px) {
104
+ @include randSize('mob\\:');
105
+ }
package/core/size.scss ADDED
@@ -0,0 +1,178 @@
1
+ /*
2
+ * 模块:字号
3
+ * 模块类型:b(基础模块)
4
+ * 精度:9 +
5
+ * 分级:3 +
6
+ * 适配:桌面 | 平析 | 移动
7
+ * 兼容:
8
+ * 版本:v0.0.1
9
+ * 备注:s->Small 小,m->Middle 中,l->Large 大;x->Extra 特大
10
+ */
11
+
12
+ // 全局字号
13
+ @mixin baseSize($sz: 13) {
14
+ $size: 'xs', 's', 'm', 'l', 'xl';
15
+
16
+ @each $i in $size {
17
+ [size='#{$i}'],
18
+ [ui-size='#{$i}'] {
19
+ $s: index($size, $i) + $sz;
20
+ font-size: #{$s}px;
21
+ }
22
+ }
23
+ }
24
+
25
+ // 分级字号
26
+ @mixin randSize($d: '') {
27
+ $rank: 'xs', 'ss', 'sm', 'sl', 'ms', 'mm', 'ml', 'ls', 'lm', 'll', 'xl';
28
+ // 分级字号
29
+ .#{$d}fs-no {
30
+ font-size: 0rem;
31
+ }
32
+ .#{$d}lh-no {
33
+ line-height: 0;
34
+ }
35
+
36
+ $sz: 0.7;
37
+ @each $k in $rank {
38
+ @if ($sz<1.2) {
39
+ $sz: $sz + 0.1;
40
+ } @else if ($sz<1.4) {
41
+ $sz: $sz + 0.2;
42
+ } @else if($sz<2.4) {
43
+ $sz: $sz + 0.4;
44
+ } @else if($sz<3.4) {
45
+ $sz: $sz + 0.6;
46
+ } @else {
47
+ $sz: $sz + 0.8;
48
+ }
49
+
50
+ .#{$d}fs-#{$k},
51
+ .#{$d}fs-#{$k}-sub > *,
52
+ .#{$d}fs-#{$k}-sub\:sta > *::before,
53
+ .#{$d}fs-#{$k}-sub\:end > *::after,
54
+ .#{$d}fs-#{$k}\:sta::before,
55
+ .#{$d}fs-#{$k}\:end::after {
56
+ font-size: #{$sz}rem;
57
+ }
58
+ // 双倍
59
+ .#{$d}fs-#{$k}\*2,
60
+ .#{$d}fs-#{$k}-sub\*2 > *,
61
+ .#{$d}fs-#{$k}-sub\*2\:sta > *::before,
62
+ .#{$d}fs-#{$k}-sub\*2\:end > *::after,
63
+ .#{$d}fs-#{$k}\*2\:sta::before,
64
+ .#{$d}fs-#{$k}\*2\:end::after {
65
+ font-size: #{$sz * 2}rem;
66
+ }
67
+ // 三倍
68
+ .#{$d}fs-#{$k}\*3,
69
+ .#{$d}fs-#{$k}-sub\*3 > *,
70
+ .#{$d}fs-#{$k}-sub\*3\:sta > *::before,
71
+ .#{$d}fs-#{$k}-sub\*3\:end > *::after,
72
+ .#{$d}fs-#{$k}\*3\:sta::before,
73
+ .#{$d}fs-#{$k}\*3\:end::after {
74
+ font-size: #{$sz * 3}rem;
75
+ }
76
+ }
77
+
78
+ .#{$d}lh-no {
79
+ line-height: 1;
80
+ }
81
+ .#{$d}lh-xs {
82
+ line-height: 1;
83
+ }
84
+ .#{$d}lh-ss {
85
+ line-height: 1.25;
86
+ }
87
+ .#{$d}lh-sm {
88
+ line-height: 1.5;
89
+ }
90
+ .#{$d}lh-ms {
91
+ line-height: 1.75;
92
+ }
93
+ .#{$d}lh-mm {
94
+ line-height: 2;
95
+ }
96
+ .#{$d}lh-ml {
97
+ line-height: 2.25;
98
+ }
99
+ .#{$d}lh-ls {
100
+ line-height: 2.5;
101
+ }
102
+ .#{$d}lh-lm {
103
+ line-height: 2.75;
104
+ }
105
+ .#{$d}lh-ll {
106
+ line-height: 3;
107
+ }
108
+ .#{$d}lh-xl {
109
+ line-height: 3.5;
110
+ }
111
+
112
+ // 标题
113
+ $hsz: 1;
114
+ // @for $i from 1 through 6 {}
115
+ // $h_sz: 1;
116
+ // @for $i from 1 through 6 {
117
+ // $sz: 1 + (4 - $i)/10 + $h_sz;
118
+ // $sz: round($sz * 10) / 10;
119
+
120
+ // @if ($d == '') {
121
+ // h#{$i},
122
+ // .#{$d}h#{$i} {
123
+ // font-size: #{$sz}em;
124
+ // }
125
+ // } @else {
126
+ // .#{$d}h#{$i} {
127
+ // font-size: #{$sz}em;
128
+ // }
129
+ // }
130
+
131
+ // $h_sz: $h_sz - ($h_sz/3);
132
+ // }
133
+
134
+ h1,
135
+ .h1 {
136
+ font-size: 2em;
137
+ }
138
+ h2,
139
+ .h2 {
140
+ font-size: 1.6em;
141
+ }
142
+ h3,
143
+ .h3 {
144
+ font-size: 1.4em;
145
+ }
146
+ h4,
147
+ .h4 {
148
+ font-size: 1.2em;
149
+ }
150
+ h5,
151
+ .h5 {
152
+ font-size: 1.1em;
153
+ }
154
+ h6,
155
+ .h6 {
156
+ font-size: 1em;
157
+ }
158
+ }
159
+
160
+ // 桌面
161
+ @include baseSize(11);
162
+ @include randSize();
163
+
164
+ // 平板
165
+ @media screen and (max-width: 1024px) {
166
+ @include randSize('pad\\:');
167
+ }
168
+
169
+ // 移动
170
+ @media screen and (max-width: 767px) {
171
+ // @include baseSize(9);
172
+ @include randSize('mob\\:');
173
+ }
174
+
175
+ // 超小屏
176
+ @media screen and (max-width: 374px) {
177
+ @include baseSize(9);
178
+ }