StyleProps
API
Most components support the StyleProps API. StyleProps automatically have access to the values in the theme, and some StyleProps are limited to only the theme values.
See the full list of StyleProps here →
The docs page of every component has a props table listing all the available props!
The StyleProps API applies static atomic classnames under the hood. These classnames reference CSS Variables set by the ThemeProvider to enable dynamic theming.
Responsive styles
On web, all StyleProps support an optional responsive syntax for device-specific styles.
- base: no media query
- phone:
(max-width: 767px)
- tablet:
(min-width: 768px) and (max-width: 1279px)
- desktop:
(min-width: 1280px)
It is not possible to customize the breakpoint values at this time.
Import the media
object to use CDS breakpoints and media queries in your own custom styles.
See how breakpoints are defined in the media
object →
style
and styles
props
Most components support the native style
prop for inline styles.
Some complex components support passing inline styles to subcomponents with the styles
prop.
Styles are merged together as objects in order of specificity.
In the example above, backgroundColor
will be blue.
We will continue to add the styles
prop to more components over time. Please feel free to request specific components that you think would benefit from this API.
className
and classNames
props
Most components support the native className
prop for inline styles.
Some complex components support passing classnames to subcomponents with the classNames
prop.
We will continue to add the classNames
prop to more components over time. Please feel free to request specific components that you think would benefit from this API.
Component specific props
Many components have their own specific props that can affect styling.
Combining techniques
Mix and match these styling techniques for complete customization!
Global CSS reset
CDS web global styles include a CSS reset which override the browser default styles for some elements. This ensures that polymorphic components render correctly, regardless of their HTML element. See the full style reset here.
Polymorphic components
Many CDS web components have the polymorphic as
prop, which allows you to change what component or element is being rendered under the hood.
Using the polymorphic as
prop will change the component's type to allow the relevant native props.