Token导航 LogoToken导航TokenDH.com
前端设计需要联网github未标认证来源可访问clear审计通过

aksel-spacing阿克塞尔间距

Agent Skill

用于辅助前端页面、组件、样式和交互逻辑的开发与维护。它适合让 Agent 生成或审查 React、Next.js、Vue、Tailwind、CSS 等相关代码,整理组件结构,或定位布局和性能问题。使用时需要结合项目现有设计系统、路由和构建方式,避免只生成孤立片段;涉及页面改动时,应配合本地预览和构建检查确认视觉效果。

总安装

783

周安装

32

GitHub Stars

35

下载量

253
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

3

许可证

MIT

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:aksel-spacing(阿克塞尔间距)
来源仓库:https://github.com/navikt/copilot
仓库路径:skills/aksel-spacing
安装命令:
npx skills add https://github.com/navikt/copilot --skill aksel-spacing
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。不同来源提供的安装方式可能略有差异;本站展示可直接复制的安装命令,安装前请核对来源页面。

skills.shnpx skills
npx skills add https://github.com/navikt/copilot --skill aksel-spacing

简介

用于构建符合 Aksel v8+ 设计系统的响应式布局与间距规范。

  • 提供精确的 CSS 变量映射(如 --ax-space-4 = 4px),避免比例误解。
  • 适合前端开发者快速应用挪威公共部门标准设计语言进行界面开发。
  • 安装前建议确认权限范围和维护状态,以及是否会修改样式文件或引入依赖包。
  • aksel-spacing 属于前端设计类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

Aksel: Responsivt layout med spacing tokens

Referanse for å bygge responsive layouts med Aksel v8+. Hent oppdatert dokumentasjon fra https://aksel.nav.no/llm.md ved behov.

v8-BRUDD: Tokens = pixelverdi direkte. --ax-space-4 = 4px (ikke 16px!). Bruk alltid tallverdien som matcher ønsket px.

Spacing-tokens

Token name = eksakt pikselverdi. Full referanse: design-tokens

CSS-variabler

.my-element {
  padding: var(--ax-space-16); /* 16px */
  gap: var(--ax-space-8); /* 8px */
  margin-block: var(--ax-space-32); /* 32px */
  padding-inline: var(--ax-space-24) var(--ax-space-48);
}

Breakpoints og ResponsiveProp

Alle layout-primitives aksepterer responsiv objektverdi (mobil-first). Full referanse: brekkpunkter

// ResponsiveProp-syntaks – verdi per breakpoint (mobil-first)
<HStack gap={{ xs: "space-8", md: "space-24" }} />
<Box padding={{ xs: "space-16", md: "space-32", lg: "space-48" }} />
<HGrid columns={{ xs: 1, sm: 2, lg: 3 }} />

Utelatte breakpoints arver fra nærmeste definerte nedenfra.


Layout Primitives

Box

Fleksibelt layout-element. Brukes til padding, bakgrunn, border og posisjonering.

Props: padding, paddingBlock, paddingInline, paddingBlockStart, paddingBlockEnd, paddingInlineStart, paddingInlineEnd, margin, marginBlock, marginInline, width, height, minWidth, maxWidth, overflow, background, borderColor, borderWidth, borderRadius, shadow, as, asChild

import { Box } from "@navikt/ds-react";

<Box padding="space-16">Innhold</Box>

// Responsiv padding
<Box
  padding={{ xs: "space-16", md: "space-32" }}
  paddingInline={{ xs: "space-16", lg: "space-48" }}
>
  Innhold
</Box>

// asChild – send props til eksisterende element
<Box asChild padding="space-24">
  <main>Innhold</main>
</Box>

HStack

Horisontal flex-container.

Props: gap, align, justify, wrap, as, asChild

import { HStack } from "@navikt/ds-react";

<HStack gap="space-16" align="center" justify="space-between">
  <Logo />
  <NavLinks />
</HStack>

// Responsiv gap
<HStack gap={{ xs: "space-8", md: "space-24" }} wrap={false}>
  <Item />
  <Item />
</HStack>

align: "start" | "center" | "end" | "baseline" | "stretch" (flex align-items) justify: "start" | "center" | "end" | "space-between" | "space-around" | "space-evenly" (flex justify-content)

VStack

Vertikal flex-container.

Props: gap, align, justify, as, asChild

import { VStack } from "@navikt/ds-react";

<VStack gap="space-24">
  <Section />
  <Section />
</VStack>

// Responsiv gap
<VStack gap={{ xs: "space-16", md: "space-32" }}>

Stack

Kombinert HStack/VStack med responsiv retning.

import { Stack } from "@navikt/ds-react";

// Kolonne på mobil, rad på desktop
<Stack
  direction={{ xs: "column", sm: "row" }}
  gap={{ xs: "space-16", sm: "space-24" }}
  align={{ sm: "center" }}
>
  <LeftContent />
  <RightContent />
</Stack>;

HGrid

CSS Grid-basert. For kolonnelayout.

Props: columns, gap, align, as, asChild

import { HGrid } from "@navikt/ds-react";

