Mercurial > minori
comparison dep/fmt/doc/bootstrap/input-groups.less @ 343:1faa72660932
*: transfer back to cmake from autotools
autotools just made lots of things more complicated than
they should have and many things broke (i.e. translations)
| author | Paper <paper@paper.us.eu.org> |
|---|---|
| date | Thu, 20 Jun 2024 05:56:06 -0400 |
| parents | |
| children |
comparison
equal
deleted
inserted
replaced
| 342:adb79bdde329 | 343:1faa72660932 |
|---|---|
| 1 // | |
| 2 // Input groups | |
| 3 // -------------------------------------------------- | |
| 4 | |
| 5 // Base styles | |
| 6 // ------------------------- | |
| 7 .input-group { | |
| 8 position: relative; // For dropdowns | |
| 9 display: table; | |
| 10 border-collapse: separate; // prevent input groups from inheriting border styles from table cells when placed within a table | |
| 11 | |
| 12 // Undo padding and float of grid classes | |
| 13 &[class*="col-"] { | |
| 14 float: none; | |
| 15 padding-left: 0; | |
| 16 padding-right: 0; | |
| 17 } | |
| 18 | |
| 19 .form-control { | |
| 20 // Ensure that the input is always above the *appended* addon button for | |
| 21 // proper border colors. | |
| 22 position: relative; | |
| 23 z-index: 2; | |
| 24 | |
| 25 // IE9 fubars the placeholder attribute in text inputs and the arrows on | |
| 26 // select elements in input groups. To fix it, we float the input. Details: | |
| 27 // https://github.com/twbs/bootstrap/issues/11561#issuecomment-28936855 | |
| 28 float: left; | |
| 29 | |
| 30 width: 100%; | |
| 31 margin-bottom: 0; | |
| 32 } | |
| 33 } | |
| 34 | |
| 35 // Sizing options | |
| 36 // | |
| 37 // Remix the default form control sizing classes into new ones for easier | |
| 38 // manipulation. | |
| 39 | |
| 40 .input-group-lg > .form-control, | |
| 41 .input-group-lg > .input-group-addon, | |
| 42 .input-group-lg > .input-group-btn > .btn { | |
| 43 .input-lg(); | |
| 44 } | |
| 45 .input-group-sm > .form-control, | |
| 46 .input-group-sm > .input-group-addon, | |
| 47 .input-group-sm > .input-group-btn > .btn { | |
| 48 .input-sm(); | |
| 49 } | |
| 50 | |
| 51 | |
| 52 // Display as table-cell | |
| 53 // ------------------------- | |
| 54 .input-group-addon, | |
| 55 .input-group-btn, | |
| 56 .input-group .form-control { | |
| 57 display: table-cell; | |
| 58 | |
| 59 &:not(:first-child):not(:last-child) { | |
| 60 border-radius: 0; | |
| 61 } | |
| 62 } | |
| 63 // Addon and addon wrapper for buttons | |
| 64 .input-group-addon, | |
| 65 .input-group-btn { | |
| 66 width: 1%; | |
| 67 white-space: nowrap; | |
| 68 vertical-align: middle; // Match the inputs | |
| 69 } | |
| 70 | |
| 71 // Text input groups | |
| 72 // ------------------------- | |
| 73 .input-group-addon { | |
| 74 padding: @padding-base-vertical @padding-base-horizontal; | |
| 75 font-size: @font-size-base; | |
| 76 font-weight: normal; | |
| 77 line-height: 1; | |
| 78 color: @input-color; | |
| 79 text-align: center; | |
| 80 background-color: @input-group-addon-bg; | |
| 81 border: 1px solid @input-group-addon-border-color; | |
| 82 border-radius: @border-radius-base; | |
| 83 | |
| 84 // Sizing | |
| 85 &.input-sm { | |
| 86 padding: @padding-small-vertical @padding-small-horizontal; | |
| 87 font-size: @font-size-small; | |
| 88 border-radius: @border-radius-small; | |
| 89 } | |
| 90 &.input-lg { | |
| 91 padding: @padding-large-vertical @padding-large-horizontal; | |
| 92 font-size: @font-size-large; | |
| 93 border-radius: @border-radius-large; | |
| 94 } | |
| 95 | |
| 96 // Nuke default margins from checkboxes and radios to vertically center within. | |
| 97 input[type="radio"], | |
| 98 input[type="checkbox"] { | |
| 99 margin-top: 0; | |
| 100 } | |
| 101 } | |
| 102 | |
| 103 // Reset rounded corners | |
| 104 .input-group .form-control:first-child, | |
| 105 .input-group-addon:first-child, | |
| 106 .input-group-btn:first-child > .btn, | |
| 107 .input-group-btn:first-child > .btn-group > .btn, | |
| 108 .input-group-btn:first-child > .dropdown-toggle, | |
| 109 .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle), | |
| 110 .input-group-btn:last-child > .btn-group:not(:last-child) > .btn { | |
| 111 .border-right-radius(0); | |
| 112 } | |
| 113 .input-group-addon:first-child { | |
| 114 border-right: 0; | |
| 115 } | |
| 116 .input-group .form-control:last-child, | |
| 117 .input-group-addon:last-child, | |
| 118 .input-group-btn:last-child > .btn, | |
| 119 .input-group-btn:last-child > .btn-group > .btn, | |
| 120 .input-group-btn:last-child > .dropdown-toggle, | |
| 121 .input-group-btn:first-child > .btn:not(:first-child), | |
| 122 .input-group-btn:first-child > .btn-group:not(:first-child) > .btn { | |
| 123 .border-left-radius(0); | |
| 124 } | |
| 125 .input-group-addon:last-child { | |
| 126 border-left: 0; | |
| 127 } | |
| 128 | |
| 129 // Button input groups | |
| 130 // ------------------------- | |
| 131 .input-group-btn { | |
| 132 position: relative; | |
| 133 // Jankily prevent input button groups from wrapping with `white-space` and | |
| 134 // `font-size` in combination with `inline-block` on buttons. | |
| 135 font-size: 0; | |
| 136 white-space: nowrap; | |
| 137 | |
| 138 // Negative margin for spacing, position for bringing hovered/focused/actived | |
| 139 // element above the siblings. | |
| 140 > .btn { | |
| 141 position: relative; | |
| 142 + .btn { | |
| 143 margin-left: -1px; | |
| 144 } | |
| 145 // Bring the "active" button to the front | |
| 146 &:hover, | |
| 147 &:focus, | |
| 148 &:active { | |
| 149 z-index: 2; | |
| 150 } | |
| 151 } | |
| 152 | |
| 153 // Negative margin to only have a 1px border between the two | |
| 154 &:first-child { | |
| 155 > .btn, | |
| 156 > .btn-group { | |
| 157 margin-right: -1px; | |
| 158 } | |
| 159 } | |
| 160 &:last-child { | |
| 161 > .btn, | |
| 162 > .btn-group { | |
| 163 margin-left: -1px; | |
| 164 } | |
| 165 } | |
| 166 } |
