Tailwind CSS Unknown at rule 경고 해결: VS Code와 PostCSS 설정 확인

··설명 약 11분·작성: 해비·블로그 소개

Tailwind CSS의 Unknown at rule 경고와 실제 빌드 오류는 어떻게 구분하나요?

Tailwind CSS의 Unknown at rule 밑줄은 에디터 검사기가 자체 문법을 모르는 경우와 실제 빌드 오류를 나눠 봐야 합니다. 먼저 빌드 결과를 확인하고 VS Code 확장과 PostCSS 설정을 점검하세요.

적용 조건·범위: 발행 시점 공식 문서를 기준으로 같은 세대의 설치 방식만 사용합니다.

본문 근거: tailwindcss.com/docs/editor-setup · tailwindcss.com/docs/installation/using-postcss

독립 실습: PostCSS와 에디터 경고 분리

{
  "recommendations": [
    "bradlc.vscode-tailwindcss"
  ]
}
{
  "files.associations": {
    "*.css": "tailwindcss"
  }
}
<!doctype html>
<html lang="ko"><head><meta charset="UTF-8"><title>Tailwind lab</title><link rel="stylesheet" href="/src/style.css"></head><body><h1 class="text-brand text-2xl">TaskFlow Tailwind</h1></body></html>
packages:
  - "."
export default {
  plugins: { '@tailwindcss/postcss': {} },
};
@import "tailwindcss";

@theme {
  --color-brand: #111111;
}

기대 결과: 빌드가 성공하고 화면의 Tailwind 스타일이 적용되는지 확인합니다. PostCSS plugin 이름을 잘못된 값으로 바꾼 별도 사본에서는 첫 빌드 오류를 확인하고 아래 정상 설정으로 복구합니다.

직접 실행: 환경 준비와 전체 파일

기존 앱 밖의 새 연습 폴더에 아래 파일을 그대로 저장합니다. 표시한 경로는 이 연습 폴더 기준입니다. 하단 완료 ZIP을 사용할 경우 labs/tailwind-at-rule/ 폴더만 별도로 열어도 됩니다. 이전 TaskFlow 앱 파일은 필요하지 않습니다.

.vscode/extensions.json 전체 코드

.vscode/settings.json 전체 코드

index.html 전체 코드

package.json 전체 코드

{
  "name": "taskflow-tailwind-lab",
  "private": true,
  "type": "module",
  "packageManager": "pnpm@11.19.0",
  "scripts": {
    "dev": "vite --host 127.0.0.1",
    "build": "vite build"
  },
  "devDependencies": {
    "vite": "8.3.0",
    "tailwindcss": "4.3.3",
    "@tailwindcss/postcss": "4.3.3",
    "postcss": "8.5.28"
  }
}

pnpm-workspace.yaml 전체 코드

postcss.config.js 전체 코드

README.md 전체 코드

# Tailwind lab

이 폴더에서 `pnpm install --frozen-lockfile`, `pnpm dev`, `pnpm build`를 실행합니다.

빌드 오류 재현은 postcss.config.js의 plugin을 tailwindcss로 바꿔 확인하고, @tailwindcss/postcss로 복구합니다. VS Code에는 Tailwind CSS IntelliSense를 설치하고 이 폴더를 열어 언어 모드를 확인합니다. 전역 CSS 검사는 끄지 않습니다.

src/style.css 전체 코드

pnpm install
pnpm build
pnpm dev

변형 과제: @theme의 --color-brand 값을 바꾸고 빌드 성공과 CSS 결과를 확인합니다. 에디터 밑줄 여부는 별도 열에 기록하며 build 성공만으로 밑줄 소멸을 판단하지 않습니다.

가장 먼저 빌드가 되는지 확인하기

에디터에 Unknown at rule이 보여도 개발 서버가 정상 동작할 수 있습니다.

pnpm dev

또는 production build를 확인합니다.

pnpm build

결과를 먼저 두 가지로 나눕니다.

A. 빌드는 성공하고 VS Code에만 경고가 보임
→ 에디터 언어 지원 문제 가능성

B. 빌드 자체가 실패
→ Tailwind/PostCSS 설정 문제 가능성

이 구분 없이 설정 파일을 계속 수정하면 정상 빌드를 오히려 깨뜨릴 수 있습니다.

왜 VS Code가 경고하는가

일반 CSS 검사기는 표준 CSS 문법을 기준으로 분석합니다.

Tailwind는 자체 at-rule과 함수를 사용할 수 있습니다.