// Fast antall kolonner
<HGrid columns={3} gap="space-24">

// Responsivt koloneantall
<HGrid columns={{ xs: 1, sm: 2, lg: 3 }} gap={{ xs: "space-16", md: "space-24" }}>

// CSS grid-string for avanserte oppsett
<HGrid columns="repeat(auto-fit, minmax(16rem, 1fr))" gap="space-16">

// Ulik gap horisontal/vertikal
<HGrid columns={2} gap={{ xs: "space-16 space-8" }}>
//                                   ↑ block  ↑ inline

align: "start" | "center" | "end" (CSS align-items på grid)

Page og Page.Block

Standardisert sidelayout med header/footer-støtte. Full API: page

import { Page } from "@navikt/ds-react";

<Page footer={<Footer />} footerPosition="belowFold" contentBlockPadding="end">
  <Header />
  <Page.Block as="main" width="xl" gutters>
    {/* Innhold */}
  </Page.Block>
</Page>;

Page.Block widths: "text" (576px) | "md" (768px) | "lg" (1024px) | "xl" (1280px) | "2xl" (1440px) gutters = padding-inline: 3rem (>md), 1rem (≤md).

Bleed

Negativ margin – bryt ut av container-padding.

Props: marginInline, marginBlock, reflectivePadding

import { Bleed } from "@navikt/ds-react";

// Strekk bilde over container-padding
<Bleed marginInline="space-24">
  <FullWidthImage />
</Bleed>

// Kombinert bleed
<Bleed marginInline="space-32" marginBlock="space-16">
  <Banner />
</Bleed>

reflectivePadding: legg til tilsvarende padding inni, slik at innholdet ikke klemmes.

Spacer

Fyller tilgjengelig plass i flex-container (flex: 1 1 auto).

import { Spacer } from "@navikt/ds-react";

<HStack>
  <Logo />
  <Spacer /> {/* Skyver resten til høyre */}
  <NavItems />
</HStack>;

Show og Hide

Conditionally skjul/vis innhold per breakpoint. Bruker CSS display-egenskap (ingen JS).

import { Show, Hide } from "@navikt/ds-react";

<Hide below="md"><DesktopMenu /></Hide>
<Show below="md"><MobileMenu /></Show>

<Hide above="lg"><CompactView /></Hide>
<Show above="lg"><FullView /></Show>

Props: above | below (breakpoint-nøkkel: sm | md | lg | xl | 2xl)


Vanlige mønstre

To-kolonne layout med sidebar

<HGrid columns={{ xs: 1, lg: "280px 1fr" }} gap="space-32">
  <Box as="nav" padding="space-16">
    <Sidebar />
  </Box>
  <Box as="main">
    <Content />
  </Box>
</HGrid>

Kort-grid

<HGrid
  columns={{ xs: 1, sm: 2, xl: 3 }}
  gap={{ xs: "space-16", md: "space-24" }}
>
  {items.map((item) => (
    <Box key={item.id} padding="space-24" borderWidth="1" borderRadius="8">
      {item.content}
    </Box>
  ))}
</HGrid>

Sentrert innhold med max-bredde

// Med Page.Block
<Page.Block width="lg" gutters>
  <VStack gap="space-32">
    <Section />
    <Section />
  </VStack>
</Page.Block>

// Med Box og margin auto
<Box maxWidth="768px" marginInline="auto" paddingInline="space-24">
  <Content />
</Box>

Mobil-first skjema-layout

<VStack gap={{ xs: "space-16", md: "space-24" }}>
  <Stack direction={{ xs: "column", sm: "row" }} gap="space-16">
    <TextField label="Fornavn" />
    <TextField label="Etternavn" />
  </Stack>
  <TextField label="E-post" />
  <HStack justify="end" gap="space-8">
    <Button variant="secondary">Avbryt</Button>
    <Button>Lagre</Button>
  </HStack>
</VStack>

Fullbredde-seksjon med bleed

// Page.Block med gutters, men ett element som strekker seg full bredde
<Page.Block width="lg" gutters>
  <VStack gap="space-32">
    <Heading level="1" size="xlarge">
      Tittel
    </Heading>
    <Bleed marginInline="space-48">
      <FullWidthBanner />
    </Bleed>
    <BodyLong>Innhold</BodyLong>
  </VStack>
</Page.Block>

v7 → v8 token-migrasjon

Tokens er ikke bakoverkompatible. Bruk codemod:

npx @navikt/aksel codemod v8-spacing-tokens ./src
v7 (feil i v8)v8 (korrekt)px
space-4space-1616px
space-8space-3232px
space-2space-88px
space-1space-44px
I v7 var tokenene multiplisert med 4. I v8 er det én-til-én med pikselverdi.

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

04

需要参考平台分布和安装热度时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

补充不同宿主或平台的使用分布数据

能力 5

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Claude Code

28.91%
按下载量换算73

Antigravity

25.74%
按下载量换算65

windsurf

17.61%
按下载量换算45

trae

13.38%
按下载量换算34

github-copilot

8.16%
按下载量换算21

OpenCode

3.49%
按下载量换算9

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。

来源信息

继续浏览同类 Skills