Back to Mantine

Space

apps/mantine.dev/src/pages/core/space.mdx

9.3.21.1 KB
Original Source

import { SpaceDemos } from '@docs/demos'; import { Layout } from '@/layout'; import { MDX_DATA } from '@/mdx';

export default Layout(MDX_DATA.Space);

Usage

Use Space component to add horizontal or vertical spacing between elements:

<Demo data={SpaceDemos.horizontal} /> <Demo data={SpaceDemos.vertical} />

Where to use

In most cases, you would want to use margin props instead of Space when working with Mantine components:

tsx
import { Space, Text } from '@mantine/core';

// Space is not required as the same can be achieved with `mt` prop
function Demo() {
  return (
    <>
      <Text>First line</Text>
      <Text mt="md">Second line</Text>
    </>
  );
}

But when you work with regular HTML elements you do not have access to theme.spacing and you may want to use Space component to skip direct theme subscription:

tsx
import { Space } from '@mantine/core';

// Margin props are not available on div,
// use Space to add spacing from theme
function Demo() {
  return (
    <>
      <div>First line</div>
      <Space h="md" />
      <div>Second line</div>
    </>
  );
}