Skip to main content

Sections

Style

A section style is mainly expressed by the given background color.
You should make sure that the chosen background color always offers enough contrast to display various font colors!

SettingTokenDescription
default--l-section--background-defaultThe default background color, shouldnt be percieved as a distinct surface
bold--l-section--background-boldA very prevelant color heavily drawing focus to the displayed content
accent--l-section--background-accentA light color, making it disctinct from the default background without being too heavy

Frame Width

The width propertiy determines the with of the frame the content will be displayed in.

SettingTokenApplication
default--l-section--content-width-defaultThe default frame width
narrow--l-section--content-width-narrowA narrow frame width
wide--l-section--content-width-wideA wide frame width
max--l-section--content-width-maxThe content spans over the entiere screen
full--l-section--content-width-fullThe content spans over the entiere screen,
without content-padding

Screen spanning layouts

For creating full screen layouts there are options of max and full.
They both state that the frame spans over the entire screen.
The max option still leaves content-padding to the left and right browser border.
With the full option the content will be placed directly against the browser border.

Space Before / Space After

Determines how much vertical spacing a section has.

SettingPreviewTokenApplication
default
--l-section--space-defaultThe default section spacing ensuring an even rythm
small
--l-section--space-smallA smaller space between Sections
none---No space between Sections

Combining spacings

By combining the given spaceAfter/spaceBefore options, it's possible to move sections closer together.
That way you can create a visual connection between the content in two sections.
You can even make them seem as a single element by removing all spacing between them.

Mode

default

The children will be placed next to each other, stretched across the full section width.

Content
Content

tile

The children will be placed next to each other, in a pre set column width.

Content
Content

list

The children will be placed on top of each other, stretched across the full section width.

Content
Content

Gutter

SettingTokenApplication
none---No space between children
small--l-section--gutter-smallA small space between children
default--l-section--gutterThe default spacing between children, ensuring an even rythm
large--l-section--gutter-largeA large space between children

none

Content
Content
Content

small

Content
Content
Content

default

Content
Content
Content

large

Content
Content

Examples

List

mode: list

How can we help you?

Generators

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua.

Components

Tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.

Components

Tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.

Components

Tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod.
Toggle Code