예를 들어 현재 Tailwind 문법에서는 다음과 같은 구문을 볼 수 있습니다.

@import "tailwindcss";

@theme {
  --color-brand: #111111;
}

에디터가 Tailwind 문법을 알지 못하면 @theme을 알 수 없는 at-rule로 표시할 수 있습니다.

Tailwind CSS IntelliSense 확인

VS Code에서는 공식 Tailwind CSS IntelliSense 확장을 사용할 수 있습니다.

확장이 활성화되어 있는지 확인하고 현재 workspace에서 동작하는지 확인합니다.

확장 설치 여부만 보고 끝내지 말고 다음도 확인합니다.

현재 열어 둔 폴더가 프로젝트 루트인가
Tailwind 파일이 실제 workspace 안에 있는가
확장이 disabled 상태가 아닌가
CSS language mode가 예상대로 동작하는가

Tailwind 공식 문서는 전용 언어 모드가 자체 at-rule과 함수의 syntax를 지원한다고 안내합니다.

실제 빌드가 실패한다면 PostCSS 확인

PostCSS 방식으로 Tailwind를 사용하는 프로젝트라면 현재 사용 중인 Tailwind 주요 버전에 맞는 plugin 구성을 확인합니다.

예시:

export default {
  plugins: {
    '@tailwindcss/postcss': {},
  },
};

CSS에서는 현재 설치 방식에 맞는 import를 사용합니다.

@import "tailwindcss";

이 예제는 현재 공식 문서의 PostCSS 설치 흐름을 기준으로 한 형태입니다.

과거 Tailwind 버전의 설정 파일이나 directive 예제를 그대로 섞지 않습니다.

버전 혼합이 문제를 만든다

검색 결과에는 서로 다른 Tailwind 세대의 예제가 함께 나옵니다.

다음 조합을 그대로 섞으면 문제가 생길 수 있습니다.

예전 tailwind.config.js 예제
현재 @theme 예제
예전 PostCSS plugin 이름
현재 @tailwindcss/postcss

그래서 먼저 설치된 버전과 공식 문서를 확인합니다.

pnpm list tailwindcss

labs에서 재현하기

TaskFlow 메인 프로젝트가 Tailwind를 사용하지 않는다면 메인 앱에 억지로 설치하지 않습니다.

labs/
└─ tailwind-at-rule/

이 lab에서 다음 두 상태를 따로 확인합니다.

1. 빌드 정상 + 에디터 경고
2. PostCSS 설정 오류 + 빌드 실패

두 문제를 같은 해결책으로 처리하지 않는 것이 이번 글의 핵심입니다.

CSS validation을 끄면 해결인가

일반 CSS validation을 끄면 경고가 사라질 수 있습니다.

하지만 모든 프로젝트에서 전역 validation을 끄는 방식은 권장하지 않습니다.

먼저 Tailwind 공식 extension과 현재 파일의 언어 모드가 문제를 해결할 수 있는지 확인합니다.

설정 변경이 필요하다면 workspace 범위로 제한하고 이유를 문서화합니다.

Unknown at rule 진단 순서

1. pnpm dev 또는 pnpm build 실행
2. 실제 빌드 성공 여부 확인
3. Tailwind 설치 버전 확인
4. CSS의 현재 Tailwind 문법 확인
5. PostCSS plugin 설정 확인
6. VS Code Tailwind CSS IntelliSense 확인
7. 파일 language mode 확인
8. 필요한 경우에만 CSS validation 조정

자주 발생하는 실수

경고만 보고 Tailwind 설치를 다시 합니다

빌드가 정상이라면 의존성 재설치는 문제 해결과 관계없을 수 있습니다.

과거 v3 설정과 현재 설정을 섞습니다

발행 시점 공식 문서를 기준으로 같은 세대의 설치 방식만 사용합니다.

vscode 설정으로 모든 unknownAtRules를 무시합니다

실제 CSS 오타까지 놓칠 수 있습니다.

경고 범위를 이해한 뒤 최소한으로 조정합니다.

TaskFlow 메인 앱에 Tailwind를 강제로 추가합니다

이 과정의 목표는 개발환경 진단입니다.

Tailwind 자체 학습은 Tailwind CSS 과정이 담당합니다.

