Blame view

src/styles/components/radio.less 7.66 KB
4925f85f   梁灏   add Radio UI
1
2
3
4
5
6
7
  @radio-prefix-cls: ~"@{css-prefix}radio";
  @radio-group-prefix-cls: ~"@{radio-prefix-cls}-group";
  @radio-inner-prefix-cls: ~"@{radio-prefix-cls}-inner";
  @radio-group-button-prefix-cls: ~"@{radio-group-prefix-cls}-button";
  
  .@{radio-group-prefix-cls} {
      display: inline-block;
3c01d81a   梁灏   fixed Modal bug,w...
8
      font-size: @font-size-small;
98fbc549   Sergio Crisostomo   use vertical-alig...
9
      vertical-align: middle;
5722a6fb   梁灏   RadioGroup add ve...
10
11
12
13
14
15
16
      &-vertical{
          .@{radio-prefix-cls}-wrapper {
              display: block;
              height: 30px;
              line-height: 30px;
          }
      }
4925f85f   梁灏   add Radio UI
17
18
  }
  
e0f097e6   Graham Fairweather   Initial WIP
19
  // 普通状态 - Normal state
4925f85f   梁灏   add Radio UI
20
  .@{radio-prefix-cls}-wrapper {
3c01d81a   梁灏   fixed Modal bug,w...
21
      font-size: @font-size-small;
4925f85f   梁灏   add Radio UI
22
23
24
25
26
      vertical-align: middle;
      display: inline-block;
      position: relative;
      white-space: nowrap;
      margin-right: 8px;
5722a6fb   梁灏   RadioGroup add ve...
27
28
29
30
      cursor: pointer;
      &-disabled{
          cursor: @cursor-disabled;
      }
e0f097e6   Graham Fairweather   Initial WIP
31
32
33
34
35
36
      outline: 0;
      &:focus {
          & .@{radio-inner-prefix-cls} {
              box-shadow: 0 0 0 2px fade(@primary-color, 20%);
          }
      }
4925f85f   梁灏   add Radio UI
37
38
39
  }
  
  .@{radio-prefix-cls} {
3c01d81a   梁灏   fixed Modal bug,w...
40
41
      display: inline-block;
      margin-right: 4px;
4925f85f   梁灏   add Radio UI
42
43
      white-space: nowrap;
      outline: none;
4925f85f   梁灏   add Radio UI
44
45
46
47
48
49
50
51
52
53
54
      position: relative;
      line-height: 1;
      vertical-align: middle;
      cursor: pointer;
      &:hover {
          .@{radio-inner-prefix-cls} {
              border-color: #bcbcbc;
          }
      }
      &-inner {
          display: inline-block;
7d7221ec   梁灏   optimize Radio si...
55
56
          width: 14px;
          height: 14px;
4925f85f   梁灏   add Radio UI
57
58
59
60
61
62
          position: relative;
          top: 0;
          left: 0;
          background-color: #fff;
          border: 1px solid @border-color-base;
          border-radius: 50%;
e2645048   jingsam   :fire: remove tra...
63
          transition: all @transition-time @ease-in-out;
4925f85f   梁灏   add Radio UI
64
65
66
  
          &:after {
              position: absolute;
7d7221ec   梁灏   optimize Radio si...
67
68
              width: 8px;
              height: 8px;
4925f85f   梁灏   add Radio UI
69
70
71
72
73
74
75
76
77
              left: 2px;
              top: 2px;
              border-radius: @border-radius-base;
              display: table;
              border-top: 0;
              border-left: 0;
              content: ' ';
              background-color: @primary-color;
              opacity: 0;
e2645048   jingsam   :fire: remove tra...
78
79
              transition: all @transition-time @ease-in-out;
              transform: scale(0);
4925f85f   梁灏   add Radio UI
80
81
          }
      }
4d545420   梁灏   Radio add size prop
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
      &-large{
          font-size: @font-size-base;
          & .@{radio-inner-prefix-cls}{
              width: 16px;
              height: 16px;
              &:after{
                  width: 10px;
                  height: 10px;
              }
          }
          &.@{radio-prefix-cls}-wrapper, & .@{radio-prefix-cls}-wrapper{
              font-size: @font-size-base;
          }
      }
      &-small{
          & .@{radio-inner-prefix-cls}{
              width: 12px;
              height: 12px;
              &:after{
                  width: 6px;
                  height: 6px;
              }
          }
      }
4925f85f   梁灏   add Radio UI
106
107
108
109
110
111
112
113
  
      &-input {
          position: absolute;
          top: 0;
          bottom: 0;
          left: 0;
          right: 0;
          z-index: 1;
4925f85f   梁灏   add Radio UI
114
          opacity: 0;
7d7221ec   梁灏   optimize Radio si...
115
          cursor: pointer;
4925f85f   梁灏   add Radio UI
116
117
118
      }
  }
  
