Skip to content
Back to skills

Naive Ui Design Color

ASecurity

Color design specifications for Naive UI. Invoke when user needs to understand the color palette, main colors, semantic colors, or neutral colors used in Naive UI.

  • 8 stars
  • 0 votes
  • 0 copies
  • 6 views
  • Added September 11, 2026
developmentjavascriptjavavue

Security analysis

A100/100

Scanned September 11, 2026

npx -y skills add jiaiyan/naive-ui-skills --skill naive-ui-design-color --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Naive Ui Design Color?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Naive Ui Design Color
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/jiaiyan-naive-ui-design-color/badge)](https://www.skillsdirectory.com/skills/jiaiyan-naive-ui-design-color)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "naive-ui-design-color"
description: "Color design specifications for Naive UI. Invoke when user needs to understand the color palette, main colors, semantic colors, or neutral colors used in Naive UI."
metadata:
  author: jiaiyan
  version: "1.0.0"
---

# Color Design Specifications

Naive UI uses a carefully designed color system with primary green color and semantic colors for different states, providing a consistent look and feel for the products you build.

## When to Use

- Understanding the color system
- Applying brand colors correctly
- Using semantic colors (success, warning, error, info)
- Working with neutral colors for text and backgrounds
- Creating themed components

---

## Primary Color

The main color of Naive UI is a vibrant green (#18a058) that conveys freshness and growth.

| Color | CSS Variable | Light Theme | Dark Theme | Usage |
|-------|--------------|-------------|------------|-------|
| Primary | `--primary-color` | `#18a058` | `#63e2b7` | Main brand color |
| Primary Hover | `--primary-color-hover` | `#36ad6a` | `#7fe7c4` | Hover state |
| Primary Pressed | `--primary-color-pressed` | `#0c7a43` | `#5acea7` | Active/pressed state |
| Primary Suppl | `--primary-color-suppl` | `#36ad6a` | `rgb(42, 148, 125)` | Supplementary |

---

## Semantic Colors

Semantic colors are used in different scenarios to convey meaning.

### Success

| CSS Variable | Light Theme | Dark Theme | Usage |
|--------------|-------------|------------|-------|
| `--success-color` | `#18a058` | `#63e2b7` | Success operations |
| `--success-color-hover` | `#36ad6a` | `#7fe7c4` | Hover state |
| `--success-color-pressed` | `#0c7a43` | `#5acea7` | Active state |
| `--success-color-suppl` | `#36ad6a` | `rgb(42, 148, 125)` | Supplementary |

### Info

| CSS Variable | Light Theme | Dark Theme | Usage |
|--------------|-------------|------------|-------|
| `--info-color` | `#2080f0` | `#70c0e8` | Information operations |
| `--info-color-hover` | `#4098fc` | `#8acbec` | Hover state |
| `--info-color-pressed` | `#1060c9` | `#66afd3` | Active state |
| `--info-color-suppl` | `#4098fc` | `rgb(56, 137, 197)` | Supplementary |

### Warning

| CSS Variable | Light Theme | Dark Theme | Usage |
|--------------|-------------|------------|-------|
| `--warning-color` | `#f0a020` | `#f2c97d` | Warning operations |
| `--warning-color-hover` | `#fcb040` | `#f5d599` | Hover state |
| `--warning-color-pressed` | `#c97c10` | `#e6c260` | Active state |
| `--warning-color-suppl` | `#fcb040` | `rgb(240, 138, 0)` | Supplementary |

### Error

| CSS Variable | Light Theme | Dark Theme | Usage |
|--------------|-------------|------------|-------|
| `--error-color` | `#d03050` | `#e88080` | Error/danger operations |
| `--error-color-hover` | `#de576d` | `#e98b8b` | Hover state |
| `--error-color-pressed` | `#ab1f3f` | `#e57272` | Active state |
| `--error-color-suppl` | `#de576d` | `rgb(208, 58, 82)` | Supplementary |

---

## Text Colors

Naive UI uses a hierarchical text color system for visual clarity.

### Light Theme

| CSS Variable | Value | Usage |
|--------------|-------|-------|
| `--text-color-base` | `#000` | Base text color |
| `--text-color-1` | `rgb(31, 34, 37)` | Primary text - headings, important content |
| `--text-color-2` | `rgb(51, 54, 57)` | Secondary text - body content |
| `--text-color-3` | `rgb(118, 124, 130)` | Tertiary text - captions, hints |
| `--text-color-disabled` | `rgba(0, 0, 0, 0.24)` | Disabled text |
| `--placeholder-color` | `rgba(0, 0, 0, 0.24)` | Placeholder text |
| `--placeholder-color-disabled` | `rgba(0, 0, 0, 0.18)` | Disabled placeholder |

### Dark Theme

| CSS Variable | Value | Usage |
|--------------|-------|-------|
| `--text-color-base` | `#fff` | Base text color |
| `--text-color-1` | `rgba(255, 255, 255, 0.9)` | Primary text |
| `--text-color-2` | `rgba(255, 255, 255, 0.82)` | Secondary text |
| `--text-color-3` | `rgba(255, 255, 255, 0.52)` | Tertiary text |
| `--text-color-disabled` | `rgba(255, 255, 255, 0.38)` | Disabled text |
| `--placeholder-color` | `rgba(255, 255, 255, 0.38)` | Placeholder text |
| `--placeholder-color-disabled` | `rgba(255, 255, 255, 0.28)` | Disabled placeholder |

---

## Background Colors

### Light Theme

| CSS Variable | Value | Usage |
|--------------|-------|-------|
| `--base-color` | `#fff` | Base background |
| `--body-color` | `#fff` | Body background |
| `--card-color` | `#fff` | Card background |
| `--modal-color` | `#fff` | Modal background |
| `--popover-color` | `#fff` | Popover background |
| `--table-color` | `#fff` | Table background |
| `--hover-color` | `rgb(243, 243, 245)` | Hover state background |
| `--pressed-color` | `rgb(237, 237, 239)` | Pressed state background |
| `--action-color` | `rgb(250, 250, 252)` | Action area background |
| `--input-color` | `#fff` | Input background |

### Dark Theme

| CSS Variable | Value | Usage |
|--------------|-------|-------|
| `--base-color` | `#000` | Base background |
| `--body-color` | `rgb(16, 16, 20)` | Body background |
| `--card-color` | `rgb(24, 24, 28)` | Card background |
| `--modal-color` | `rgb(44, 44, 50)` | Modal background |
| `--popover-color` | `rgb(72, 72, 78)` | Popover background |
| `--table-color` | `rgb(24, 24, 28)` | Table background |
| `--hover-color` | `rgba(255, 255, 255, 0.09)` | Hover state background |
| `--pressed-color` | `rgba(255, 255, 255, 0.05)` | Pressed state background |
| `--action-color` | `rgba(255, 255, 255, 0.06)` | Action area background |
| `--input-color` | `rgba(255, 255, 255, 0.1)` | Input background |

---

## Border & Divider Colors

| CSS Variable | Light Theme | Dark Theme | Usage |
|--------------|-------------|------------|-------|
| `--border-color` | `rgb(224, 224, 230)` | `rgba(255, 255, 255, 0.24)` | Default border |
| `--divider-color` | `rgb(239, 239, 245)` | `rgba(255, 255, 255, 0.09)` | Divider lines |

---

## Using Theme Variables

### In CSS (with n-element)

```vue
<template>
  <n-config-provider :theme="theme">
    <n-card>
      <n-el
        tag="span"
        style="
          color: var(--primary-color);
          transition: 0.3s var(--cubic-bezier-ease-in-out);
        "
      >
        Styled with theme variables
      </n-el>
    </n-card>
  </n-config-provider>
</template>
```

### In JavaScript (with useThemeVars)

```vue
<script setup>
import { useThemeVars } from 'naive-ui'

const themeVars = useThemeVars()
</script>

<template>
  <div :style="{ color: themeVars.primaryColor }">
    Primary color text
  </div>
</template>
```

---

## CSS Variables Summary

```css
:root {
  --primary-color: #18a058;
  --primary-color-hover: #36ad6a;
  --primary-color-pressed: #0c7a43;
  
  --success-color: #18a058;
  --info-color: #2080f0;
  --warning-color: #f0a020;
  --error-color: #d03050;
  
  --text-color-1: rgb(31, 34, 37);
  --text-color-2: rgb(51, 54, 57);
  --text-color-3: rgb(118, 124, 130);
  
  --base-color: #fff;
  --body-color: #fff;
  --card-color: #fff;
  --modal-color: #fff;
  
  --border-color: rgb(224, 224, 230);
  --divider-color: rgb(239, 239, 245);
}
```

---

## Best Practices

1. **Use CSS Variables**: Always use predefined color variables via `useThemeVars()` or `var(--xxx)` for consistency
2. **Semantic Colors**: Use appropriate semantic colors for their intended purpose
3. **Text Hierarchy**: Use text color variables to establish visual hierarchy
4. **Dark Mode Support**: Colors automatically adjust when using dark theme
5. **Customization**: Override theme variables via `n-config-provider` to match your brand
6. **State Colors**: Use hover/pressed variants for interactive elements

---

## Related Resources

| Resource | Description |
|----------|-------------|
| [useThemeVars](https://www.naiveui.com/en-US/os-theme/docs/theme) | Access theme variables in JavaScript |
| [n-element](https://www.naiveui.com/en-US/os-theme/components/element) | Use CSS variables in templates |
| [n-config-provider](https://www.naiveui.com/en-US/os-theme/components/config-provider) | Theme customization |

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.