학습 완료 체크리스트

  • Unknown at rule이 실제 빌드 오류인지 에디터 경고인지 구분할 수 있습니다.
  • 현재 Tailwind 설치 버전을 확인할 수 있습니다.
  • 공식 IntelliSense extension의 역할을 이해했습니다.
  • PostCSS plugin 연결 상태를 확인할 수 있습니다.
  • 과거 버전 설정을 현재 프로젝트에 섞지 않습니다.
  • validation 비활성화를 첫 해결책으로 사용하지 않습니다.

선택 실습: 같은 프로젝트로 연습하기

TaskFlow는 작업을 관리하는 예제 앱입니다. 이 선택 실습에서는 앱을 실행·개발하는 환경과 설정을 준비합니다.

아래는 이번 회차 완료 시점의 전체 소스입니다. 파일 경로는 압축을 푼 체크포인트 폴더를 기준으로 합니다.

선택: 연재 프로젝트와 전체 자료

연재 프로젝트를 이어 만드는 분을 위한 자료입니다. 이 글의 개념과 예제만 찾으셨다면 필요한 파일과 실행 방법만 펼쳐보세요.

TaskFlow 프로젝트 적용

시작 체크포인트: 이전 글의 적용·완료 확인과 이전 회차 시작 ZIP을 기준으로 아래 변경 파일을 수정합니다. 메인 앱은 루트에서 실행하고, labs는 해당 폴더의 package.json과 잠금 파일을 기준으로 따로 실행합니다.

이전 완료본과 달라진 파일: docs/development-environment.md, README.md, labs/tailwind-at-rule/.vscode/extensions.json, labs/tailwind-at-rule/.vscode/settings.json, labs/tailwind-at-rule/index.html, labs/tailwind-at-rule/package.json, labs/tailwind-at-rule/pnpm-workspace.yaml, labs/tailwind-at-rule/postcss.config.js, labs/tailwind-at-rule/README.md, labs/tailwind-at-rule/src/style.css. 전체 코드에서 같은 경로를 찾아 기존 내용을 대조합니다. ZIP의 자동 생성 lockfile도 해당 패키지 폴더와 함께 유지합니다.

Tailwind 자체의 utility class 학습은 이 글의 범위가 아닙니다.

다음 정도만 알고 시작합니다.

CSS 파일
Vite 개발 서버
PostCSS 개념
VS Code extension

이 글을 읽고 바로 확인할 것

독자 질문: Tailwind CSS의 Unknown at rule은 편집기 경고인가, 빌드 오류인가요?

얻을 결과: 에디터 진단과 실제 PostCSS 빌드를 분리해 점검할 수 있습니다.

직접 따라 할 순서

  1. 문제가 나는 CSS 규칙을 확인하고 Tailwind lab의 빌드를 실행합니다.
  2. 빌드가 실패하면 Tailwind와 @tailwindcss/postcss 설정 조합을 확인합니다.
  3. 설정을 수정한 뒤 같은 빌드를 재실행하고 VS Code 경고는 별도로 확인합니다.

확인 결과 기준: 빌드가 성공하면 PostCSS 오류 복구를 확인한 것입니다. VS Code 경고 소멸 여부는 실제 편집기에서 따로 확인해야 합니다.

편집 검증 범위: 이번 보강에서 위 명령과 화면은 다시 실행하지 않았습니다(미확인). 본문 아래의 기존 실행 검증표는 이전 작업에서 기록한 결과이며, 독자는 자신의 환경에서 위 기준으로 확인해 주세요.

다음 학습: Storybook Failed to fetch dynamically imported module 해결 (Vite)

이전 체크포인트

dev-env-step-07-pnpm-recovery

이번 변경

메인 TaskFlow 앱은 변경하지 않습니다.

labs/tailwind-at-rule 추가
에디터 경고 재현
빌드 오류 재현
두 문제의 진단 순서 문서화

검증

lab에서 다음을 각각 확인합니다.

pnpm dev
pnpm build

VS Code 경고가 남아 있는지와 실제 빌드 결과를 별도로 기록합니다.

완료 체크포인트

dev-env-step-08-tailwind-editor-fix

최종 체크포인트에는 정상 빌드 상태만 저장합니다.

전체 파일·코드 보기

실습 프로젝트 전체 코드

아래는 이번 회차 완료 시점의 전체 소스입니다. 파일 경로는 압축을 푼 체크포인트 폴더를 기준으로 합니다. 자동 생성되는 lockfile은 ZIP에 포함하며, node_modules·빌드 결과·실제 비밀값은 포함하지 않습니다. 메인 앱과 각 lab은 별도의 설치 범위를 유지합니다.

