Porsche Design System
You are currently viewing an earlier release of the Porsche Design System.Switch to the latest Porsche Design System documentation.
SearchNavigate to GitHub repository of Porsche Design SystemOpen sidebar
ExamplesUsageAPI
Grid Table of Contents JS JSDescriptionValuegridStyleApplies the Porsche Grid layout system (must be applied once at the top level, span the full viewport width, and cannot be nested).{"--pds-internal-grid-safe-zone":"max(22px, 10.625vw - 12px)","--pds-grid-extended-span-one-half":"span 3","--pds-grid-basic-span-one-half":"span 3","--pds-grid-basic-span-one-third":"span 2","--pds-grid-basic-span-two-thirds":"span 4","--pds-grid-narrow-span-one-half":"span 3","display":"grid","gridGap":"clamp(16px, 1.25vw + 12px, 36px)","gridTemplateColumns":"[full-start] minmax(0,var(--pds-internal-grid-outer-column,calc(var(--pds-internal-grid-safe-zone) - clamp(16px, 1.25vw + 12px, 36px)))) [wide-start extended-start basic-start narrow-start] repeat(6, minmax(0,1fr)) [narrow-end basic-end extended-end wide-end] minmax(0,var(--pds-internal-grid-outer-column,calc(var(--pds-internal-grid-safe-zone) - clamp(16px, 1.25vw + 12px, 36px)))) [full-end]","minWidth":"var(--pds-internal-grid-width-min,320px)","maxWidth":"var(--pds-internal-grid-width-max,2560px)","margin":"0 var(--pds-internal-grid-margin,0)","padding":"0 calc(50% - var(--pds-internal-grid-margin,0px) - 2560px / 2)","boxSizing":"content-box","@media(min-width:760px)":{"--pds-internal-grid-safe-zone":"calc(5vw - 16px)","--pds-grid-extended-span-one-half":"span 7","--pds-grid-basic-span-one-half":"span 6","--pds-grid-basic-span-one-third":"span 4","--pds-grid-basic-span-two-thirds":"span 8","--pds-grid-narrow-span-one-half":"span 4","gridTemplateColumns":"[full-start] minmax(0,var(--pds-internal-grid-outer-column,calc(var(--pds-internal-grid-safe-zone) - clamp(16px, 1.25vw + 12px, 36px)))) [wide-start] minmax(0,1fr) [extended-start] minmax(0,1fr) [basic-start] repeat(2, minmax(0,1fr)) [narrow-start] repeat(8, minmax(0,1fr)) [narrow-end] repeat(2, minmax(0,1fr)) [basic-end] minmax(0,1fr) [extended-end] minmax(0,1fr) [wide-end] minmax(0,var(--pds-internal-grid-outer-column,calc(var(--pds-internal-grid-safe-zone) - clamp(16px, 1.25vw + 12px, 36px)))) [full-end]"},"@media(min-width:1920px)":{"--pds-internal-grid-safe-zone":"min(50vw - 880px, 400px)"}}gridGapHolds the grid gap the Porsche Grid.clamp(16px, 1.25vw + 12px, 36px)gridNarrowObject containting all narrow grid styles.{"columnStart":"narrow-start","columnEnd":"narrow-end","spanOneHalf":"var(--pds-grid-narrow-span-one-half)"}gridNarrowColumnStartHolds the start position of the narrow area within the Porsche Grid.narrow-startgridNarrowColumnEndHolds the end position of the narrow area within the Porsche Grid.narrow-endgridNarrowSpanOneHalfHolds a one third span within the narrow area of the Porsche Grid.var(--pds-grid-narrow-span-one-half)gridNarrowOffsetObject containting all narrow grid offset styles.{"base":"max(22px, 10.625vw - 12px)","s":"calc(calc(5vw - 16px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((100vw - calc(5vw - 16px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 4)","xxl":"calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((min(100vw, 2560px) - min(50vw - 880px, 400px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 4)"}gridNarrowOffsetBaseHolds a base offset within the narrow area of the Porsche Grid.max(22px, 10.625vw - 12px)gridNarrowOffsetSHolds a small offset within the narrow area of the Porsche Grid.calc(calc(5vw - 16px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((100vw - calc(5vw - 16px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 4)gridNarrowOffsetXXLHolds a xxl offset within the narrow area of the Porsche Grid.calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((min(100vw, 2560px) - min(50vw - 880px, 400px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 4)gridBasicObject containting all basic grid styles.{"columnStart":"basic-start","columnEnd":"basic-end","spanOneHalf":"var(--pds-grid-basic-span-one-half)","spanOneThird":"var(--pds-grid-basic-span-one-third)","spanTwoThirds":"var(--pds-grid-basic-span-two-thirds)"}gridBasicColumnStartHolds the start position of the basic area within the Porsche Grid.basic-startgridBasicColumnEndHolds the end position of the basic area within the Porsche Grid.basic-endgridBasicSpanOneHalfHolds a half span within the basic area of the Porsche Grid.var(--pds-grid-basic-span-one-half)gridBasicSpanOneThirdHolds a one third span within the basic area of the Porsche Grid.var(--pds-grid-basic-span-one-third)gridBasicSpanTwoThirdsHolds a two thirds span within the basic area of the Porsche Grid.var(--pds-grid-basic-span-two-thirds)gridBasicOffsetObject containting all basic grid offset styles.{"base":"max(22px, 10.625vw - 12px)","s":"calc(calc(5vw - 16px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((100vw - calc(5vw - 16px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 2)","xxl":"calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((min(100vw, 2560px) - min(50vw - 880px, 400px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 2)"}gridBasicOffsetBaseHolds a base offset within the base area of the Porsche Grid.max(22px, 10.625vw - 12px)gridBasicOffsetSHolds a small offset within the base area of the Porsche Grid.calc(calc(5vw - 16px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((100vw - calc(5vw - 16px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 2)gridBasicOffsetXXLHolds a xxl offset within the base area of the Porsche Grid.calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((min(100vw, 2560px) - min(50vw - 880px, 400px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 2)gridExtendedObject containting all extended grid styles.{"columnStart":"extended-start","columnEnd":"extended-end","spanOneHalf":"var(--pds-grid-extended-span-one-half)"}gridExtendedColumnStartHolds the start position of the extended area within the Porsche Grid.extended-startgridExtendedColumnEndHolds the end position of the extended area within the Porsche Grid.extended-endgridExtendedSpanOneHalfHolds a half span within the extended area of the Porsche Grid.var(--pds-grid-extended-span-one-half)gridExtendedOffsetObject containting all extended grid offset styles.{"base":"max(22px, 10.625vw - 12px)","s":"calc(calc(5vw - 16px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((100vw - calc(5vw - 16px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 1)","xxl":"calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((min(100vw, 2560px) - min(50vw - 880px, 400px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 1)"}gridExtendedOffsetBaseHolds a base offset within the extended area of the Porsche Grid.max(22px, 10.625vw - 12px)gridExtendedOffsetSHolds a small offset within the extended area of the Porsche Grid.calc(calc(5vw - 16px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((100vw - calc(5vw - 16px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 1)gridExtendedOffsetXXLHolds a xxl offset within the extended area of the Porsche Grid.calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px) + (clamp(16px, 1.25vw + 12px, 36px) + calc((min(100vw, 2560px) - min(50vw - 880px, 400px) * 2 - clamp(16px, 1.25vw + 12px, 36px) * 15) / 16)) * 1)gridWideObject containting all wide grid styles.{"columnStart":"wide-start","columnEnd":"wide-end"}gridWideColumnStartHolds the start position of the wide area within the Porsche Grid.wide-startgridWideColumnEndHolds the end position of the wide area within the Porsche Grid.wide-endgridWideOffsetObject containting all wide grid offset styles.{"base":"max(22px, 10.625vw - 12px)","s":"calc(5vw - 16px)","xxl":"calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px))"}gridWideOffsetBaseHolds a base offset within the wide area of the Porsche Grid.max(22px, 10.625vw - 12px)gridWideOffsetSHolds a small offset within the wide area of the Porsche Grid.calc(5vw - 16px)gridWideOffsetXXLHolds a xxl offset within the wide area of the Porsche Grid.calc(max(0px, 50vw - 2560px / 2) + min(50vw - 880px, 400px))gridFullObject containting all full grid styles.{"columnStart":"full-start","columnEnd":"full-end"}gridFullColumnEndHolds the start position of the full area within the Porsche Grid.full-startgridFullColumnStartHolds the end position of the full area within the Porsche Grid.full-endgridFullOffsetHolds a full offset within the full area of the Porsche Grid.max(0px, 50vw - 2560px / 2)
Global settingsColor SchemeAll color tokens use the light-dark() CSS function. Set the theme via the CSS color-scheme property: light for light mode, dark for dark mode, or light dark to follow the user's system preference.LightDarkLight DarkDirectionThe dir global attribute in HTML changes the direction of text and other content within an element. It's most often used on the <html> tag to set the entire page's direction, which is crucial for supporting languages that are written from right to left (RTL), such as Arabic and Hebrew. For example, using <html dir="rtl"> makes the entire page display from right to left, adjusting the layout and text flow accordingly.LTR (left-to-right)RTL (right-to-left)Text ZoomTo ensure accessibility and comply with WCAG 2.2 AA standards, it is mandatory for web content to support text resizing up to at least 200% without loss of content or functionality. Using relative units like rem is a best practice for achieving this, as they allow the text to scale uniformly based on the user's browser settings.100%130%150%200%