safecheck-client 3.0.33-97 → 3.0.33-99

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (295) hide show
  1. package/.babelrc +5 -5
  2. package/.editorconfig +9 -9
  3. package/android.html +18 -18
  4. package/build/css-loaders.js +34 -34
  5. package/build/dev-android.js +151 -151
  6. package/build/dev-client.js +8 -8
  7. package/build/release.sh +28 -28
  8. package/build/utils.js +71 -71
  9. package/build/webpack.baseandroid.conf.js +83 -83
  10. package/build/webpack.devandroid.conf.js +33 -33
  11. package/build/webpack.hanwei.conf.js +57 -57
  12. package/build/webpack.hwbase.conf.js +78 -78
  13. package/build/webpack.prodandroid.conf.js +60 -60
  14. package/build/webpack.test.conf.js +31 -31
  15. package/config/dev.env.js +6 -6
  16. package/config/index.js +38 -38
  17. package/config/prod.env.js +3 -3
  18. package/config/test.env.js +6 -6
  19. package/docs/AppBase.md +22 -22
  20. package/docs/Busy.md +14 -14
  21. package/docs/Criteria.md +47 -47
  22. package/docs/CriteriaPaged.md +47 -47
  23. package/docs/DataGrid.md +54 -54
  24. package/docs/DataModel.md +22 -22
  25. package/docs/Dynamic.md +42 -42
  26. package/docs/FormPrint.md +18 -18
  27. package/docs/GetParams.md +11 -11
  28. package/docs/GridTree.md +47 -47
  29. package/docs/HttpBusy.md +13 -13
  30. package/docs/HttpStore.md +29 -29
  31. package/docs/MessageBox.md +28 -28
  32. package/docs/PagedList.md +29 -29
  33. package/docs/Pager.md +21 -21
  34. package/docs/PrintFile.md +38 -38
  35. package/docs/Project.md +23 -23
  36. package/docs/Route.md +105 -105
  37. package/docs/SafetyCheck/AdjustPlan.md +13 -13
  38. package/docs/SafetyCheck/CheckerPlan.md +12 -12
  39. package/docs/Task.md +46 -46
  40. package/docs/TreeList.md +28 -28
  41. package/docs/TreeMixin.md +18 -18
  42. package/docs/all.md +10 -10
  43. package/docs/list.md +42 -42
  44. package/docs/partial.md +75 -75
  45. package/docs/selector.md +82 -82
  46. package/docs/tree.md +40 -40
  47. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/Snippets.md +28 -28
  48. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue-strap/345/217/230/346/233/264/350/256/260/345/275/225.md +7 -7
  49. package/docs//345/274/200/345/217/221/346/226/207/346/241/243/vue/345/217/230/346/233/264/350/256/260/345/275/225.md +13 -13
  50. package/docs//345/274/200/345/217/221/346/226/207/346/241/243//345/274/200/345/217/221/347/216/257/345/242/203/350/256/276/347/275/256.md +77 -77
  51. package/docs//347/225/214/351/235/242/345/210/266/344/275/234/350/247/204/350/214/203.md +54 -54
  52. package/examples/AddressList/App.vue +13 -13
  53. package/examples/AddressList/index.html +11 -11
  54. package/examples/DispatchList/App.vue +10 -10
  55. package/examples/DispatchList/BaseTree.vue +13 -13
  56. package/examples/DispatchList/Init.vue +22 -22
  57. package/examples/DispatchList/Test.vue +20 -20
  58. package/examples/DispatchList/index.html +11 -11
  59. package/examples/DispatchList/main.js +18 -18
  60. package/home.html +16 -16
  61. package/package.json +1 -1
  62. package/publish.bat +7 -7
  63. package/release.bat +5 -5
  64. package/src/Widget.vue +13 -13
  65. package/src/android-bootstrap/fonts/glyphicons-halflings-regular.svg +287 -287
  66. package/src/android-bootstrap/less/.csscomb.json +304 -304
  67. package/src/android-bootstrap/less/.csslintrc +19 -19
  68. package/src/android-bootstrap/less/alerts.less +73 -73
  69. package/src/android-bootstrap/less/badges.less +66 -66
  70. package/src/android-bootstrap/less/bootstrap.less +56 -56
  71. package/src/android-bootstrap/less/breadcrumbs.less +26 -26
  72. package/src/android-bootstrap/less/button-groups.less +247 -247
  73. package/src/android-bootstrap/less/buttons.less +173 -173
  74. package/src/android-bootstrap/less/carousel.less +269 -269
  75. package/src/android-bootstrap/less/close.less +34 -34
  76. package/src/android-bootstrap/less/code.less +69 -69
  77. package/src/android-bootstrap/less/component-animations.less +33 -33
  78. package/src/android-bootstrap/less/grid.less +84 -84
  79. package/src/android-bootstrap/less/input-groups.less +167 -167
  80. package/src/android-bootstrap/less/jumbotron.less +52 -52
  81. package/src/android-bootstrap/less/labels.less +64 -64
  82. package/src/android-bootstrap/less/list-group.less +141 -141
  83. package/src/android-bootstrap/less/media.less +66 -66
  84. package/src/android-bootstrap/less/mixins/alerts.less +14 -14
  85. package/src/android-bootstrap/less/mixins/background-variant.less +9 -9
  86. package/src/android-bootstrap/less/mixins/border-radius.less +18 -18
  87. package/src/android-bootstrap/less/mixins/buttons.less +69 -69
  88. package/src/android-bootstrap/less/mixins/center-block.less +7 -7
  89. package/src/android-bootstrap/less/mixins/clearfix.less +22 -22
  90. package/src/android-bootstrap/less/mixins/forms.less +90 -90
  91. package/src/android-bootstrap/less/mixins/gradients.less +59 -59
  92. package/src/android-bootstrap/less/mixins/grid-framework.less +92 -92
  93. package/src/android-bootstrap/less/mixins/grid.less +122 -122
  94. package/src/android-bootstrap/less/mixins/hide-text.less +21 -21
  95. package/src/android-bootstrap/less/mixins/image.less +33 -33
  96. package/src/android-bootstrap/less/mixins/labels.less +12 -12
  97. package/src/android-bootstrap/less/mixins/list-group.less +30 -30
  98. package/src/android-bootstrap/less/mixins/nav-divider.less +10 -10
  99. package/src/android-bootstrap/less/mixins/nav-vertical-align.less +9 -9
  100. package/src/android-bootstrap/less/mixins/opacity.less +8 -8
  101. package/src/android-bootstrap/less/mixins/pagination.less +24 -24
  102. package/src/android-bootstrap/less/mixins/panels.less +24 -24
  103. package/src/android-bootstrap/less/mixins/progress-bar.less +10 -10
  104. package/src/android-bootstrap/less/mixins/reset-filter.less +8 -8
  105. package/src/android-bootstrap/less/mixins/reset-text.less +18 -18
  106. package/src/android-bootstrap/less/mixins/resize.less +6 -6
  107. package/src/android-bootstrap/less/mixins/responsive-visibility.less +15 -15
  108. package/src/android-bootstrap/less/mixins/size.less +10 -10
  109. package/src/android-bootstrap/less/mixins/tab-focus.less +9 -9
  110. package/src/android-bootstrap/less/mixins/table-row.less +44 -44
  111. package/src/android-bootstrap/less/mixins/text-emphasis.less +9 -9
  112. package/src/android-bootstrap/less/mixins/text-overflow.less +8 -8
  113. package/src/android-bootstrap/less/mixins/vendor-prefixes.less +227 -227
  114. package/src/android-bootstrap/less/mixins.less +40 -40
  115. package/src/android-bootstrap/less/modals.less +151 -151
  116. package/src/android-bootstrap/less/navbar.less +660 -660
  117. package/src/android-bootstrap/less/navs.less +290 -290
  118. package/src/android-bootstrap/less/normalize.less +424 -424
  119. package/src/android-bootstrap/less/pager.less +76 -76
  120. package/src/android-bootstrap/less/pagination.less +89 -89
  121. package/src/android-bootstrap/less/panels.less +274 -274
  122. package/src/android-bootstrap/less/popovers.less +131 -131
  123. package/src/android-bootstrap/less/print.less +101 -101
  124. package/src/android-bootstrap/less/progress-bars.less +87 -87
  125. package/src/android-bootstrap/less/responsive-embed.less +35 -35
  126. package/src/android-bootstrap/less/responsive-utilities.less +194 -194
  127. package/src/android-bootstrap/less/scaffolding.less +161 -161
  128. package/src/android-bootstrap/less/tables.less +262 -262
  129. package/src/android-bootstrap/less/theme.less +291 -291
  130. package/src/android-bootstrap/less/thumbnails.less +36 -36
  131. package/src/android-bootstrap/less/tooltip.less +102 -102
  132. package/src/android-bootstrap/less/type.less +303 -303
  133. package/src/android-bootstrap/less/utilities.less +55 -55
  134. package/src/android-bootstrap/less/variables.less +896 -896
  135. package/src/android-bootstrap/less/wells.less +29 -29
  136. package/src/androidTest.js +20 -20
  137. package/src/bootstrap/less/.csscomb.json +304 -304
  138. package/src/bootstrap/less/.csslintrc +19 -19
  139. package/src/bootstrap/less/alerts.less +73 -73
  140. package/src/bootstrap/less/badges.less +66 -66
  141. package/src/bootstrap/less/breadcrumbs.less +26 -26
  142. package/src/bootstrap/less/button-groups.less +247 -247
  143. package/src/bootstrap/less/buttons.less +172 -172
  144. package/src/bootstrap/less/carousel.less +269 -269
  145. package/src/bootstrap/less/close.less +34 -34
  146. package/src/bootstrap/less/code.less +69 -69
  147. package/src/bootstrap/less/component-animations.less +33 -33
  148. package/src/bootstrap/less/dropdowns.less +216 -216
  149. package/src/bootstrap/less/forms.less +626 -626
  150. package/src/bootstrap/less/grid.less +84 -84
  151. package/src/bootstrap/less/input-groups.less +167 -167
  152. package/src/bootstrap/less/jumbotron.less +52 -52
  153. package/src/bootstrap/less/labels.less +64 -64
  154. package/src/bootstrap/less/list-group.less +141 -141
  155. package/src/bootstrap/less/media.less +66 -66
  156. package/src/bootstrap/less/mixins/alerts.less +14 -14
  157. package/src/bootstrap/less/mixins/background-variant.less +9 -9
  158. package/src/bootstrap/less/mixins/border-radius.less +18 -18
  159. package/src/bootstrap/less/mixins/buttons.less +69 -69
  160. package/src/bootstrap/less/mixins/center-block.less +7 -7
  161. package/src/bootstrap/less/mixins/clearfix.less +22 -22
  162. package/src/bootstrap/less/mixins/forms.less +90 -90
  163. package/src/bootstrap/less/mixins/gradients.less +59 -59
  164. package/src/bootstrap/less/mixins/grid-framework.less +92 -92
  165. package/src/bootstrap/less/mixins/grid.less +122 -122
  166. package/src/bootstrap/less/mixins/hide-text.less +21 -21
  167. package/src/bootstrap/less/mixins/image.less +33 -33
  168. package/src/bootstrap/less/mixins/labels.less +12 -12
  169. package/src/bootstrap/less/mixins/list-group.less +30 -30
  170. package/src/bootstrap/less/mixins/nav-divider.less +10 -10
  171. package/src/bootstrap/less/mixins/nav-vertical-align.less +9 -9
  172. package/src/bootstrap/less/mixins/opacity.less +8 -8
  173. package/src/bootstrap/less/mixins/pagination.less +24 -24
  174. package/src/bootstrap/less/mixins/panels.less +24 -24
  175. package/src/bootstrap/less/mixins/progress-bar.less +10 -10
  176. package/src/bootstrap/less/mixins/reset-filter.less +8 -8
  177. package/src/bootstrap/less/mixins/reset-text.less +18 -18
  178. package/src/bootstrap/less/mixins/resize.less +6 -6
  179. package/src/bootstrap/less/mixins/responsive-visibility.less +15 -15
  180. package/src/bootstrap/less/mixins/size.less +10 -10
  181. package/src/bootstrap/less/mixins/tab-focus.less +9 -9
  182. package/src/bootstrap/less/mixins/table-row.less +44 -44
  183. package/src/bootstrap/less/mixins/text-emphasis.less +9 -9
  184. package/src/bootstrap/less/mixins/text-overflow.less +8 -8
  185. package/src/bootstrap/less/mixins/vendor-prefixes.less +227 -227
  186. package/src/bootstrap/less/mixins.less +40 -40
  187. package/src/bootstrap/less/modals.less +151 -151
  188. package/src/bootstrap/less/navbar.less +660 -660
  189. package/src/bootstrap/less/normalize.less +424 -424
  190. package/src/bootstrap/less/pager.less +76 -76
  191. package/src/bootstrap/less/pagination.less +89 -89
  192. package/src/bootstrap/less/panels.less +275 -275
  193. package/src/bootstrap/less/popovers.less +131 -131
  194. package/src/bootstrap/less/print.less +101 -101
  195. package/src/bootstrap/less/progress-bars.less +87 -87
  196. package/src/bootstrap/less/responsive-embed.less +35 -35
  197. package/src/bootstrap/less/responsive-utilities.less +194 -194
  198. package/src/bootstrap/less/scaffolding.less +161 -161
  199. package/src/bootstrap/less/theme.less +291 -291
  200. package/src/bootstrap/less/thumbnails.less +36 -36
  201. package/src/bootstrap/less/tooltip.less +102 -102
  202. package/src/bootstrap/less/type.less +303 -303
  203. package/src/bootstrap/less/utilities.less +55 -55
  204. package/src/bootstrap/less/wells.less +29 -29
  205. package/src/components/FileUpload.vue +696 -696
  206. package/src/components/Hello.vue +39 -39
  207. package/src/components/LeftTree.vue +27 -27
  208. package/src/components/android/AddGas.vue +147 -147
  209. package/src/components/android/AddressList.vue +61 -61
  210. package/src/components/android/AttendanceTally.vue +116 -116
  211. package/src/components/android/Blank.vue +10 -10
  212. package/src/components/android/CheckUnplanPage.vue +56 -56
  213. package/src/components/android/Checker.vue +12 -12
  214. package/src/components/android/CheckerAnnual.vue +81 -81
  215. package/src/components/android/CheckerAvarta.vue +82 -82
  216. package/src/components/android/CheckerMonthly.vue +84 -84
  217. package/src/components/android/EquipmentInspection.vue +348 -348
  218. package/src/components/android/FootprintMap.vue +120 -120
  219. package/src/components/android/HiddentroubleInvestigation.vue +192 -192
  220. package/src/components/android/LcheckUnplan.vue +108 -108
  221. package/src/components/android/MasterMain.vue +77 -77
  222. package/src/components/android/Menu.vue +132 -132
  223. package/src/components/android/NavBottom.vue +157 -157
  224. package/src/components/android/PaperAlarm.vue +85 -85
  225. package/src/components/android/PaperDeviceNoncivil.vue +214 -214
  226. package/src/components/android/PlumberAnnual.vue +83 -83
  227. package/src/components/android/PlumberAnnualDetail.vue +65 -65
  228. package/src/components/android/PlumberMonthly.vue +84 -84
  229. package/src/components/android/PostMap.vue +83 -83
  230. package/src/components/android/QueryCheckHistory.vue +122 -122
  231. package/src/components/android/QueryCheckHistoryItem.vue +62 -62
  232. package/src/components/android/RepairMain.vue +60 -60
  233. package/src/components/android/Repairman.vue +12 -12
  234. package/src/components/android/SafecheckDevices.vue +1296 -1296
  235. package/src/components/android/StationMaster.vue +12 -12
  236. package/src/components/checkerphonestate/Checker.vue +32 -32
  237. package/src/components/checkerphonestate/CheckerState.vue +97 -97
  238. package/src/components/defects/AddDefectModal.vue +120 -120
  239. package/src/components/defects/AddDevice.vue +95 -95
  240. package/src/components/defects/DefectModal.vue +101 -101
  241. package/src/components/defects/DevicesAndItem.vue +39 -39
  242. package/src/components/defects/DevicesSeting.vue +106 -106
  243. package/src/components/issueplan/IssuePlanMain.vue +23 -23
  244. package/src/components/metterfiles/AddUserfiles.vue +246 -246
  245. package/src/components/metterfiles/MetterFiles.vue +104 -104
  246. package/src/components/notice/NoticeForm.vue +100 -100
  247. package/src/components/notice/NoticeIssue.vue +20 -20
  248. package/src/components/notice/NoticeQuery.vue +76 -76
  249. package/src/components/paper/PicViewer.vue +18 -18
  250. package/src/components/paper/PlanChooser.vue +167 -165
  251. package/src/components/paper/RepairVerifyForm.vue +76 -76
  252. package/src/components/phonestate/DailyTraffic.vue +57 -57
  253. package/src/components/phonestate/LastKnownState.vue +74 -74
  254. package/src/components/phonestate/MonthlyTraffic.vue +66 -66
  255. package/src/components/phonestate/MonthlyTrafficRouter.vue +15 -15
  256. package/src/components/phonestate/PostMap.vue +82 -82
  257. package/src/components/planmanage/PlanManage.vue +836 -834
  258. package/src/components/querycheckpaper/PaperItem.vue +59 -59
  259. package/src/components/task/RepairAnnual.vue +79 -79
  260. package/src/components/task/RepairAnnualDetail.vue +49 -49
  261. package/src/components/task/RepairMonthly.vue +91 -91
  262. package/src/components/task/TaskAnnual.vue +77 -77
  263. package/src/components/task/TaskAnnualDetail.vue +47 -47
  264. package/src/components/task/TaskMonthly.vue +89 -89
  265. package/src/components/userfile/MeterFile.vue +145 -145
  266. package/src/components/userfile/MeterModify.vue +46 -46
  267. package/src/components/userfile/UserFile.vue +118 -118
  268. package/src/components/userfile/UserfileChange.vue +277 -277
  269. package/src/components/userfileaudit/MeterAuditFile.vue +129 -129
  270. package/src/filiale/liaoyuan/pc/checkPlanList.vue +373 -0
  271. package/src/filiale/liaoyuan/pc.js +18 -17
  272. package/src/filiale/rongchuang/android/SafecheckOrderV.vue +2692 -2692
  273. package/src/filiale/tianke/pc/checkScreen.vue +780 -780
  274. package/src/filiale/weinan/android/SafecheckDevices.vue +1295 -1295
  275. package/src/filiale/yangchunboneng/android/SafecheckDevices.vue +1332 -1332
  276. package/src/filiale/yangchunboneng/pc/CheckBookList.vue +347 -347
  277. package/src/filiale/yangchunboneng/pc/CheckBookUser.vue +269 -269
  278. package/src/filiale/yangchunboneng/pc/CheckSearchUser.vue +1192 -1192
  279. package/src/filiale/yongzhou/android/SafecheckOrderV.vue +2774 -2774
  280. package/src/filiale/yongzhou/pc/PaperDefectMain.vue +872 -872
  281. package/src/filiale/yongzhou/pc/SelectCheckPlan.vue +364 -364
  282. package/src/filiale/yongzhou/pc/communityTypeDetailG.vue +138 -138
  283. package/src/main.js +33 -33
  284. package/src/plugins/LoadData.js +10 -10
  285. package/src/plugins/LoadParams.js +24 -24
  286. package/src/stores/wxconfig.js +10 -10
  287. package/src/utils/getNowDate.js +33 -33
  288. package/test/e2e/custom-assertions/elementCount.js +26 -26
  289. package/test/e2e/nightwatch.conf.js +40 -40
  290. package/test/e2e/runner.js +30 -30
  291. package/test/e2e/specs/test.js +13 -13
  292. package/test/unit/.eslintrc +5 -5
  293. package/test/unit/TestUtil.js +62 -62
  294. package/test/unit/context.html +20 -20
  295. package/test/unit/index.js +13 -13
