layout.less 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647
  1. @import '../themes/default.less';
  2. @import '../mixins.less';
  3. /* -- 背景色 -- */
  4. .lz-bgc {
  5. &--base {
  6. // 基本
  7. background-color: @fill-base;
  8. }
  9. &--base-inverse {
  10. // 基本反色
  11. background-color: @fill-tap;
  12. }
  13. &--disabled {
  14. // 失效
  15. background-color: @fill-disabled;
  16. }
  17. &--mask {
  18. // 遮罩
  19. background-color: @fill-mask;
  20. }
  21. &--grey {
  22. // 灰色
  23. background-color: @fill-grey;
  24. }
  25. &--icon {
  26. // 图标背景色
  27. background-color: @color-icon-base;
  28. }
  29. // 状态色
  30. &--primary {
  31. // 主色
  32. background-color: @brand-primary;
  33. }
  34. &--primary-tap {
  35. // 主色按下
  36. background-color: @brand-primary-tap;
  37. }
  38. &--success {
  39. // 成功
  40. background-color: @brand-success;
  41. }
  42. &--warning {
  43. // 警告
  44. background-color: @brand-warning;
  45. }
  46. &--error {
  47. // 失败
  48. background-color: @brand-error;
  49. }
  50. &--important {
  51. // 重要
  52. background-color: @brand-important;
  53. }
  54. &--hot {
  55. // 热门
  56. background-color: @brand-hot;
  57. }
  58. &--wait {
  59. // 等待
  60. background-color: @brand-wait;
  61. }
  62. }
  63. /* -- 边框 -- */
  64. .lz-bd {
  65. &--all {
  66. .scale-hairline-common();
  67. .hairline('all');
  68. &-remove {
  69. &::before {
  70. content: none;
  71. }
  72. }
  73. }
  74. &--t {
  75. .scale-hairline-common();
  76. .hairline('top');
  77. &-remove {
  78. &::before {
  79. content: none;
  80. }
  81. }
  82. }
  83. &--r {
  84. .scale-hairline-common();
  85. .hairline('right');
  86. &-remove {
  87. &::before {
  88. content: none;
  89. }
  90. }
  91. }
  92. &--b {
  93. .scale-hairline-common();
  94. .hairline('bottom');
  95. &-remove {
  96. &::before {
  97. content: none;
  98. }
  99. }
  100. }
  101. &--l {
  102. .scale-hairline-common();
  103. .hairline('left');
  104. &-remove {
  105. &::before {
  106. content: none;
  107. }
  108. }
  109. }
  110. &__color {
  111. &--base {
  112. // 基本
  113. &::before {
  114. border-color: @border-color-base;
  115. }
  116. }
  117. &--base-inverse {
  118. // 基本 - 反色
  119. &::before {
  120. border-color: @border-color-base-inverse;
  121. }
  122. }
  123. // 状态色
  124. &--primary {
  125. // 主色
  126. &::before {
  127. border-color: @brand-primary;
  128. }
  129. }
  130. &--primary-tap {
  131. // 主色按下
  132. &::before {
  133. border-color: @brand-primary-tap;
  134. }
  135. }
  136. &--success {
  137. // 成功
  138. &::before {
  139. border-color: @brand-success;
  140. }
  141. }
  142. &--warning {
  143. // 警告
  144. &::before {
  145. border-color: @brand-warning;
  146. }
  147. }
  148. &--error {
  149. // 失败
  150. &::before {
  151. border-color: @brand-error;
  152. }
  153. }
  154. &--important {
  155. // 重要
  156. &::before {
  157. border-color: @brand-important;
  158. }
  159. }
  160. &--hot {
  161. // 热门
  162. &::before {
  163. border-color: @brand-hot;
  164. }
  165. }
  166. &--wait {
  167. // 等待
  168. &::before {
  169. border-color: @brand-wait;
  170. }
  171. }
  172. }
  173. &__radius {
  174. &--xs {
  175. overflow: hidden;
  176. border-radius: @radius-xs;
  177. &::before {
  178. border-radius: @radius-xs;
  179. }
  180. }
  181. &--sm {
  182. overflow: hidden;
  183. border-radius: @radius-sm;
  184. &::before {
  185. border-radius: @radius-sm;
  186. }
  187. }
  188. &--md {
  189. overflow: hidden;
  190. border-radius: @radius-md;
  191. &::before {
  192. border-radius: @radius-md;
  193. }
  194. }
  195. &--lg {
  196. overflow: hidden;
  197. border-radius: @radius-lg;
  198. &::before {
  199. border-radius: @radius-lg;
  200. }
  201. }
  202. &--circle {
  203. overflow: hidden;
  204. border-radius: @radius-circle;
  205. &::before {
  206. border-radius: @radius-circle;
  207. }
  208. }
  209. }
  210. }
  211. /* -- 滚动区域 -- */
  212. .lz-overflow {
  213. &__auto {
  214. overflow: auto;
  215. }
  216. &__x {
  217. overflow-x: scroll;
  218. overflow-y: hidden;
  219. }
  220. &__y {
  221. overflow-x: hidden;
  222. overflow-y: scroll;
  223. }
  224. &__hidden {
  225. overflow: hidden;
  226. }
  227. }
  228. /* -- 定位 -- */
  229. .lz-position {
  230. &__rel {
  231. position: relative;
  232. }
  233. &__abs {
  234. position: absolute;
  235. }
  236. &__fix {
  237. position: fixed;
  238. }
  239. &__sti {
  240. position: sticky;
  241. }
  242. }
  243. /* -- 布局 -- */
  244. .lz-display {
  245. &__block {
  246. display: block;
  247. }
  248. &__inline-block {
  249. display: inline-block;
  250. }
  251. &__table {
  252. display: table;
  253. }
  254. }
  255. /* -- 隐藏 -- */
  256. .lz-hidden {
  257. &__none {
  258. display: none;
  259. }
  260. &__visibility {
  261. visibility: hidden;
  262. }
  263. }
  264. /* -- 填充 -- */
  265. .lz-fill {
  266. width: 100%;
  267. height: 100%;
  268. &__w {
  269. width: 100%;
  270. }
  271. &__h {
  272. height: 100%;
  273. }
  274. }
  275. /* -- 内容区块 -- */
  276. .lz-session {
  277. background-color: @fill-base;
  278. color: @color-text-base;
  279. }
  280. /* -- 正方形 -- */
  281. .lz-fillbox {
  282. position: relative;
  283. box-sizing: border-box;
  284. width: 100%;
  285. height: 0;
  286. overflow: hidden;
  287. padding-top: 100%;
  288. &-inner {
  289. position: absolute;
  290. top: 0;
  291. left: 0;
  292. right: 0;
  293. bottom: 0;
  294. box-sizing: border-box;
  295. }
  296. }
  297. /* -- 元素居中 -- */
  298. .lz-cc {
  299. position: absolute;
  300. top: 50%;
  301. left: 50%;
  302. transform: translate3d(-50%, -50%, 0);
  303. }
  304. /* -- 内外边距 -- */
  305. .lz-margin {
  306. &-0 {
  307. margin: 0;
  308. }
  309. &-xs {
  310. margin: @margin-spacing-xs;
  311. }
  312. &-sm {
  313. margin: @margin-spacing-sm;
  314. }
  315. &-md {
  316. margin: @margin-spacing-md;
  317. }
  318. &-lg {
  319. margin: @margin-spacing-lg;
  320. }
  321. &-xl {
  322. margin: @margin-spacing-xl;
  323. }
  324. &--t {
  325. &-0 {
  326. margin: 0;
  327. }
  328. &-xs {
  329. margin: @margin-spacing-xs;
  330. }
  331. &-sm {
  332. margin: @margin-spacing-sm;
  333. }
  334. &-md {
  335. margin: @margin-spacing-md;
  336. }
  337. &-lg {
  338. margin: @margin-spacing-lg;
  339. }
  340. &-xl {
  341. margin: @margin-spacing-xl;
  342. }
  343. }
  344. &--r {
  345. &-0 {
  346. margin: 0;
  347. }
  348. &-xs {
  349. margin: @margin-spacing-xs;
  350. }
  351. &-sm {
  352. margin: @margin-spacing-sm;
  353. }
  354. &-md {
  355. margin: @margin-spacing-md;
  356. }
  357. &-lg {
  358. margin: @margin-spacing-lg;
  359. }
  360. &-xl {
  361. margin: @margin-spacing-xl;
  362. }
  363. }
  364. &--b {
  365. &-0 {
  366. margin: 0;
  367. }
  368. &-xs {
  369. margin: @margin-spacing-xs;
  370. }
  371. &-sm {
  372. margin: @margin-spacing-sm;
  373. }
  374. &-md {
  375. margin: @margin-spacing-md;
  376. }
  377. &-lg {
  378. margin: @margin-spacing-lg;
  379. }
  380. &-xl {
  381. margin: @margin-spacing-xl;
  382. }
  383. }
  384. &--l {
  385. &-0 {
  386. margin: 0;
  387. }
  388. &-xs {
  389. margin: @margin-spacing-xs;
  390. }
  391. &-sm {
  392. margin: @margin-spacing-sm;
  393. }
  394. &-md {
  395. margin: @margin-spacing-md;
  396. }
  397. &-lg {
  398. margin: @margin-spacing-lg;
  399. }
  400. &-xl {
  401. margin: @margin-spacing-xl;
  402. }
  403. }
  404. &--lr {
  405. &-0 {
  406. margin-left: 0;
  407. margin-right: 0;
  408. }
  409. &-xs {
  410. margin-left: @margin-spacing-xs;
  411. margin-right: @margin-spacing-xs;
  412. }
  413. &-sm {
  414. margin-left: @margin-spacing-sm;
  415. margin-right: @margin-spacing-sm;
  416. }
  417. &-md {
  418. margin-left: @margin-spacing-md;
  419. margin-right: @margin-spacing-md;
  420. }
  421. &-lg {
  422. margin-left: @margin-spacing-lg;
  423. margin-right: @margin-spacing-lg;
  424. }
  425. &-xl {
  426. margin-left: @margin-spacing-xl;
  427. margin-right: @margin-spacing-xl;
  428. }
  429. }
  430. &--tb {
  431. &-0 {
  432. margin-top: 0;
  433. margin-bottom: 0;
  434. }
  435. &-xs {
  436. margin-top: @margin-spacing-xs;
  437. margin-bottom: @margin-spacing-xs;
  438. }
  439. &-sm {
  440. margin-top: @margin-spacing-sm;
  441. margin-bottom: @margin-spacing-sm;
  442. }
  443. &-md {
  444. margin-top: @margin-spacing-md;
  445. margin-bottom: @margin-spacing-md;
  446. }
  447. &-lg {
  448. margin-top: @margin-spacing-lg;
  449. margin-bottom: @margin-spacing-lg;
  450. }
  451. &-xl {
  452. margin-top: @margin-spacing-xl;
  453. margin-bottom: @margin-spacing-xl;
  454. }
  455. }
  456. }
  457. .lz-padding {
  458. &-0 {
  459. padding: 0;
  460. }
  461. &-xs {
  462. padding: @padding-spacing-xs;
  463. }
  464. &-sm {
  465. padding: @padding-spacing-sm;
  466. }
  467. &-md {
  468. padding: @padding-spacing-md;
  469. }
  470. &-lg {
  471. padding: @padding-spacing-lg;
  472. }
  473. &-xl {
  474. padding: @padding-spacing-xl;
  475. }
  476. &--t {
  477. &-0 {
  478. padding: 0;
  479. }
  480. &-xs {
  481. padding: @padding-spacing-xs;
  482. }
  483. &-sm {
  484. padding: @padding-spacing-sm;
  485. }
  486. &-md {
  487. padding: @padding-spacing-md;
  488. }
  489. &-lg {
  490. padding: @padding-spacing-lg;
  491. }
  492. &-xl {
  493. padding: @padding-spacing-xl;
  494. }
  495. }
  496. &--r {
  497. &-0 {
  498. padding: 0;
  499. }
  500. &-xs {
  501. padding: @padding-spacing-xs;
  502. }
  503. &-sm {
  504. padding: @padding-spacing-sm;
  505. }
  506. &-md {
  507. padding: @padding-spacing-md;
  508. }
  509. &-lg {
  510. padding: @padding-spacing-lg;
  511. }
  512. &-xl {
  513. padding: @padding-spacing-xl;
  514. }
  515. }
  516. &--b {
  517. &-0 {
  518. padding: 0;
  519. }
  520. &-xs {
  521. padding: @padding-spacing-xs;
  522. }
  523. &-sm {
  524. padding: @padding-spacing-sm;
  525. }
  526. &-md {
  527. padding: @padding-spacing-md;
  528. }
  529. &-lg {
  530. padding: @padding-spacing-lg;
  531. }
  532. &-xl {
  533. padding: @padding-spacing-xl;
  534. }
  535. }
  536. &--l {
  537. &-0 {
  538. padding: 0;
  539. }
  540. &-xs {
  541. padding: @padding-spacing-xs;
  542. }
  543. &-sm {
  544. padding: @padding-spacing-sm;
  545. }
  546. &-md {
  547. padding: @padding-spacing-md;
  548. }
  549. &-lg {
  550. padding: @padding-spacing-lg;
  551. }
  552. &-xl {
  553. padding: @padding-spacing-xl;
  554. }
  555. }
  556. &--lr {
  557. &-0 {
  558. padding-left: 0;
  559. padding-right: 0;
  560. }
  561. &-xs {
  562. padding-left: @padding-spacing-xs;
  563. padding-right: @padding-spacing-xs;
  564. }
  565. &-sm {
  566. padding-left: @padding-spacing-sm;
  567. padding-right: @padding-spacing-sm;
  568. }
  569. &-md {
  570. padding-left: @padding-spacing-md;
  571. padding-right: @padding-spacing-md;
  572. }
  573. &-lg {
  574. padding-left: @padding-spacing-lg;
  575. padding-right: @padding-spacing-lg;
  576. }
  577. &-xl {
  578. padding-left: @padding-spacing-xl;
  579. padding-right: @padding-spacing-xl;
  580. }
  581. }
  582. &--tb {
  583. &-0 {
  584. padding-top: 0;
  585. padding-bottom: 0;
  586. }
  587. &-xs {
  588. padding-top: @padding-spacing-xs;
  589. padding-bottom: @padding-spacing-xs;
  590. }
  591. &-sm {
  592. padding-top: @padding-spacing-sm;
  593. padding-bottom: @padding-spacing-sm;
  594. }
  595. &-md {
  596. padding-top: @padding-spacing-md;
  597. padding-bottom: @padding-spacing-md;
  598. }
  599. &-lg {
  600. padding-top: @padding-spacing-lg;
  601. padding-bottom: @padding-spacing-lg;
  602. }
  603. &-xl {
  604. padding-top: @padding-spacing-xl;
  605. padding-bottom: @padding-spacing-xl;
  606. }
  607. }
  608. }
  609. /* -- 浮动 -- */
  610. .lz-clear-float::after,
  611. .lz-clear-float::before {
  612. content: ' ';
  613. display: table;
  614. }
  615. .lz-clear-float::after {
  616. clear: both;
  617. }
  618. .lz-float-l {
  619. float: left;
  620. }
  621. .lz-float-r {
  622. float: right;
  623. }