CARVIEW |
Select Language
HTTP/2 200
date: Sat, 19 Jul 2025 07:35:59 GMT
content-type: text/html; charset=utf-8
vary: X-PJAX, X-PJAX-Container, Turbo-Visit, Turbo-Frame, X-Requested-With,Accept-Encoding, Accept, X-Requested-With
etag: W/"eb1bf7ebec9a70b913ee01608a76dd21"
cache-control: max-age=0, private, must-revalidate
strict-transport-security: max-age=31536000; includeSubdomains; preload
x-frame-options: deny
x-content-type-options: nosniff
x-xss-protection: 0
referrer-policy: no-referrer-when-downgrade
content-security-policy: default-src 'none'; base-uri 'self'; child-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/; connect-src 'self' uploads.github.com www.githubstatus.com collector.github.com raw.githubusercontent.com api.github.com github-cloud.s3.amazonaws.com github-production-repository-file-5c1aeb.s3.amazonaws.com github-production-upload-manifest-file-7fdce7.s3.amazonaws.com github-production-user-asset-6210df.s3.amazonaws.com *.rel.tunnels.api.visualstudio.com wss://*.rel.tunnels.api.visualstudio.com objects-origin.githubusercontent.com copilot-proxy.githubusercontent.com proxy.individual.githubcopilot.com proxy.business.githubcopilot.com proxy.enterprise.githubcopilot.com *.actions.githubusercontent.com wss://*.actions.githubusercontent.com productionresultssa0.blob.core.windows.net/ productionresultssa1.blob.core.windows.net/ productionresultssa2.blob.core.windows.net/ productionresultssa3.blob.core.windows.net/ productionresultssa4.blob.core.windows.net/ productionresultssa5.blob.core.windows.net/ productionresultssa6.blob.core.windows.net/ productionresultssa7.blob.core.windows.net/ productionresultssa8.blob.core.windows.net/ productionresultssa9.blob.core.windows.net/ productionresultssa10.blob.core.windows.net/ productionresultssa11.blob.core.windows.net/ productionresultssa12.blob.core.windows.net/ productionresultssa13.blob.core.windows.net/ productionresultssa14.blob.core.windows.net/ productionresultssa15.blob.core.windows.net/ productionresultssa16.blob.core.windows.net/ productionresultssa17.blob.core.windows.net/ productionresultssa18.blob.core.windows.net/ productionresultssa19.blob.core.windows.net/ github-production-repository-image-32fea6.s3.amazonaws.com github-production-release-asset-2e65be.s3.amazonaws.com insights.github.com wss://alive.github.com api.githubcopilot.com api.individual.githubcopilot.com api.business.githubcopilot.com api.enterprise.githubcopilot.com; font-src github.githubassets.com; form-action 'self' github.com gist.github.com copilot-workspace.githubnext.com objects-origin.githubusercontent.com; frame-ancestors 'none'; frame-src viewscreen.githubusercontent.com notebooks.githubusercontent.com; img-src 'self' data: blob: github.githubassets.com media.githubusercontent.com camo.githubusercontent.com identicons.github.com avatars.githubusercontent.com private-avatars.githubusercontent.com github-cloud.s3.amazonaws.com objects.githubusercontent.com release-assets.githubusercontent.com secured-user-images.githubusercontent.com/ user-images.githubusercontent.com/ private-user-images.githubusercontent.com opengraph.githubassets.com copilotprodattachments.blob.core.windows.net/github-production-copilot-attachments/ github-production-user-asset-6210df.s3.amazonaws.com customer-stories-feed.github.com spotlights-feed.github.com objects-origin.githubusercontent.com *.githubusercontent.com; manifest-src 'self'; media-src github.com user-images.githubusercontent.com/ secured-user-images.githubusercontent.com/ private-user-images.githubusercontent.com github-production-user-asset-6210df.s3.amazonaws.com gist.github.com; script-src github.githubassets.com; style-src 'unsafe-inline' github.githubassets.com; upgrade-insecure-requests; worker-src github.githubassets.com github.com/assets-cdn/worker/ github.com/assets/ gist.github.com/assets-cdn/worker/
server: github.com
content-encoding: gzip
accept-ranges: bytes
set-cookie: _gh_sess=kJYISwO3xCiSIYD%2BjCoBZmVWrFA6ewKbE0FM9vPYytm5TD1Xkr2D3RFJPASmfddeYpV77zb6aEqxdMa%2FIy5wc%2B9%2BKf1rlQ%2B3CBV6w4kmCcjYAesYEGZV7C4dt%2F8juRXip8jrWrsAXJaqXe9bOG8fux%2FrG3CntxwA1FN90F22tLFWnDvKV50j5P9%2FlUTDi5cooVSjXQTr6mHH7%2FbbKym4g3in7Gy4su10ecK%2FE2EGLiobp6NSLrmhRyz29Tl%2F6XCicITQTwIx2SwMCyQGdGYeYg%3D%3D--EgwXi6wUa0p509Ff--F3Nnh19y4xbrTwDcOvrE2g%3D%3D; Path=/; HttpOnly; Secure; SameSite=Lax
set-cookie: _octo=GH1.1.1811964897.1752910558; Path=/; Domain=github.com; Expires=Sun, 19 Jul 2026 07:35:58 GMT; Secure; SameSite=Lax
set-cookie: logged_in=no; Path=/; Domain=github.com; Expires=Sun, 19 Jul 2026 07:35:58 GMT; HttpOnly; Secure; SameSite=Lax
x-github-request-id: 9AD8:3DC509:229974:2C59AF:687B4ADE
Spacing · arielsalminen/vue-design-system Wiki · GitHub
Skip to content
Navigation Menu
{{ message }}
-
Notifications
You must be signed in to change notification settings - Fork 222
Spacing
Ariel Salminen edited this page Jan 17, 2025
·
13 revisions
Vue Design System uses the following framework and Sass Mixins for creating a predictable and harmonious spacing.
- Inset spacing: For all user interface containers.
- Inset squish spacing: Same as previous, but a squished inset reduces space top and bottom, for example by 50%. Used for buttons, inputs, data table cells, list items, etc.
- Stack spacing: For all stacked content. So for example panels, form fields and anything else that is stacked vertically.
- Inline spacing: For pills, tags, breadcrumbs, side-by-side form fields etc. Things that are displayed inline.
You simply use these via Sass Mixins, like so:
// Stack space
.heading {
@include stack-space($space-l);
}
// Inset space
.container {
@include inset-space($space-xl);
}
// Inline space
.pill {
@include inline-space($space-s);
}
// You can also combine inset/inset-squish and inline/stack space
.button {
@include inset-squish-space($space-l);
@include inline-space($space-s);
}
These Sass helpers are located in src/styles/_spacing.scss if you want to further tweak them.
- Most components come with spacing included using the above mixins.
- A developer is able to just lay out components and they will take care of the spacing automatically as well as they can.
- Collisions with component level spacing and inset spacing are solved systematically using advanced CSS selectors inside space mixins.
Most of these ideas are from the following articles:
- Space in Design Systems: https://medium.com/eightshapes-llc/space-in-design-systems-188bcbae0d62
- A framework for creating a predictable & harmonious spacing system for faster design-dev handoff: https://blog.prototypr.io/a-framework-for-creating-a-predictable-and-harmonious-spacing-system-8eee8aaf773c
- Padding in Lightning Design System: https://www.lightningdesignsystem.com/utilities/padding
- Getting Started: How to install and run Vue Design System.
- Terminology: Introduction to the system concepts and its hierarchy.
- Naming of Things: Naming is hard, so it’s good to have clear guidelines.
- Directory Structure: What goes where and why.
-
Working with the System: Concrete examples on how to work with
Tokens
,Elements
,Patterns
andTemplates
. - Editing Living Documentation: How to customize the living system documentation.
- Spacing: A framework for creating a predictable and harmonious spacing.
- Component Status: Clear labels that reflect the state of completion.
- Component QA: How to review new components and keep the quality high.
- Contributing: A set of guidelines for contributing to the system.
- Code of Conduct: By participating you agree to abide by its terms.
- Frequently Asked Questions: How to use icons, how to use font-face, etc.
- Changelog: See releases pafge for the full changelog.
You can’t perform that action at this time.