e0f097e6   Graham Fairweather   Initial WIP
119
  // 选中状态 - Selected state
4925f85f   梁灏   add Radio UI
120
121
  .@{radio-prefix-cls}-checked {
      .@{radio-inner-prefix-cls} {
7d7221ec   梁灏   optimize Radio si...
122
          border-color: @primary-color;
4925f85f   梁灏   add Radio UI
123
124
          &:after {
              opacity: 1;
e2645048   jingsam   :fire: remove tra...
125
126
              transform: scale(1);
              transition: all @transition-time @ease-in-out;
4925f85f   梁灏   add Radio UI
127
128
          }
      }
7d7221ec   梁灏   optimize Radio si...
129
130
131
132
133
      &:hover {
          .@{radio-inner-prefix-cls} {
              border-color: @primary-color;
          }
      }
4925f85f   梁灏   add Radio UI
134
135
136
  }
  
  .@{radio-prefix-cls}-disabled {
7d7221ec   梁灏   optimize Radio si...
137
138
139
140
141
      cursor: @cursor-disabled;
      .@{radio-prefix-cls}-input {
          cursor: @cursor-disabled;
      }
  
4925f85f   梁灏   add Radio UI
142
143
144
145
146
147
148
149
150
151
152
153
154
      &:hover {
          .@{radio-inner-prefix-cls} {
              border-color: @border-color-base;
          }
      }
      .@{radio-inner-prefix-cls} {
          border-color: @border-color-base;
          background-color: #f3f3f3;
          &:after {
              background-color: #cccccc;
          }
      }
  
4925f85f   梁灏   add Radio UI
155
156
      .@{radio-prefix-cls}-disabled + span {
          color: #ccc;
4925f85f   梁灏   add Radio UI
157
158
159
160
161
162
163
164
      }
  }
  
  span.@{radio-prefix-cls} + * {
      margin-left: 2px;
      margin-right: 2px;
  }
  
e0f097e6   Graham Fairweather   Initial WIP
165
  // 按钮样式 - Button style
