Blame view

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