Porsche Design System Search Navigate to GitHub repository of Porsche Design System Open sidebar Introduction
Styles#
Styles are the foundational layer of our design language and define basics like colors in different themes, typography
and other effects that can be applied to objects; or to define the structure and appearance with layout grid and
spacings.
You should only use the styles whenever you have to build a custom component or pattern that is not yet available in the
components library or for foundational layout objects like typography, surfaces and boxes.
The styles are available as JavaScript and SCSS version and available in the Figma library.
Border
Drop Shadow
Focus
Frosted Glass
Gradient
Grid
Media Query
Motion
Spacing
Theme
Typography
JS
When working with JavaScript styles, the way you import them depends on the library or tool you're using.
For most css-in-js libraries (e.g., JSS
, styled-components
...):
import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles';
.
For vanilla-extract
:
import { … } from '@porsche-design-system/components-{js|angular|react|vue}/styles/vanilla-extract';
.
Make sure to use "moduleResolution": "bundler"
in the compilerOptions
of your tsconfig.json
to ensure the correct
resolution of the styles.
SCSS
SCSS styles can be imported by: @use '@porsche-design-system/components-{js|angular|react|vue}/styles' as *
; Global settingsTheme
ThemeMore information Changes the theme of the application and any Porsche Design System component. It's possible to choose between forced theme light and dark . It's also possible to use auto , which applies light or dark theme depending on the operating system settings automatically. // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
Light// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
Dark// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
Auto (sync with operating system)DirectionMore information Changes the direction of HTML elements, mostly used on<html>
tag to support languages which are read from right to left like e.g. Arabic. // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
LTR (left-to-right)// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
RTL (right-to-left)// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
AutoText ZoomMore information Changes the text size and values with unit rem
or em
relatively. This setting can be defined in browser settings for any website or by an application itself on<html>
tag. To achieve WCAG 2.2 AA compliance it's obligatory to support text zoom up to at least 200%. // TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
100%// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
130%// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
150%// TODO: get rid of ARIA sprouting and use `elementInternals` API when AXE-CORE supports it: https://github.com/dequelabs/axe-core/issues/4259
200%