4925f85f   梁灏   add Radio UI
166
167
168
169
  .@{radio-group-button-prefix-cls} {
      font-size: 0;
      -webkit-text-size-adjust:none;
  
3c01d81a   梁灏   fixed Modal bug,w...
170
171
172
173
174
      .@{radio-prefix-cls}{
          width: 0;
          margin-right: 0;
      }
  
4925f85f   梁灏   add Radio UI
175
      .@{radio-prefix-cls}-wrapper {
3c01d81a   梁灏   fixed Modal bug,w...
176
177
178
          display: inline-block;
          height: @btn-circle-size;
          line-height: @btn-circle-size - 2px;
4925f85f   梁灏   add Radio UI
179
          margin: 0;
3c01d81a   梁灏   fixed Modal bug,w...
180
181
          padding: 0 16px;
          font-size: @font-size-small;
4925f85f   梁灏   add Radio UI
182
          color: @btn-default-color;
e2645048   jingsam   :fire: remove tra...
183
          transition: all @transition-time ease-in-out;
4925f85f   梁灏   add Radio UI
184
185
186
187
          cursor: pointer;
          border: 1px solid @border-color-base;
          border-left: 0;
          background: #fff;
4925f85f   梁灏   add Radio UI
188
189
190
191
192
193
194
195
196
197
198
199
200
  
          > span {
              margin-left: 0;
          }
  
          &:before {
              content: '';
              position: absolute;
              width: 1px;
              height: 100%;
              left: -1px;
              background: @border-color-base;
              visibility: hidden;
e2645048   jingsam   :fire: remove tra...
201
              transition: all @transition-time ease-in-out;
4925f85f   梁灏   add Radio UI
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
          }
  
          &:first-child {
              border-radius: @btn-border-radius 0 0 @btn-border-radius;
              border-left: 1px solid @border-color-base;
              &:before {
                  display: none;
              }
          }
  
          &:last-child {
              border-radius: 0 @btn-border-radius @btn-border-radius 0;
          }
  
          &:first-child:last-child {
              border-radius: @btn-border-radius;
          }
  
          &:hover {
              position: relative;
              color: @primary-color;
e0f097e6   Graham Fairweather   Initial WIP
223
224
225
226
227
228
229
              & .@{radio-prefix-cls} {
                  background-color: black;
              }
          }
  
          &:focus {
              box-shadow: 0 0 0 2px fade(@primary-color, 20%);
4925f85f   梁灏   add Radio UI
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
          }
  
          .@{radio-prefix-cls}-inner,
          input {
              opacity: 0;
              width: 0;
              height: 0;
          }
  
          &-checked {
              background: #fff;
              border-color: @primary-color;
              color: @primary-color;
              box-shadow: -1px 0 0 0 @primary-color;
  
              &:first-child {
                  border-color: @primary-color;
                  box-shadow: none!important;
              }
  
              &:hover {
                  border-color: tint(@primary-color, 20%);
                  box-shadow: -1px 0 0 0 tint(@primary-color, 20%);
                  color: tint(@primary-color, 20%);
              }
  
e0f097e6   Graham Fairweather   Initial WIP
256
257
258
259
              &:focus {
                  box-shadow: 0 0 0 2px fade(@primary-color, 20%)!important;
              }
  
4925f85f   梁灏   add Radio UI
260
261
262
263
264
265
266
267
268
269
              &:active {
                  border-color: shade(@primary-color, 5%);
                  box-shadow: -1px 0 0 0 shade(@primary-color, 5%);
                  color: shade(@primary-color, 5%);
              }
          }
  
          &-disabled {
              border-color: @border-color-base;
              background-color: @background-color-base;
7d7221ec   梁灏   optimize Radio si...
270
              cursor: @cursor-disabled;
4925f85f   梁灏   add Radio UI
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
              color: #ccc;
  
              &:first-child,
              &:hover {
                  border-color: @border-color-base;
                  background-color: @background-color-base;
                  color: #ccc;
              }
              &:first-child {
                  border-left-color: @border-color-base;
              }
          }
  
          &-disabled.@{radio-prefix-cls}-wrapper-checked {
              color: #fff;
              background-color: #e6e6e6;
              border-color: @border-color-base;
              box-shadow: none!important;
          }
      }
  }
  
  .@{radio-group-button-prefix-cls}.@{radio-group-prefix-cls}-large .@{radio-prefix-cls}-wrapper{
3c01d81a   梁灏   fixed Modal bug,w...
294
295
296
      height: @btn-circle-size-large;
      line-height: @btn-circle-size-large - 2px;
      font-size: @font-size-base;
4925f85f   梁灏   add Radio UI
297
298
299
  }
  
  .@{radio-group-button-prefix-cls}.@{radio-group-prefix-cls}-small .@{radio-prefix-cls}-wrapper{
3c01d81a   梁灏   fixed Modal bug,w...
300
301
      height: @btn-circle-size-small;
      line-height: @btn-circle-size-small - 2px;
4925f85f   梁灏   add Radio UI
302
      padding: 0 12px;
3c01d81a   梁灏   fixed Modal bug,w...
303
      font-size: @font-size-small;
4925f85f   梁灏   add Radio UI
304
      &:first-child {
7098f972   梁灏   fixed RadioGroup ...
305
          border-radius: @btn-border-radius-small 0 0 @btn-border-radius-small;
4925f85f   梁灏   add Radio UI
306
307
      }
      &:last-child {
7098f972   梁灏   fixed RadioGroup ...
308
          border-radius: 0 @btn-border-radius-small @btn-border-radius-small 0;
4925f85f   梁灏   add Radio UI
309
      }
e2645048   jingsam   :fire: remove tra...
310
  }
e0f097e6   Graham Fairweather   Initial WIP