.gitignore

node_modules/
dist/
storybook-static/
.env.local
.env.*.local

apps/web/.env.example

VITE_API_URL=https://api.example.invalid
VITE_APP_NAME=TaskFlow

apps/web/eslint.config.js

import js from '@eslint/js';
import { defineConfig } from 'eslint/config';
import globals from 'globals';

export default defineConfig([
  { ignores: ['dist/**'] },
  js.configs.recommended,
  {
    files: ['src/**/*.js'],
    languageOptions: { globals: globals.browser },
    rules: { 'no-console': 'warn' },
  },
]);

apps/web/index.html

<!doctype html>
<html lang="ko">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>TaskFlow 개발환경</title></head>
<body><main id="app"></main><script type="module" src="/src/main.js"></script></body>
</html>

apps/web/package.json

{
  "name": "@taskflow/web",
  "private": true,
  "type": "module",
  "scripts": {
    "dev": "vite --host 127.0.0.1",
    "build": "vite build",
    "lint": "eslint ."
  },
  "devDependencies": {
    "vite": "8.3.0",
    "eslint": "10.11.0",
    "@eslint/js": "10.0.1",
    "globals": "17.12.0"
  }
}

apps/web/src/config/env.js

const apiUrl = import.meta.env.VITE_API_URL;
const appName = import.meta.env.VITE_APP_NAME;

if (!apiUrl) {
  throw new Error('VITE_API_URL 환경 변수가 필요합니다.');
}

export const env = {
  apiUrl,
  appName: appName || 'TaskFlow',
};

apps/web/src/main.js

import './style.css';
import { env } from './config/env.js';

const app = document.querySelector('#app');
const title = document.createElement('h1');
title.textContent = env.appName;
const status = document.createElement('p');
status.textContent = '개발환경 스타터가 실행 중입니다.';
const api = document.createElement('p');
api.id = 'api-url';
api.textContent = `API URL: ${env.apiUrl}`;
app.append(title, status, api);

apps/web/src/style.css

