block.less 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. /* === Content Block === */
  2. @import './block-vars.less';
  3. .block {
  4. box-sizing: border-box;
  5. position: relative;
  6. z-index: 1;
  7. color: var(--f7-block-text-color);
  8. margin: var(--f7-block-margin-vertical) 0;
  9. padding-top: 0;
  10. padding-bottom: 0;
  11. padding-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
  12. padding-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
  13. font-size: var(--f7-block-font-size);
  14. .no-hairlines();
  15. > h1,
  16. > h2,
  17. > h3,
  18. > h4,
  19. > p {
  20. &:first-child {
  21. margin-top: 0;
  22. }
  23. &:last-child {
  24. margin-bottom: 0;
  25. }
  26. }
  27. }
  28. .block-strong {
  29. color: var(--f7-block-strong-text-color);
  30. padding-top: var(--f7-block-padding-vertical);
  31. padding-bottom: var(--f7-block-padding-vertical);
  32. background-color: var(--f7-block-strong-bg-color);
  33. .hairline(top, var(--f7-block-strong-border-color));
  34. .hairline(bottom, var(--f7-block-strong-border-color));
  35. }
  36. .block-title {
  37. position: relative;
  38. overflow: hidden;
  39. margin: 0;
  40. white-space: var(--f7-block-title-white-space);
  41. text-overflow: ellipsis;
  42. text-transform: var(--f7-block-title-text-transform);
  43. color: var(--f7-block-title-text-color);
  44. font-size: var(--f7-block-title-font-size, inherit);
  45. font-weight: var(--f7-block-title-font-weight);
  46. line-height: var(--f7-block-title-line-height);
  47. margin-top: var(--f7-block-margin-vertical);
  48. margin-bottom: var(--f7-block-title-margin-bottom);
  49. margin-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
  50. margin-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
  51. + .list,
  52. + .block,
  53. + .card,
  54. + .timeline,
  55. + .block-header {
  56. margin-top: 0px;
  57. }
  58. }
  59. .block-title-medium {
  60. font-size: var(--f7-block-title-medium-font-size);
  61. text-transform: var(--f7-block-title-medium-text-transform);
  62. color: var(--f7-block-title-medium-text-color);
  63. font-weight: var(--f7-block-title-medium-font-weight);
  64. line-height: var(--f7-block-title-medium-line-height);
  65. }
  66. .block-title-large {
  67. font-size: var(--f7-block-title-large-font-size);
  68. text-transform: var(--f7-block-title-large-text-transform);
  69. color: var(--f7-block-title-large-text-color);
  70. font-weight: var(--f7-block-title-large-font-weight);
  71. line-height: var(--f7-block-title-large-line-height);
  72. }
  73. .block,
  74. .list {
  75. > .block-title:first-child {
  76. margin-top: 0;
  77. margin-left: 0;
  78. margin-right: 0;
  79. }
  80. }
  81. // Header/Footer
  82. .block-header {
  83. color: var(--f7-block-header-text-color);
  84. font-size: var(--f7-block-header-font-size);
  85. margin-bottom: var(--f7-block-header-margin);
  86. margin-top: var(--f7-block-margin-vertical);
  87. + .list,
  88. + .block,
  89. + .card,
  90. + .timeline {
  91. margin-top: var(--f7-block-header-margin);
  92. }
  93. }
  94. .block-footer {
  95. color: var(--f7-block-footer-text-color);
  96. font-size: var(--f7-block-footer-font-size);
  97. margin-top: var(--f7-block-footer-margin);
  98. margin-bottom: var(--f7-block-margin-vertical);
  99. }
  100. .block-footer,
  101. .block-header {
  102. padding-top: 0;
  103. padding-bottom: 0;
  104. padding-left: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-left));
  105. padding-right: calc(var(--f7-block-padding-horizontal) + var(--f7-safe-area-right));
  106. ul,
  107. p,
  108. h1,
  109. h2,
  110. h3,
  111. h4 {
  112. &:first-child {
  113. margin-top: 0;
  114. }
  115. &:last-child {
  116. margin-bottom: 0;
  117. }
  118. &:first-child:last-child {
  119. margin-top: 0;
  120. margin-bottom: 0;
  121. }
  122. }
  123. }
  124. .list,
  125. .block,
  126. .card,
  127. .timeline {
  128. .block-header {
  129. margin-top: 0;
  130. }
  131. .block-footer {
  132. margin-bottom: 0;
  133. }
  134. + .block-footer {
  135. margin-top: calc(-1 * (var(--f7-block-margin-vertical) - var(--f7-block-footer-margin)));
  136. }
  137. }
  138. .block + .block-footer {
  139. margin-top: calc(-1 * (var(--f7-block-margin-vertical) - var(--f7-block-footer-margin)));
  140. margin-bottom: var(--f7-block-margin-vertical);
  141. }
  142. .block {
  143. .block-header,
  144. .block-footer {
  145. padding: 0;
  146. }
  147. }
  148. // Inset
  149. .block.inset {
  150. border-radius: var(--f7-block-inset-border-radius);
  151. margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
  152. margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
  153. --f7-safe-area-left: 0px;
  154. --f7-safe-area-right: 0px;
  155. }
  156. .block-strong.inset {
  157. .hairline-remove-top-bottom();
  158. }
  159. each(@breakpoints, {
  160. @media (min-width:@value) {
  161. .block.@{key}-inset {
  162. border-radius: var(--f7-block-inset-border-radius);
  163. margin-left: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-left));
  164. margin-right: calc(var(--f7-block-inset-side-margin) + var(--f7-safe-area-outer-right));
  165. --f7-safe-area-left: 0px;
  166. --f7-safe-area-right: 0px;
  167. }
  168. .block-strong.@{key}-inset {
  169. .hairline-remove-top-bottom();
  170. }
  171. }
  172. });
  173. .if-ios-theme({
  174. @import './block-ios.less';
  175. });
  176. .if-md-theme({
  177. @import './block-md.less';
  178. });
  179. .if-aurora-theme({
  180. @import './block-aurora.less';
  181. });