Repositorio del curso CCOM4030 el semestre B91 del proyecto Artesanías con el Instituto de Cultura

segment.css 4.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176
  1. :root {
  2. --segment-active-color: var(--segment-active-text-color);
  3. --segment-border-top: 1px solid var(--segment-color);
  4. --segment-border-bottom: 1px solid var(--segment-color);
  5. --segment-border: 0 solid var(--segment-color);
  6. --segment-border-radius: 4px;
  7. }
  8. /*~
  9. name: Segment
  10. category: Segment
  11. markup: |
  12. <div class="segment" style="width: 280px; margin: 0 auto;">
  13. <div class="segment__item">
  14. <input type="radio" class="segment__input" name="segment-a" checked>
  15. <div class="segment__button">One</div>
  16. </div>
  17. <div class="segment__item">
  18. <input type="radio" class="segment__input" name="segment-a">
  19. <div class="segment__button">Two</div>
  20. </div>
  21. <div class="segment__item">
  22. <input type="radio" class="segment__input" name="segment-a">
  23. <div class="segment__button">Three</div>
  24. </div>
  25. </div>
  26. */
  27. .segment {
  28. @apply(--reset-font);
  29. display: inline-flex;
  30. align-items: stretch;
  31. align-content: stretch;
  32. flex-wrap: nowrap;
  33. margin: 0;
  34. padding: 0;
  35. border: none;
  36. }
  37. .segment__item {
  38. @apply(--reset-font);
  39. border-radius: 0;
  40. width: 100%;
  41. padding: 0;
  42. margin: 0;
  43. @apply(--hide-input-parent);
  44. overflow: hidden;
  45. box-sizing: border-box;
  46. display: block;
  47. background-color: transparent;
  48. border: none;
  49. }
  50. .segment__input {
  51. @apply(--hide-input);
  52. }
  53. .segment__button {
  54. @apply(--reset-font);
  55. border-radius: 0;
  56. background-color: transparent;
  57. color: var(--segment-color);
  58. border: 1px solid var(--segment-color);
  59. border-top-width: 1px;
  60. border-bottom-width: 1px;
  61. border-right-width: 1px;
  62. border-left-width: 0;
  63. font-weight: var(--font-weight);
  64. padding: 0;
  65. font-size: 13px;
  66. height: 29px;
  67. line-height: 29px;
  68. width: 100%;
  69. transition: background-color 0.2s linear, color 0.2s linear;
  70. box-sizing: border-box;
  71. text-align: center;
  72. }
  73. .segment__item:disabled {
  74. @apply(--disabled);
  75. }
  76. .segment__button:hover {
  77. transition: none;
  78. }
  79. .segment__button:focus {
  80. outline: 0;
  81. }
  82. :active + .segment__button {
  83. background-color: var(--segment-active-background-color);
  84. border: var(--segment-border);
  85. border-top: var(--segment-border-top);
  86. border-bottom: var(--segment-border-bottom);
  87. border-right: 1px solid var(--segment-color);
  88. font-size: 13px;
  89. width: 100%;
  90. transition: none;
  91. }
  92. :checked + .segment__button {
  93. background-color: var(--segment-color);
  94. color: var(--segment-active-color);
  95. transition: none;
  96. }
  97. .segment__item:first-child > .segment__button {
  98. border-left-width: 1px;
  99. border-radius: var(--segment-border-radius) 0 0 var(--segment-border-radius);
  100. }
  101. .segment__item:last-child > .segment__button {
  102. border-right-width: 1px;
  103. border-radius: 0 var(--segment-border-radius) var(--segment-border-radius) 0;
  104. }
  105. /*~
  106. name: Material Segment
  107. category: Segment
  108. markup: |
  109. <div class="segment segment--material" style="width: 280px; margin: 0 auto;">
  110. <div class="segment__item segment--material__item">
  111. <input type="radio" class="segment__input segment--material__input" name="segment-b" checked>
  112. <div class="segment__button segment--material__button">One</div>
  113. </div>
  114. <div class="segment__item segment--material__item">
  115. <input type="radio" class="segment__input segment--material__input" name="segment-b">
  116. <div class="segment__button segment--material__button">Two</div>
  117. </div>
  118. <div class="segment__item segment--material__item">
  119. <input type="radio" class="segment__input segment--material__input" name="segment-b">
  120. <div class="segment__button segment--material__button">Three</div>
  121. </div>
  122. </div>
  123. */
  124. .segment--material {
  125. border-radius: 2px;
  126. overflow: hidden;
  127. box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.12), 0 2px 2px 0 rgba(0, 0, 0, 0.24);
  128. }
  129. .segment--material__button {
  130. @apply(--material-font);
  131. font-size: 14px;
  132. height: 32px;
  133. line-height: 32px;
  134. border-width: 0;
  135. color: var(--material-segment-text-color);
  136. border-radius: 0;
  137. background-color: var(--material-segment-background-color);
  138. }
  139. :active + .segment--material__button {
  140. background-color: var(--material-segment-background-color);
  141. border-radius: 0;
  142. border-width: 0;
  143. font-size: 14px;
  144. transition: none;
  145. color: var(--material-segment-text-color);
  146. }
  147. :checked + .segment--material__button {
  148. background-color: var(--material-segment-active-background-color);
  149. color: var(--material-segment-active-text-color);
  150. border-radius: 0;
  151. border-width: 0;
  152. }
  153. .segment--material__item:first-child > .segment--material__button,
  154. .segment--material__item:last-child > .segment--material__button {
  155. border-radius: 0;
  156. border-width: 0;
  157. }