@@ -1,626 +1,626 @@
1
- //
2
- // Forms
3
- // --------------------------------------------------
4
-
5
-
6
- // Normalize non-controls
7
- //
8
- // Restyle and baseline non-control form elements.
9
-
10
- fieldset {
11
- padding: 0;
12
- margin: 0;
13
- border: 0;
14
- // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
15
- // so we reset that to ensure it behaves more like a standard block element.
16
- // See https://github.com/twbs/bootstrap/issues/12359.
17
- min-width: 0;
18
- }
19
-
20
- legend {
21
- display: block;
22
- width: 100%;
23
- padding: 0;
24
- margin-bottom: @line-height-computed;
25
- font-size: (@font-size-base * 1.5);
26
- line-height: inherit;
27
- color: @legend-color;
28
- border: 0;
29
- border-bottom: 1px solid @legend-border-color;
30
- }
31
-
32
- label {
33
- display: inline-block;
34
- max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
35
- margin-bottom: 7px; // 原本为5px
36
- font-weight: bold;
37
- // 原本没有,自己添加
38
- text-align: right;
39
- padding-right: 10px;
40
- // padding-top: 7px;// 为了label的内同人个form-control中的内容对齐设置
41
- }
42
-
43
-
44
- // Normalize form controls
45
- //
46
- // While most of our form styles require extra classes, some basic normalization
47
- // is required to ensure optimum display with or without those classes to better
48
- // address browser inconsistencies.
49
-
50
- // Override content-box in Normalize (* isn't specific enough)
51
- input[type="search"] {
52
- .box-sizing(border-box);
53
- }
54
-
55
- // Position radios and checkboxes better
56
- input[type="radio"],
57
- input[type="checkbox"] {
58
- margin: 4px 0 0;
59
- margin-top: 1px \9; // IE8-9
60
- line-height: normal;
61
- }
62
-
63
- input[type="file"] {
64
- display: block;
65
- }
66
-
67
- // Make range inputs behave like textual form controls
68
- input[type="range"] {
69
- display: block;
70
- width: 100%;
71
- }
72
-
73
- // Make multiple select elements height not fixed
74
- select[multiple],
75
- select[size] {
76
- height: auto;
77
- }
78
-
79
- // Focus for file, radio, and checkbox
80
- input[type="file"]:focus,
81
- input[type="radio"]:focus,
82
- input[type="checkbox"]:focus {
83
- .tab-focus();
84
- }
85
-
86
- // Adjust output element
87
- output {
88
- display: block;
89
- padding-top: (@padding-base-vertical + 1);
90
- font-size: @font-size-base;
91
- line-height: @line-height-base;
92
- color: @input-color;
93
- }
94
-
95
-
96
- // Common form controls
97
- //
98
- // Shared size and type resets for form controls. Apply `.form-control` to any
99
- // of the following form controls:
100
- //
101
- // select
102
- // textarea
103
- // input[type="text"]
104
- // input[type="password"]
105
- // input[type="datetime"]
106
- // input[type="datetime-local"]
107
- // input[type="date"]
108
- // input[type="month"]
109
- // input[type="time"]
110
- // input[type="week"]
111
- // input[type="number"]
112
- // input[type="email"]
113
- // input[type="url"]
114
- // input[type="search"]
115
- // input[type="tel"]
116
- // input[type="color"]
117
-
118
- .form-control {
119
- // contom style 自己添加
120
- height: auto;
121
- outline: none;
122
- border: 1px solid #93B2D3;
123
- // border-bottom: 2px solid #C9CCCF;
124
- // border-top-width: 0px;
125
- // border-left-width: 0px;
126
- // border-right-width: 0px;
127
- // margin-right: 5px;
128
- // // 一下是原本就有的
129
- display: block;
130
- width: 100%;
131
- // height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
132
- padding: @padding-base-vertical @padding-base-horizontal;
133
- font-size: @font-size-base;
134
- line-height: @line-height-base;
135
- color: @input-color;
136
- // // background-color: @input-bg;
137
- // background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
138
- // border: 0px solid @input-border; // 原本为1px
139
- // // border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
140
- // .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
141
- .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
142
-
143
- // Customize the `:focus` state to imitate native WebKit styles.
144
- .form-control-focus();
145
-
146
- // Placeholder
147
- .placeholder();
148
-
149
- // Disabled and read-only inputs
150
- //
151
- // HTML5 says that controls under a fieldset > legend:first-child won't be
152
- // disabled if the fieldset is disabled. Due to implementation difficulty, we
153
- // don't honor that edge case; we style them as disabled anyway.
154
- &[disabled],
155
- &[readonly],
156
- fieldset[disabled] & {
157
- background-color: @input-bg-disabled;
158
- opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
159
- }
160
-
161
- &[disabled],
162
- fieldset[disabled] & {
163
- cursor: @cursor-disabled;
164
- border: none;
165
- }
166
-
167
- // Reset height for `textarea`s
168
- textarea& {
169
- height: auto;
170
- }
171
- }
172
-
173
-
174
- // Search inputs in iOS
175
- //
176
- // This overrides the extra rounded corners on search inputs in iOS so that our
177
- // `.form-control` class can properly style them. Note that this cannot simply
178
- // be added to `.form-control` as it's not specific enough. For details, see
179
- // https://github.com/twbs/bootstrap/issues/11586.
180
-
181
- input[type="search"] {
182
- -webkit-appearance: none;
183
- }
184
-
185
-
186
- // Special styles for iOS temporal inputs
187
- //
188
- // In Mobile Safari, setting `display: block` on temporal inputs causes the
189
- // text within the input to become vertically misaligned. As a workaround, we
190
- // set a pixel line-height that matches the given height of the input, but only
191
- // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
192
- //
193
- // Note that as of 8.3, iOS doesn't support `datetime` or `week`.
194
-
195
- @media screen and (-webkit-min-device-pixel-ratio: 0) {
196
- input[type="date"],
197
- input[type="time"],
198
- input[type="datetime-local"],
199
- input[type="month"] {
200
- &.form-control {
201
- line-height: @input-height-base;
202
- }
203
-
204
- &.input-sm,
205
- .input-group-sm & {
206
- line-height: @input-height-small;
207
- }
208
-
209
- &.input-lg,
210
- .input-group-lg & {
211
- line-height: @input-height-large;
212
- }
213
- }
214
- }
215
-
216
-
217
- // Form groups
218
- //
219
- // Designed to help with the organization and spacing of vertical forms. For
220
- // horizontal forms, use the predefined grid classes.
221
-
222
- .form-group {
223
- margin-bottom: @form-group-margin-bottom;
224
- margin-right: @form-group-margin-bottom;
225
- }
226
-
227
-
228
- // Checkboxes and radios
229
- //
230
- // Indent the labels to position radios/checkboxes as hanging controls.
231
-
232
- .radio,
233
- .checkbox {
234
- position: relative;
235
- display: block;
236
- margin-top: 10px;
237
- margin-bottom: 10px;
238
- label {
239
- min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
240
- padding-left: 20px;
241
- margin-bottom: 0;
242
- font-weight: normal;
243
- cursor: pointer;
244
- color: black;
245
- }
246
- }
247
- .radio input[type="radio"],
248
- .radio-inline input[type="radio"],
249
- .checkbox input[type="checkbox"],
250
- .checkbox-inline input[type="checkbox"] {
251
- position: absolute;
252
- margin-left: -20px;
253
- margin-top: 4px \9;
254
- }
255
-
256
- .radio + .radio,
257
- .checkbox + .checkbox {
258
- margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
259
- }
260
-
261
- // Radios and checkboxes on same line
262
- .radio-inline,
263
- .checkbox-inline {
264
- position: relative;
265
- display: inline-block;
266
- padding-left: 20px;
267
- margin-bottom: 0;
268
- vertical-align: middle;
269
- font-weight: normal;
270
- cursor: pointer;
271
- }
272
- .radio-inline + .radio-inline,
273
- .checkbox-inline + .checkbox-inline {
274
- margin-top: 0;
275
- margin-left: 10px; // space out consecutive inline controls
276
- }
277
-
278
- // Apply same disabled cursor tweak as for inputs
279
- // Some special care is needed because <label>s don't inherit their parent's `cursor`.
280
- //
281
- // Note: Neither radios nor checkboxes can be readonly.
282
- input[type="radio"],
283
- input[type="checkbox"] {
284
- &[disabled],
285
- &.disabled,
286
- fieldset[disabled] & {
287
- cursor: @cursor-disabled;
288
- }
289
- }
290
- // These classes are used directly on <label>s
291
- .radio-inline,
292
- .checkbox-inline {
293
- &.disabled,
294
- fieldset[disabled] & {
295
- cursor: @cursor-disabled;
296
- }
297
- }
298
- // These classes are used on elements with <label> descendants
299
- .radio,
300
- .checkbox {
301
- &.disabled,
302
- fieldset[disabled] & {
303
- label {
304
- cursor: @cursor-disabled;
305
- }
306
- }
307
- }
308
-
309
-
310
- // Static form control text
311
- //
312
- // Apply class to a `p` element to make any string of text align with labels in
313
- // a horizontal form layout.
314
-
315
- .form-control-static {
316
- // Size it appropriately next to real form controls
317
- padding-top: (@padding-base-vertical + 1);
318
- padding-bottom: (@padding-base-vertical + 1);
319
- // Remove default margin from `p`
320
- margin-bottom: 0;
321
- min-height: (@line-height-computed + @font-size-base);
322
-
323
- &.input-lg,
324
- &.input-sm {
325
- padding-left: 0;
326
- padding-right: 0;
327
- }
328
- }
329
-
330
-
331
- // Form control sizing
332
- //
333
- // Build on `.form-control` with modifier classes to decrease or increase the
334
- // height and font-size of form controls.
335
- //
336
- // The `.form-group-* form-control` variations are sadly duplicated to avoid the
337
- // issue documented in https://github.com/twbs/bootstrap/issues/15074.
338
-
339
- .input-sm {
340
- .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
341
- }
342
- .form-group-sm {
343
- .form-control {
344
- height: @input-height-small;
345
- padding: @padding-small-vertical @padding-small-horizontal;
346
- font-size: @font-size-small;
347
- line-height: @line-height-small;
348
- border-radius: @input-border-radius-small;
349
- }
350
- select.form-control {
351
- height: @input-height-small;
352
- line-height: @input-height-small;
353
- }
354
- textarea.form-control,
355
- select[multiple].form-control {
356
- height: auto;
357
- }
358
- .form-control-static {
359
- height: @input-height-small;
360
- min-height: (@line-height-computed + @font-size-small);
361
- padding: (@padding-small-vertical + 1) @padding-small-horizontal;
362
- font-size: @font-size-small;
363
- line-height: @line-height-small;
364
- }
365
- }
366
-
367
- .input-lg {
368
- .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
369
- }
370
- .form-group-lg {
371
- .form-control {
372
- height: @input-height-large;
373
- padding: @padding-large-vertical @padding-large-horizontal;
374
- font-size: @font-size-large;
375
- line-height: @line-height-large;
376
- border-radius: @input-border-radius-large;
377
- }
378
- select.form-control {
379
- height: @input-height-large;
380
- line-height: @input-height-large;
381
- }
382
- textarea.form-control,
383
- select[multiple].form-control {
384
- height: auto;
385
- }
386
- .form-control-static {
387
- height: @input-height-large;
388
- min-height: (@line-height-computed + @font-size-large);
389
- padding: (@padding-large-vertical + 1) @padding-large-horizontal;
390
- font-size: @font-size-large;
391
- line-height: @line-height-large;
392
- }
393
- }
394
-
395
-
396
- // Form control feedback states
397
- //
398
- // Apply contextual and semantic states to individual form controls.
399
-
400
- .has-feedback {
401
- // Enable absolute positioning
402
- position: relative;
403
-
404
- // Ensure icons don't overlap text
405
- .form-control {
406
- padding-right: (@input-height-base * 1.25);
407
- }
408
- }
409
- // Feedback icon (requires .glyphicon classes)
410
- .form-control-feedback {
411
- position: absolute;
412
- top: 0;
413
- right: 0;
414
- z-index: 2; // Ensure icon is above input groups
415
- display: block;
416
- width: @input-height-base;
417
- height: @input-height-base;
418
- line-height: @input-height-base;
419
- text-align: center;
420
- pointer-events: none;
421
- }
422
- .input-lg + .form-control-feedback,
423
- .input-group-lg + .form-control-feedback,
424
- .form-group-lg .form-control + .form-control-feedback {
425
- width: @input-height-large;
426
- height: @input-height-large;
427
- line-height: @input-height-large;
428
- }
429
- .input-sm + .form-control-feedback,
430
- .input-group-sm + .form-control-feedback,
431
- .form-group-sm .form-control + .form-control-feedback {
432
- width: @input-height-small;
433
- height: @input-height-small;
434
- line-height: @input-height-small;
435
- }
436
-
437
- // Feedback states
438
- .has-success {
439
- .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
440
- }
441
- .has-warning {
442
- .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);
443
- }
444
- .has-error {
445
- .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
446
- }
447
-
448
- // Reposition feedback icon if input has visible label above
449
- .has-feedback label {
450
-
451
- & ~ .form-control-feedback {
452
- top: (@line-height-computed + 5); // Height of the `label` and its margin
453
- }
454
- &.sr-only ~ .form-control-feedback {
455
- top: 0;
456
- }
457
- }
458
-
459
-
460
- // Help text
461
- //
462
- // Apply to any element you wish to create light text for placement immediately
463
- // below a form control. Use for general help, formatting, or instructional text.
464
-
465
- .help-block {
466
- display: block; // account for any element using help-block
467
- margin-top: 5px;
468
- margin-bottom: 10px;
469
- color: lighten(@text-color, 25%); // lighten the text some for contrast
470
- }
471
-
472
-
473
- // Inline forms
474
- //
475
- // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
476
- // forms begin stacked on extra small (mobile) devices and then go inline when
477
- // viewports reach <768px.
478
- //
479
- // Requires wrapping inputs and labels with `.form-group` for proper display of
480
- // default HTML form controls and our custom form controls (e.g., input groups).
481
- //
482
- // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
483
-
484
- .form-inline {
485
-
486
- // Kick in the inline
487
- @media (min-width: @screen-sm-min) {
488
- // Inline-block all the things for "inline"
489
- .form-group {
490
- display: inline-block;
491
- margin-bottom: 10px; // 原本是0px
492
- margin-right: 10px; // 原本是0px
493
- vertical-align: middle;
494
- //原本没有,因为字体变为白色,所以加了black
495
- color: black;
496
- }
497
-
498
- // In navbar-form, allow folks to *not* use `.form-group`
499
- .form-control {
500
- display: inline-block;
501
- width: auto; // Prevent labels from stacking above inputs in `.form-group`
502
- vertical-align: middle;
503
- }
504
-
505
- // Make static controls behave like regular ones
506
- .form-control-static {
507
- display: inline-block;
508
- }
509
-
510
- .input-group {
511
- display: inline-table;
512
- vertical-align: middle;
513
-
514
- .input-group-addon,
515
- .input-group-btn,
516
- .form-control {
517
- width: auto;
518
- }
519
- }
520
-
521
- // Input groups need that 100% width though
522
- .input-group > .form-control {
523
- width: 100%;
524
- }
525
-
526
- .control-label {
527
- margin-bottom: 0;
528
- vertical-align: middle;
529
- }
530
-
531
- // Remove default margin on radios/checkboxes that were used for stacking, and
532
- // then undo the floating of radios and checkboxes to match.
533
- .radio,
534
- .checkbox {
535
- display: inline-block;
536
- margin-top: 0;
537
- margin-bottom: 0;
538
- vertical-align: middle;
539
-
540
- label {
541
- padding-left: 0;
542
- }
543
- }
544
- .radio input[type="radio"],
545
- .checkbox input[type="checkbox"] {
546
- position: relative;
547
- margin-left: 0;
548
- }
549
-
550
- // Re-override the feedback icon.
551
- .has-feedback .form-control-feedback {
552
- top: 0;
553
- }
554
- }
555
- }
556
-
557
-
558
- // Horizontal forms
559
- //
560
- // Horizontal forms are built on grid classes and allow you to create forms with
561
- // labels on the left and inputs on the right.
562
-
563
- .form-horizontal {
564
-
565
- // Consistent vertical alignment of radios and checkboxes
566
- //
567
- // Labels also get some reset styles, but that is scoped to a media query below.
568
- .radio,
569
- .checkbox,
570
- .radio-inline,
571
- .checkbox-inline {
572
- margin-top: 0;
573
- margin-bottom: 0;
574
- padding-top: (@padding-base-vertical + 1); // Default padding plus a border
575
- }
576
- // Account for padding we're adding to ensure the alignment and of help text
577
- // and other content below items
578
- .radio,
579
- .checkbox {
580
- min-height: (@line-height-computed + (@padding-base-vertical + 1));
581
- }
582
-
583
- // Make form groups behave like rows
584
- .form-group {
585
- .make-row();
586
- }
587
-
588
- // Reset spacing and right align labels, but scope to media queries so that
589
- // labels on narrow viewports stack the same as a default form example.
590
- @media (min-width: @screen-sm-min) {
591
- .control-label {
592
- text-align: right;
593
- margin-bottom: 0;
594
- padding-top: (@padding-base-vertical + 1); // Default padding plus a border
595
- }
596
- }
597
-
598
- // Validation states
599
- //
600
- // Reposition the icon because it's now within a grid column and columns have
601
- // `position: relative;` on them. Also accounts for the grid gutter padding.
602
- .has-feedback .form-control-feedback {
603
- right: floor((@grid-gutter-width / 2));
604
- }
605
-
606
- // Form group sizes
607
- //
608
- // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
609
- // inputs and labels within a `.form-group`.
610
- .form-group-lg {
611
- @media (min-width: @screen-sm-min) {
612
- .control-label {
613
- padding-top: ((@padding-large-vertical * @line-height-large) + 1);
614
- font-size: @font-size-large;
615
- }
616
- }
617
- }
618
- .form-group-sm {
619
- @media (min-width: @screen-sm-min) {
620
- .control-label {
621
- padding-top: (@padding-small-vertical + 1);
622
- font-size: @font-size-small;
623
- }
624
- }
625
- }
626
- }
1
+ //
2
+ // Forms
3
+ // --------------------------------------------------
4
+
5
+
6
+ // Normalize non-controls
7
+ //
8
+ // Restyle and baseline non-control form elements.
9
+
10
+ fieldset {
11
+ padding: 0;
12
+ margin: 0;
13
+ border: 0;
14
+ // Chrome and Firefox set a `min-width: min-content;` on fieldsets,
15
+ // so we reset that to ensure it behaves more like a standard block element.
16
+ // See https://github.com/twbs/bootstrap/issues/12359.
17
+ min-width: 0;
18
+ }
19
+
20
+ legend {
21
+ display: block;
22
+ width: 100%;
23
+ padding: 0;
24
+ margin-bottom: @line-height-computed;
25
+ font-size: (@font-size-base * 1.5);
26
+ line-height: inherit;
27
+ color: @legend-color;
28
+ border: 0;
29
+ border-bottom: 1px solid @legend-border-color;
30
+ }
31
+
32
+ label {
33
+ display: inline-block;
34
+ max-width: 100%; // Force IE8 to wrap long content (see https://github.com/twbs/bootstrap/issues/13141)
35
+ margin-bottom: 7px; // 原本为5px
36
+ font-weight: bold;
37
+ // 原本没有,自己添加
38
+ text-align: right;
39
+ padding-right: 10px;
40
+ // padding-top: 7px;// 为了label的内同人个form-control中的内容对齐设置
41
+ }
42
+
43
+
44
+ // Normalize form controls
45
+ //
46
+ // While most of our form styles require extra classes, some basic normalization
47
+ // is required to ensure optimum display with or without those classes to better
48
+ // address browser inconsistencies.
49
+
50
+ // Override content-box in Normalize (* isn't specific enough)
51
+ input[type="search"] {
52
+ .box-sizing(border-box);
53
+ }
54
+
55
+ // Position radios and checkboxes better
56
+ input[type="radio"],
57
+ input[type="checkbox"] {
58
+ margin: 4px 0 0;
59
+ margin-top: 1px \9; // IE8-9
60
+ line-height: normal;
61
+ }
62
+
63
+ input[type="file"] {
64
+ display: block;
65
+ }
66
+
67
+ // Make range inputs behave like textual form controls
68
+ input[type="range"] {
69
+ display: block;
70
+ width: 100%;
71
+ }
72
+
73
+ // Make multiple select elements height not fixed
74
+ select[multiple],
75
+ select[size] {
76
+ height: auto;
77
+ }
78
+
79
+ // Focus for file, radio, and checkbox
80
+ input[type="file"]:focus,
81
+ input[type="radio"]:focus,
82
+ input[type="checkbox"]:focus {
83
+ .tab-focus();
84
+ }
85
+
86
+ // Adjust output element
87
+ output {
88
+ display: block;
89
+ padding-top: (@padding-base-vertical + 1);
90
+ font-size: @font-size-base;
91
+ line-height: @line-height-base;
92
+ color: @input-color;
93
+ }
94
+
95
+
96
+ // Common form controls
97
+ //
98
+ // Shared size and type resets for form controls. Apply `.form-control` to any
99
+ // of the following form controls:
100
+ //
101
+ // select
102
+ // textarea
103
+ // input[type="text"]
104
+ // input[type="password"]
105
+ // input[type="datetime"]
106
+ // input[type="datetime-local"]
107
+ // input[type="date"]
108
+ // input[type="month"]
109
+ // input[type="time"]
110
+ // input[type="week"]
111
+ // input[type="number"]
112
+ // input[type="email"]
113
+ // input[type="url"]
114
+ // input[type="search"]
115
+ // input[type="tel"]
116
+ // input[type="color"]
117
+
118
+ .form-control {
119
+ // contom style 自己添加
120
+ height: auto;
121
+ outline: none;
122
+ border: 1px solid #93B2D3;
123
+ // border-bottom: 2px solid #C9CCCF;
124
+ // border-top-width: 0px;
125
+ // border-left-width: 0px;
126
+ // border-right-width: 0px;
127
+ // margin-right: 5px;
128
+ // // 一下是原本就有的
129
+ display: block;
130
+ width: 100%;
131
+ // height: @input-height-base; // Make inputs at least the height of their button counterpart (base line-height + padding + border)
132
+ padding: @padding-base-vertical @padding-base-horizontal;
133
+ font-size: @font-size-base;
134
+ line-height: @line-height-base;
135
+ color: @input-color;
136
+ // // background-color: @input-bg;
137
+ // background-image: none; // Reset unusual Firefox-on-Android default style; see https://github.com/necolas/normalize.css/issues/214
138
+ // border: 0px solid @input-border; // 原本为1px
139
+ // // border-radius: @input-border-radius; // Note: This has no effect on <select>s in some browsers, due to the limited stylability of <select>s in CSS.
140
+ // .box-shadow(inset 0 1px 1px rgba(0,0,0,.075));
141
+ .transition(~"border-color ease-in-out .15s, box-shadow ease-in-out .15s");
142
+
143
+ // Customize the `:focus` state to imitate native WebKit styles.
144
+ .form-control-focus();
145
+
146
+ // Placeholder
147
+ .placeholder();
148
+
149
+ // Disabled and read-only inputs
150
+ //
151
+ // HTML5 says that controls under a fieldset > legend:first-child won't be
152
+ // disabled if the fieldset is disabled. Due to implementation difficulty, we
153
+ // don't honor that edge case; we style them as disabled anyway.
154
+ &[disabled],
155
+ &[readonly],
156
+ fieldset[disabled] & {
157
+ background-color: @input-bg-disabled;
158
+ opacity: 1; // iOS fix for unreadable disabled content; see https://github.com/twbs/bootstrap/issues/11655
159
+ }
160
+
161
+ &[disabled],
162
+ fieldset[disabled] & {
163
+ cursor: @cursor-disabled;
164
+ border: none;
165
+ }
166
+
167
+ // Reset height for `textarea`s
168
+ textarea& {
169
+ height: auto;
170
+ }
171
+ }
172
+
173
+
174
+ // Search inputs in iOS
175
+ //
176
+ // This overrides the extra rounded corners on search inputs in iOS so that our
177
+ // `.form-control` class can properly style them. Note that this cannot simply
178
+ // be added to `.form-control` as it's not specific enough. For details, see
179
+ // https://github.com/twbs/bootstrap/issues/11586.
180
+
181
+ input[type="search"] {
182
+ -webkit-appearance: none;
183
+ }
184
+
185
+
186
+ // Special styles for iOS temporal inputs
187
+ //
188
+ // In Mobile Safari, setting `display: block` on temporal inputs causes the
189
+ // text within the input to become vertically misaligned. As a workaround, we
190
+ // set a pixel line-height that matches the given height of the input, but only
191
+ // for Safari. See https://bugs.webkit.org/show_bug.cgi?id=139848
192
+ //
193
+ // Note that as of 8.3, iOS doesn't support `datetime` or `week`.
194
+
195
+ @media screen and (-webkit-min-device-pixel-ratio: 0) {
196
+ input[type="date"],
197
+ input[type="time"],
198
+ input[type="datetime-local"],
199
+ input[type="month"] {
200
+ &.form-control {
201
+ line-height: @input-height-base;
202
+ }
203
+
204
+ &.input-sm,
205
+ .input-group-sm & {
206
+ line-height: @input-height-small;
207
+ }
208
+
209
+ &.input-lg,
210
+ .input-group-lg & {
211
+ line-height: @input-height-large;
212
+ }
213
+ }
214
+ }
215
+
216
+
217
+ // Form groups
218
+ //
219
+ // Designed to help with the organization and spacing of vertical forms. For
220
+ // horizontal forms, use the predefined grid classes.
221
+
222
+ .form-group {
223
+ margin-bottom: @form-group-margin-bottom;
224
+ margin-right: @form-group-margin-bottom;
225
+ }
226
+
227
+
228
+ // Checkboxes and radios
229
+ //
230
+ // Indent the labels to position radios/checkboxes as hanging controls.
231
+
232
+ .radio,
233
+ .checkbox {
234
+ position: relative;
235
+ display: block;
236
+ margin-top: 10px;
237
+ margin-bottom: 10px;
238
+ label {
239
+ min-height: @line-height-computed; // Ensure the input doesn't jump when there is no text
240
+ padding-left: 20px;
241
+ margin-bottom: 0;
242
+ font-weight: normal;
243
+ cursor: pointer;
244
+ color: black;
245
+ }
246
+ }
247
+ .radio input[type="radio"],
248
+ .radio-inline input[type="radio"],
249
+ .checkbox input[type="checkbox"],
250
+ .checkbox-inline input[type="checkbox"] {
251
+ position: absolute;
252
+ margin-left: -20px;
253
+ margin-top: 4px \9;
254
+ }
255
+
256
+ .radio + .radio,
257
+ .checkbox + .checkbox {
258
+ margin-top: -5px; // Move up sibling radios or checkboxes for tighter spacing
259
+ }
260
+
261
+ // Radios and checkboxes on same line
262
+ .radio-inline,
263
+ .checkbox-inline {
264
+ position: relative;
265
+ display: inline-block;
266
+ padding-left: 20px;
267
+ margin-bottom: 0;
268
+ vertical-align: middle;
269
+ font-weight: normal;
270
+ cursor: pointer;
271
+ }
272
+ .radio-inline + .radio-inline,
273
+ .checkbox-inline + .checkbox-inline {
274
+ margin-top: 0;
275
+ margin-left: 10px; // space out consecutive inline controls
276
+ }
277
+
278
+ // Apply same disabled cursor tweak as for inputs
279
+ // Some special care is needed because <label>s don't inherit their parent's `cursor`.
280
+ //
281
+ // Note: Neither radios nor checkboxes can be readonly.
282
+ input[type="radio"],
283
+ input[type="checkbox"] {
284
+ &[disabled],
285
+ &.disabled,
286
+ fieldset[disabled] & {
287
+ cursor: @cursor-disabled;
288
+ }
289
+ }
290
+ // These classes are used directly on <label>s
291
+ .radio-inline,
292
+ .checkbox-inline {
293
+ &.disabled,
294
+ fieldset[disabled] & {
295
+ cursor: @cursor-disabled;
296
+ }
297
+ }
298
+ // These classes are used on elements with <label> descendants
299
+ .radio,
300
+ .checkbox {
301
+ &.disabled,
302
+ fieldset[disabled] & {
303
+ label {
304
+ cursor: @cursor-disabled;
305
+ }
306
+ }
307
+ }
308
+
309
+
310
+ // Static form control text
311
+ //
312
+ // Apply class to a `p` element to make any string of text align with labels in
313
+ // a horizontal form layout.
314
+
315
+ .form-control-static {
316
+ // Size it appropriately next to real form controls
317
+ padding-top: (@padding-base-vertical + 1);
318
+ padding-bottom: (@padding-base-vertical + 1);
319
+ // Remove default margin from `p`
320
+ margin-bottom: 0;
321
+ min-height: (@line-height-computed + @font-size-base);
322
+
323
+ &.input-lg,
324
+ &.input-sm {
325
+ padding-left: 0;
326
+ padding-right: 0;
327
+ }
328
+ }
329
+
330
+
331
+ // Form control sizing
332
+ //
333
+ // Build on `.form-control` with modifier classes to decrease or increase the
334
+ // height and font-size of form controls.
335
+ //
336
+ // The `.form-group-* form-control` variations are sadly duplicated to avoid the
337
+ // issue documented in https://github.com/twbs/bootstrap/issues/15074.
338
+
339
+ .input-sm {
340
+ .input-size(@input-height-small; @padding-small-vertical; @padding-small-horizontal; @font-size-small; @line-height-small; @input-border-radius-small);
341
+ }
342
+ .form-group-sm {
343
+ .form-control {
344
+ height: @input-height-small;
345
+ padding: @padding-small-vertical @padding-small-horizontal;
346
+ font-size: @font-size-small;
347
+ line-height: @line-height-small;
348
+ border-radius: @input-border-radius-small;
349
+ }
350
+ select.form-control {
351
+ height: @input-height-small;
352
+ line-height: @input-height-small;
353
+ }
354
+ textarea.form-control,
355
+ select[multiple].form-control {
356
+ height: auto;
357
+ }
358
+ .form-control-static {
359
+ height: @input-height-small;
360
+ min-height: (@line-height-computed + @font-size-small);
361
+ padding: (@padding-small-vertical + 1) @padding-small-horizontal;
362
+ font-size: @font-size-small;
363
+ line-height: @line-height-small;
364
+ }
365
+ }
366
+
367
+ .input-lg {
368
+ .input-size(@input-height-large; @padding-large-vertical; @padding-large-horizontal; @font-size-large; @line-height-large; @input-border-radius-large);
369
+ }
370
+ .form-group-lg {
371
+ .form-control {
372
+ height: @input-height-large;
373
+ padding: @padding-large-vertical @padding-large-horizontal;
374
+ font-size: @font-size-large;
375
+ line-height: @line-height-large;
376
+ border-radius: @input-border-radius-large;
377
+ }
378
+ select.form-control {
379
+ height: @input-height-large;
380
+ line-height: @input-height-large;
381
+ }
382
+ textarea.form-control,
383
+ select[multiple].form-control {
384
+ height: auto;
385
+ }
386
+ .form-control-static {
387
+ height: @input-height-large;
388
+ min-height: (@line-height-computed + @font-size-large);
389
+ padding: (@padding-large-vertical + 1) @padding-large-horizontal;
390
+ font-size: @font-size-large;
391
+ line-height: @line-height-large;
392
+ }
393
+ }
394
+
395
+
396
+ // Form control feedback states
397
+ //
398
+ // Apply contextual and semantic states to individual form controls.
399
+
400
+ .has-feedback {
401
+ // Enable absolute positioning
402
+ position: relative;
403
+
404
+ // Ensure icons don't overlap text
405
+ .form-control {
406
+ padding-right: (@input-height-base * 1.25);
407
+ }
408
+ }
409
+ // Feedback icon (requires .glyphicon classes)
410
+ .form-control-feedback {
411
+ position: absolute;
412
+ top: 0;
413
+ right: 0;
414
+ z-index: 2; // Ensure icon is above input groups
415
+ display: block;
416
+ width: @input-height-base;
417
+ height: @input-height-base;
418
+ line-height: @input-height-base;
419
+ text-align: center;
420
+ pointer-events: none;
421
+ }
422
+ .input-lg + .form-control-feedback,
423
+ .input-group-lg + .form-control-feedback,
424
+ .form-group-lg .form-control + .form-control-feedback {
425
+ width: @input-height-large;
426
+ height: @input-height-large;
427
+ line-height: @input-height-large;
428
+ }
429
+ .input-sm + .form-control-feedback,
430
+ .input-group-sm + .form-control-feedback,
431
+ .form-group-sm .form-control + .form-control-feedback {
432
+ width: @input-height-small;
433
+ height: @input-height-small;
434
+ line-height: @input-height-small;
435
+ }
436
+
437
+ // Feedback states
438
+ .has-success {
439
+ .form-control-validation(@state-success-text; @state-success-text; @state-success-bg);
440
+ }
441
+ .has-warning {
442
+ .form-control-validation(@state-warning-text; @state-warning-text; @state-warning-bg);
443
+ }
444
+ .has-error {
445
+ .form-control-validation(@state-danger-text; @state-danger-text; @state-danger-bg);
446
+ }
447
+
448
+ // Reposition feedback icon if input has visible label above
449
+ .has-feedback label {
450
+
451
+ & ~ .form-control-feedback {
452
+ top: (@line-height-computed + 5); // Height of the `label` and its margin
453
+ }
454
+ &.sr-only ~ .form-control-feedback {
455
+ top: 0;
456
+ }
457
+ }
458
+
459
+
460
+ // Help text
461
+ //
462
+ // Apply to any element you wish to create light text for placement immediately
463
+ // below a form control. Use for general help, formatting, or instructional text.
464
+
465
+ .help-block {
466
+ display: block; // account for any element using help-block
467
+ margin-top: 5px;
468
+ margin-bottom: 10px;
469
+ color: lighten(@text-color, 25%); // lighten the text some for contrast
470
+ }
471
+
472
+
473
+ // Inline forms
474
+ //
475
+ // Make forms appear inline(-block) by adding the `.form-inline` class. Inline
476
+ // forms begin stacked on extra small (mobile) devices and then go inline when
477
+ // viewports reach <768px.
478
+ //
479
+ // Requires wrapping inputs and labels with `.form-group` for proper display of
480
+ // default HTML form controls and our custom form controls (e.g., input groups).
481
+ //
482
+ // Heads up! This is mixin-ed into `.navbar-form` in navbars.less.
483
+
484
+ .form-inline {
485
+
486
+ // Kick in the inline
487
+ @media (min-width: @screen-sm-min) {
488
+ // Inline-block all the things for "inline"
489
+ .form-group {
490
+ display: inline-block;
491
+ margin-bottom: 10px; // 原本是0px
492
+ margin-right: 10px; // 原本是0px
493
+ vertical-align: middle;
494
+ //原本没有,因为字体变为白色,所以加了black
495
+ color: black;
496
+ }
497
+
498
+ // In navbar-form, allow folks to *not* use `.form-group`
499
+ .form-control {
500
+ display: inline-block;
501
+ width: auto; // Prevent labels from stacking above inputs in `.form-group`
502
+ vertical-align: middle;
503
+ }
504
+
505
+ // Make static controls behave like regular ones
506
+ .form-control-static {
507
+ display: inline-block;
508
+ }
509
+
510
+ .input-group {
511
+ display: inline-table;
512
+ vertical-align: middle;
513
+
514
+ .input-group-addon,
515
+ .input-group-btn,
516
+ .form-control {
517
+ width: auto;
518
+ }
519
+ }
520
+
521
+ // Input groups need that 100% width though
522
+ .input-group > .form-control {
523
+ width: 100%;
524
+ }
525
+
526
+ .control-label {
527
+ margin-bottom: 0;
528
+ vertical-align: middle;
529
+ }
530
+
531
+ // Remove default margin on radios/checkboxes that were used for stacking, and
532
+ // then undo the floating of radios and checkboxes to match.
533
+ .radio,
534
+ .checkbox {
535
+ display: inline-block;
536
+ margin-top: 0;
537
+ margin-bottom: 0;
538
+ vertical-align: middle;
539
+
540
+ label {
541
+ padding-left: 0;
542
+ }
543
+ }
544
+ .radio input[type="radio"],
545
+ .checkbox input[type="checkbox"] {
546
+ position: relative;
547
+ margin-left: 0;
548
+ }
549
+
550
+ // Re-override the feedback icon.
551
+ .has-feedback .form-control-feedback {
552
+ top: 0;
553
+ }
554
+ }
555
+ }
556
+
557
+
558
+ // Horizontal forms
559
+ //
560
+ // Horizontal forms are built on grid classes and allow you to create forms with
561
+ // labels on the left and inputs on the right.
562
+
563
+ .form-horizontal {
564
+
565
+ // Consistent vertical alignment of radios and checkboxes
566
+ //
567
+ // Labels also get some reset styles, but that is scoped to a media query below.
568
+ .radio,
569
+ .checkbox,
570
+ .radio-inline,
571
+ .checkbox-inline {
572
+ margin-top: 0;
573
+ margin-bottom: 0;
574
+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
575
+ }
576
+ // Account for padding we're adding to ensure the alignment and of help text
577
+ // and other content below items
578
+ .radio,
579
+ .checkbox {
580
+ min-height: (@line-height-computed + (@padding-base-vertical + 1));
581
+ }
582
+
583
+ // Make form groups behave like rows
584
+ .form-group {
585
+ .make-row();
586
+ }
587
+
588
+ // Reset spacing and right align labels, but scope to media queries so that
589
+ // labels on narrow viewports stack the same as a default form example.
590
+ @media (min-width: @screen-sm-min) {
591
+ .control-label {
592
+ text-align: right;
593
+ margin-bottom: 0;
594
+ padding-top: (@padding-base-vertical + 1); // Default padding plus a border
595
+ }
596
+ }
597
+
598
+ // Validation states
599
+ //
600
+ // Reposition the icon because it's now within a grid column and columns have
601
+ // `position: relative;` on them. Also accounts for the grid gutter padding.
602
+ .has-feedback .form-control-feedback {
603
+ right: floor((@grid-gutter-width / 2));
604
+ }
605
+
606
+ // Form group sizes
607
+ //
608
+ // Quick utility class for applying `.input-lg` and `.input-sm` styles to the
609
+ // inputs and labels within a `.form-group`.
610
+ .form-group-lg {
611
+ @media (min-width: @screen-sm-min) {
612
+ .control-label {
613
+ padding-top: ((@padding-large-vertical * @line-height-large) + 1);
614
+ font-size: @font-size-large;
615
+ }
616
+ }
617
+ }
618
+ .form-group-sm {
619
+ @media (min-width: @screen-sm-min) {
620
+ .control-label {
621
+ padding-top: (@padding-small-vertical + 1);
622
+ font-size: @font-size-small;
623
+ }
624
+ }
625
+ }
626
+ }