Style text inputs, checkboxes, toggle buttons and range sliders.
Styling Text Inputs
Text inputs can be styled with a combination of CSS variables and selectors:
.ag-theme-alpine {
--ag-borders-input: dotted 2px;
--ag-input-border-color: orange;
}
.ag-theme-alpine .ag-text-field-input {
background-color: rgb(255, 209, 123);
}
.ag-theme-alpine .ag-text-field-input::placeholder {
color: rgb(155, 101, 1);
}
The CSS variables relevant to styling text inputs are:
Typea CSS border style and size (e.g. `solid 1px` or `none`) | Draw borders around inputs. Set this to a border style and thickness, e.g. solid 1px to enable borders, or none to disable borders. |
TypeCSS color (e.g. `red` or `#fff`) | Colour for borders around inputs, if enabled with --ag-borders-input |
Typea CSS border style and size (e.g. `solid 1px` or `none`) | Draw borders around inputs when their content has failed validation. Set this to a border style and thickness, e.g. solid 2px to enable borders. Set to none to disable borders but ensure that you have added styles to differentiate invalid from valid inputs. |
TypeCSS color (e.g. `red` or `#fff`) | The color for the border around invalid inputs, if enabled with --ag-borders-input-invalid |
TypeCSS color (e.g. `red` or `#fff`) | The color applied to form elements in an invalid state |
TypeCSS color (e.g. `red` or `#fff`) | The border around disabled text inputs |
TypeCSS color (e.g. `red` or `#fff`) | The background colour of disabled text inputs |
TypeCSS box-shadow value (e.g. `0 5px 10px black`) | box shadow around focussed inputs |
TypeCSS color (e.g. `red` or `#fff`) | Colour of the border around focussed inputs. Set to var(--ag-input-border-color) if you do not want to change the border colour on focus. |
Styling Checkboxes
The default styles of the grid disable the browser's native checkbox widget and create a custom appearance using icon fonts (see below for how to disable this).
See the Custom Icons documentation for how to replace the checkbox icons - the icons used are checkbox-checked
, checkbox-unchecked
, checkbox-indeterminate
.
The colours can be controlled using the following CSS Variables:
.ag-theme-alpine {
--ag-checkbox-background-color: yellow;
--ag-checkbox-checked-color: red;
--ag-checkbox-unchecked-color: darkred;
--ag-checkbox-indeterminate-color: grey;
}
Radio Buttons, such as those in the chart settings UI, are specialised checkboxes. They respond to the same colour variables as demonstrated above. They use the radio-button-on
and radio-button-off
icons.
Toggle Buttons, such as the "Pivot Mode" toggle in the above example, are specialised checkboxes. They respond to the same checkbox colour variables. In addition, they expose a few more variables for advanced customisation:
TypeCSS length (e.g. `0`, `4px` or `50%`) | size of the toggle button outer border |
TypeCSS color (e.g. `red` or `#fff`) | colour of the toggle button outer border in its 'on' state |
TypeCSS color (e.g. `red` or `#fff`) | colour of the toggle button's outer border in its 'off' state |
TypeCSS color (e.g. `red` or `#fff`) | colour of the toggle button background in its 'on' state |
TypeCSS color (e.g. `red` or `#fff`) | colour of the toggle button background in its 'off' state |
TypeCSS color (e.g. `red` or `#fff`) | colour of the toggle button switch (the bit that slides from left to right) |
TypeCSS color (e.g. `red` or `#fff`) | border colour of the toggle button switch (the bit that slides from left to right) |
TypeCSS length (e.g. `0`, `4px` or `50%`) | width of the whole toggle button component |
TypeCSS length (e.g. `0`, `4px` or `50%`) | height of the whole toggle button component |
Using or Browser Native Checkboxes or Creating Your Own
The default styles in ag-grid.css
contain many CSS rules to implement the --ag-checkbox-*
and --ag-toggle-button-*
variables described above. If you want to use the browser's default UI or create your own then it's easier to start from a blank slate rather than attempting to override the default styles.
To achieve this, use the ag-grid-no-native-widgets.css
CSS file instead of ag-grid.css
.
Users of the Sass API can pass suppress-native-widget-styling: true
to accomplish this.