body { margin: 0; color: #202020; background: #f6f6f6; font: 16px/1.6 system-ui, sans-serif; }
main { max-width: 720px; margin: 64px auto; padding: 24px; }
h1 { font-size: 30px; font-weight: 500; }
p { overflow-wrap: anywhere; }

docs/development-environment.md

# TaskFlow 개발환경

이 스타터는 개발환경 진단을 위한 최소 Vite/vanilla JavaScript 앱입니다. 할 일 관리 기능이나 API 서버는 포함하지 않습니다.

Node.js 24.19.0, pnpm 11.19.0으로 검증했습니다. 루트는 pnpm만 사용하며 apps/*만 workspace입니다. labs의 npm/Yarn/pnpm 실습은 독립 프로젝트입니다.

## 2회차

메인 앱은 pnpm을 유지합니다. labs/yarn-modern은 독립 Yarn 실습입니다.

## 3회차

apps/web/.env.example을 apps/web/.env.local로 복사합니다. .invalid 주소는 표시만 하며 실제 API 호출은 하지 않습니다. 공개 샘플값만 제공하고 로컬 파일은 ZIP에서 제외합니다.

## 4회차

Vite 루트는 apps/web입니다. env.js가 필수 VITE_API_URL을 검사하고 화면에 공개 URL을 표시합니다.

## 5회차

ESLint 설정과 의존성은 apps/web에 있습니다. 루트 pnpm lint가 앱의 eslint .을 호출합니다.

## 6회차

npm ERESOLVE 실습은 labs/npm-eresolve에서 실행합니다. 최종본은 react와 react-dom 19.3.0 호환 조합입니다.

## 7회차

설치 오류는 경로 → Node/pnpm 버전 → workspace → package.json → lockfile 순으로 확인합니다. 새 폴더에서 pnpm install --frozen-lockfile로 재현합니다.

## 8회차

Tailwind lab은 독립 pnpm 프로젝트입니다. PostCSS 빌드와 VS Code 언어 모드/확장 상태를 구분합니다. VS Code GUI 경고는 이번 자동 검증 범위에 포함하지 않았습니다.

package.json

{
  "name": "taskflow",
  "private": true,
  "packageManager": "pnpm@11.19.0",
  "engines": {
    "node": ">=24"
  },
  "scripts": {
    "dev": "pnpm --filter @taskflow/web dev",
    "build": "pnpm --filter @taskflow/web build",
    "lint": "pnpm --filter @taskflow/web lint"
  }
}

pnpm-workspace.yaml

packages:
  - "apps/*"

README.md

# TaskFlow 개발환경 08 완료 체크포인트

Node.js 24.19.0 / pnpm 11.19.0 검증 기준입니다. pnpm을 별도로 설치한 환경에서 실행하세요. ZIP에는 node_modules, dist, 로컬 환경 변수, 실제 비밀값이 없습니다.

1. 이 폴더에서 `pnpm install --frozen-lockfile`
2. PowerShell: `Copy-Item apps/web/.env.example apps/web/.env.local` 또는 macOS/Linux: `cp apps/web/.env.example apps/web/.env.local`
3. `pnpm dev` 후 http://127.0.0.1:5173 확인
4. `pnpm build`
5. `pnpm lint`

apps/web가 Vite 루트입니다. 환경 변수도 이 폴더에 둡니다. 표시용 API 주소에 실제 요청을 보내지 않습니다. labs는 메인 workspace에서 제외되어 각 폴더에서 별도 설치합니다.

원문 단계별 전체 파일과 실행 검증 범위는 docs/development-environment.md를 확인하세요.

labs/yarn-modern/.yarnrc.yml

nodeLinker: node-modules

labs/yarn-modern/package.json

{
  "name": "taskflow-yarn-lab",
  "private": true,
  "type": "module",
  "packageManager": "yarn@4.18.0",
  "scripts": {
    "dev": "node src/main.js",
    "lint": "node --check src/main.js"
  }
}

labs/yarn-modern/src/main.js

console.log('TaskFlow Yarn 독립 실습');

labs/npm-eresolve/package.json

{
  "name": "taskflow-npm-eresolve",
  "private": true,
  "type": "module",
  "packageManager": "npm@11.16.0",
  "scripts": {
    "test": "node verify.mjs"
  },
  "dependencies": {
    "react": "19.3.0",
    "react-dom": "19.3.0"
  }
}

labs/npm-eresolve/README.md

# npm ERESOLVE 실습

이 폴더에서만 npm을 사용합니다.

오류 재현: `npm install react@18.3.1 react-dom@19.3.0 --save-exact`

복구: `npm install react@19.3.0 react-dom@19.3.0 --save-exact`

검증: `npm ls react react-dom`, `npm test`

react-dom 19.3.0의 peerDependencies는 react ^19.3.0입니다. 최종 package.json은 복구된 상태입니다.

labs/npm-eresolve/verify.mjs

import { createElement } from 'react';
import { renderToString } from 'react-dom/server';
import assert from 'node:assert/strict';
const html = renderToString(createElement('p', null, 'TaskFlow'));
assert.equal(html, '<p>TaskFlow</p>');
console.log('React 서버 렌더링 통과');

labs/tailwind-at-rule/.vscode/extensions.json

{
  "recommendations": [
    "bradlc.vscode-tailwindcss"
  ]
}

labs/tailwind-at-rule/.vscode/settings.json

{
  "files.associations": {
    "*.css": "tailwindcss"
  }
}

labs/tailwind-at-rule/index.html

<!doctype html>
<html lang="ko"><head><meta charset="UTF-8"><title>Tailwind lab</title><link rel="stylesheet" href="/src/style.css"></head><body><h1 class="text-brand text-2xl">TaskFlow Tailwind</h1></body></html>

labs/tailwind-at-rule/package.json

{
  "name": "taskflow-tailwind-lab",
  "private": true,
  "type": "module",
  "packageManager": "pnpm@11.19.0",
  "scripts": {
    "dev": "vite --host 127.0.0.1",
    "build": "vite build"
  },
  "devDependencies": {
    "vite": "8.3.0",
    "tailwindcss": "4.3.3",
    "@tailwindcss/postcss": "4.3.3",
    "postcss": "8.5.28"
  }
}

labs/tailwind-at-rule/pnpm-workspace.yaml

packages:
  - "."

labs/tailwind-at-rule/postcss.config.js

export default {
  plugins: { '@tailwindcss/postcss': {} },
};

labs/tailwind-at-rule/README.md

# Tailwind lab

이 폴더에서 `pnpm install --frozen-lockfile`, `pnpm dev`, `pnpm build`를 실행합니다.

빌드 오류 재현은 postcss.config.js의 plugin을 tailwindcss로 바꿔 확인하고, @tailwindcss/postcss로 복구합니다. VS Code에는 Tailwind CSS IntelliSense를 설치하고 이 폴더를 열어 언어 모드를 확인합니다. 전역 CSS 검사는 끄지 않습니다.

labs/tailwind-at-rule/src/style.css

@import "tailwindcss";

@theme {
  --color-brand: #111111;
}

실행 검증 결과

검증 환경: Windows · Node.js 24.19.0 · pnpm 11.19.0 · Vite 8.3.0 · ESLint 10.11.0.

항목 확인 결과
메인 앱 pnpm install --frozen-lockfile 성공
메인 앱 pnpm build 성공
메인 앱 pnpm lint 성공
Tailwind lab의 잘못된 PostCSS plugin 예상 빌드 실패 재현
@tailwindcss/postcss로 복구한 빌드 성공
VS Code의 경고·언어 모드 화면 미검증 · 사용 환경에서 직접 확인 필요

메인 앱의 개발 서버 응답과 환경 변수 변환은 1·4·5·11회차에서 대표 확인했습니다. 선택 lab과 에디터 기능은 위에 표시한 범위만 검증했으며, 운영 배포 검증은 포함하지 않습니다.

다음 학습

다음 글에서는 Storybook과 Vite에서 동적 import 모듈을 가져오지 못할 때 브라우저 네트워크 요청과 import 경로부터 확인합니다.

다음 글: Storybook Failed to fetch dynamically imported module 해결 (Vite)

공식 문서

체크포인트 다운로드

dev-env-step-08-tailwind-editor-fix 완료 ZIP 다운로드

이전 회차 시작 체크포인트 ZIP

글 소개·학습 준비·전체 목차
Tailwind CSS 경고 해결을 표현한 편집기와 붓, 곰 표지

개발환경 · 8 / 11 · 오류 해결 · Tailwind CSS Unknown at rule

VS Code에서 Tailwind CSS 파일에 노란색 또는 빨간색 밑줄이 보인다고 해서 실제 빌드가 실패한 것은 아닙니다.

Tailwind CSS는 @theme, @variant, @source 같은 자체 문법을 사용할 수 있고, 일반 CSS 검사기는 이를 모르는 at-rule로 판단할 수 있습니다.

이번 글에서는 “에디터 경고”와 “실제 PostCSS/Tailwind 빌드 오류”를 먼저 구분한 뒤 필요한 설정만 수정합니다.

이번 글에서 배우는 내용

  • Unknown at rule 경고가 생기는 이유
  • VS Code CSS validation과 Tailwind 문법 차이
  • Tailwind CSS IntelliSense 역할
  • 실제 빌드 오류와 에디터 경고 구분
  • PostCSS 연결 확인
  • Tailwind 주요 버전별 설정 차이를 확인해야 하는 이유
  • 무조건 ignore 설정을 추가하면 안 되는 이유
  • 별도 lab에서 오류를 재현하고 복구하는 방법

선수 지식

CSS·Vite·PostCSS와 VS Code 확장의 역할을 알고 시작합니다. 아래 lab은 메인 앱과 독립된 pnpm 프로젝트입니다.

Node.js·pnpm 설치와 공통 실행 기준은 pnpm 환경 준비에서 확인합니다.

목차

  1. 가장 먼저 빌드가 되는지 확인하기
  2. 왜 VS Code가 경고하는가
  3. Tailwind CSS IntelliSense 확인
  4. 실제 빌드가 실패한다면 PostCSS 확인
  5. 버전 혼합이 문제를 만든다
  6. labs에서 재현하기
  7. CSS validation을 끄면 해결인가
  8. Unknown at rule 진단 순서
  9. 자주 발생하는 실수
  10. 학습 완료 체크리스트
  11. 독립 실습: PostCSS와 에디터 경고 분리
  12. TaskFlow 프로젝트 적용
  13. 이 글을 읽고 바로 확인할 것
  14. 실습 프로젝트 전체 코드
  15. 실행 검증 결과
  16. 다음 학습
  17. 공식 문서

이 글이 도움이 되었나요?

조회 중

읽음 기록

읽음 — / 전체 11개 · 필수 6개

이 글을 쓴 해비

웹사이트를 제작·운영하고, 개인 서비스와 자동화·AI 도구를 만듭니다. 직접 만들며 배운 내용과 문제 해결 과정을 BlogFlow에 기록합니다.

새 글 받아보기

RSS 리더에서 BlogFlow의 새 글을 확인할 수 있습니다.

RSS 피드 구독하기

댓글 남기기