_69
<Section
_69
mode="list"
_69
headline={{
_69
styleAs: 'h2',
_69
content: 'How can we help you?',
_69
align: 'center',
_69
spaceAfter: `small`,
_69
}}
_69
>
_69
<TeaserRow
_69
topic="Generators"
_69
image="https://www.kickstartds.com/img/recipes/generator.svg"
_69
ratio="none"
_69
text="Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua."
_69
link={{
_69
variant: 'solid',
_69
label: 'Explore generators',
_69
iconAfter: false,
_69
icon: {
_69
icon: 'chevron-right',
_69
},
_69
}}
_69
/>
_69
_69
<TeaserRow
_69
topic="Components"
_69
image="https://www.kickstartds.com/img/recipes/toolbox.svg"
_69
ratio="none"
_69
text="Tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod."
_69
link={{

Grid

mode: tile
--l-section_col--min-width: 14rem

Choose your component

Button

Lorem ipsum dolor sit amet, consetetur sadipscing elitr.

Content Box

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Count Up

Lorem ipsum dolor sit amet, consetetur sadipscing elitr.

Divider

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Divider

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Headline

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Quote Slider

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Section

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Slider

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Storytelling

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Tag Label

Consetetur sadipscing elitr, sed diam nonumy eirmod.

Text Media

Consetetur sadipscing elitr, sed diam nonumy eirmod.
Toggle Code

_167
<Section
_167
className="content-nav"
_167
width="wide"
_167
mode="tile"
_167
headline={{
_167
styleAs: 'h2',
_167
content: 'Choose your component',
_167
align: 'center',
_167
spaceAfter: 'small',
_167
}}
_167
>
_167
<TeaserBox
_167
topic="Button"
_167
image="https://www.kickstartds.com/img/recipes/icons/button.svg"
_167
ratio="none"
_167
imageSpacing
_167
text="Lorem ipsum dolor sit amet, consetetur sadipscing elitr."
_167
link={{
_167
hidden: true,
_167
href: '#',
_167
label: 'Explore generators',
_167
}}
_167
/>
_167
_167
<TeaserBox
_167
topic="Content Box"
_167
image="https://www.kickstartds.com/img/recipes/icons/content-box.svg"
_167
ratio="none"
_167
imageSpacing
_167
image="https://www.kickstartds.com/img/recipes/icons/quote-slider.svg"

Full Screen

mode: tile
--l-section_col--min-width: 14rem

We help you overcome digital obstacles

Autem voluptas quis facere et qui voluptate earum.

Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum.
Toggle Code

_38
<Section width="full" spaceBefore="none" spaceAfter="none">
_38
<Storytelling
_38
image={{
_38
source: 'https://www.kickstartds.com/img/recipes/hero-angled.png',
_38
order: {
_38
desktopImageLast: true,
_38
},
_38
}}
_38
box={{
_38
headline: {
_38
level: 'h1',
_38
styleAs: 'h1',
_38
content: 'We help you overcome digital obstacles',
_38
subheadline: 'Autem voluptas quis facere et qui voluptate earum.',
_38
},
_38
text: `Lorem ipsum dolor sit amet, [consetetur sadipscing](http://example.com/) elitr, sed diam voluptua. At vero eos et accusam et justo duo **dolores et ea rebum.**`,
_38
links: [
_38
{
_38
fillAnimation: false,
_38
href: '#',
_38
iconAfter: false,
_38
iconAnimation: false,
_38
iconBefore: false,
_38
label: 'Start now',
_38
newTab: false,
_38
size: 'medium',
_38
variant: 'solid',
_38
},
_38
{
_38
href: '#',

Customisation

Customisation is typically done via scss files.
The default token are declared on the .l-section__container selector and can be overritten there.
To increase the selector accuracy, its recommended to wrap them into a :root selector.

_section-token.scss
_section.scss

_27
:root,
_27
[ks-inverted],
_27
[ks-theme] {
_27
.l-section {
_27
//Adjust background styles
_27
--l-section--background-default: var(--ks-background-fg-alpha-9);
_27
--l-section--background-accent: var(--ks-background-primary-to-bg-8);
_27
--l-section--background-dark: var(--ks-background-primary-to-bg-2);
_27
_27
//Adjust vertical spacing
_27
--l-section--space-default: var(--ks-spacing-xl);
_27
--l-section--space-small: var(--ks-spacing-m);
_27
_27
//Adjust gutter spacing
_27
--l-section--gutter-small: var(--ks-spacing-s);
_27
--l-section--gutter-default: var(--ks-spacing-m);
_27
--l-section--gutter-large: var(--ks-spacing-l);
_27
_27
//Adjust frame widths
_27
--l-section--content-width-wide: 87.5rem;
_27
--l-section--content-width-default: 77.5rem;
_27
--l-section--content-width-narrow: 62.5rem;
_27
_27
//Adjust grid settings
_27
--l-section_col--min-width: 5rem;
_27
}
_27
}

KickstartDS Sections use CSS Grid.
The child elements will be placed in columns, which are arranged in rows.
To get deeper into the workings of CSS Grid we recommend this article:
https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Grid_Layout

The minimum width of a column is determined by --l-section_col--min-width.

The maximum width of a column is determined by --l-section_col--max-width.
The default value is 1fr. (Recommended for responsive layouts)

The amount of columns fit in one row is determined by --l-section_col--repeat.
The default value is auto-fit. (Recommended for responsive layouts)

Fill Space

If you want the available space to be efficiently used, it is recommended to leave the max-width token set to its default value of 1fr.

Content
Content
Content
Content
Content
Content

--l-section_col--min-width: 5rem

Fixed Width

If you dont want your elements to fill the available space, you can set a max-width value in addition to min-width.

Content
Content
Content
Content
Content
Content

--l-section_col--min-width: 5rem
--l-section_col--max-width: 10rem

Scaling Width

By using a percentage on the min-width token, you can create a scaling layout.
It will keep its proportions, no matter the screen size.

Content
Content
Content
Content

--l-section_col--min-width: 40%

Set Columns Amount

If you use a custom value, make sure the columns do not exceed the avialable space in your layout (especially on narrow screens).
You can do so by balancing out the min-width in correspondence to the set column amount.

Content
Content
Content
Content
Content

--l-section_col--repeat: 4
--l-section_col--min-width: 5rem