カンバンボード Kanban Board
タスクをカラム別に分けて表示するボード。ステータス管理やワークフロー可視化に最適。
ライブデモ
Todo 3
LP デザイン作成
APIエンドポイント設計
テストケース作成
In Progress 2
認証機能の実装
DB スキーマ設計
Done 1
要件定義書作成
ソースコード
<div class="demo-kanban">
<div class="demo-kanban-col">
<div class="demo-kanban-header">
<span class="demo-kanban-dot" style="background:var(--ui-primary);"></span>
<span class="demo-kanban-title">Todo</span>
<span class="demo-kanban-count">3</span>
</div>
<div class="demo-kanban-cards">
<div class="demo-kanban-card" draggable="true">
<div class="demo-kanban-card-title">LP デザイン作成</div>
<div class="demo-kanban-card-tags"><span class="demo-kanban-tag">design</span></div>
</div>
<div class="demo-kanban-card" draggable="true">
<div class="demo-kanban-card-title">APIエンドポイント設計</div>
<div class="demo-kanban-card-tags"><span class="demo-kanban-tag">backend</span></div>
</div>
<div class="demo-kanban-card" draggable="true">
<div class="demo-kanban-card-title">テストケース作成</div>
<div class="demo-kanban-card-tags"><span class="demo-kanban-tag">qa</span></div>
</div>
</div>
</div>
<div class="demo-kanban-col">
<div class="demo-kanban-header">
<span class="demo-kanban-dot" style="background:#f59e0b;"></span>
<span class="demo-kanban-title">In Progress</span>
<span class="demo-kanban-count">2</span>
</div>
<div class="demo-kanban-cards">
<div class="demo-kanban-card" draggable="true">
<div class="demo-kanban-card-title">認証機能の実装</div>
<div class="demo-kanban-card-tags"><span class="demo-kanban-tag">frontend</span></div>
</div>
<div class="demo-kanban-card" draggable="true">
<div class="demo-kanban-card-title">DB スキーマ設計</div>
<div class="demo-kanban-card-tags"><span class="demo-kanban-tag">backend</span></div>
</div>
</div>
</div>
<div class="demo-kanban-col">
<div class="demo-kanban-header">
<span class="demo-kanban-dot" style="background:#10b981;"></span>
<span class="demo-kanban-title">Done</span>
<span class="demo-kanban-count">1</span>
</div>
<div class="demo-kanban-cards">
<div class="demo-kanban-card" draggable="true">
<div class="demo-kanban-card-title">要件定義書作成</div>
<div class="demo-kanban-card-tags"><span class="demo-kanban-tag">docs</span></div>
</div>
</div>
</div>
</div>.demo-kanban {
display: flex; gap: 12px; overflow-x: auto;
padding-bottom: 4px;
}
.demo-kanban-col {
flex: 1; min-width: 160px;
background: #f3f4f6; border-radius: 10px; padding: 12px;
}
.demo-kanban-header {
display: flex; align-items: center; gap: 8px;
margin-bottom: 12px;
}
.demo-kanban-dot {
width: 10px; height: 10px; border-radius: 50%;
}
.demo-kanban-title {
font-size: 13px; font-weight: 700; color: #333; flex: 1;
}
.demo-kanban-count {
font-size: 11px; color: #999; background: #e5e7eb;
padding: 1px 8px; border-radius: 10px;
}
.demo-kanban-cards {
display: flex; flex-direction: column; gap: 8px;
min-height: 40px;
}
.demo-kanban-card {
background: #fff; border-radius: 8px; padding: 10px 12px;
box-shadow: 0 1px 3px rgba(0,0,0,0.06);
cursor: grab; transition: box-shadow 0.2s, transform 0.15s;
}
.demo-kanban-card:hover {
box-shadow: 0 3px 8px rgba(0,0,0,0.1);
transform: translateY(-1px);
}
.demo-kanban-card.dragging {
opacity: 0.5; transform: rotate(2deg);
}
.demo-kanban-card-title {
font-size: 13px; font-weight: 600; color: #333;
}
.demo-kanban-card-tags { margin-top: 8px; }
.demo-kanban-tag {
font-size: 10px; padding: 2px 8px; border-radius: 4px;
background: color-mix(in srgb, var(--ui-primary) 10%, transparent);
color: var(--ui-primary); font-weight: 500;
}
.demo-kanban-col.drag-over {
background: color-mix(in srgb, var(--ui-primary) 8%, #f3f4f6);
}(function(){
const cards = document.querySelectorAll('.demo-kanban-card');
const cols = document.querySelectorAll('.demo-kanban-cards');
let dragged = null;
cards.forEach(card => {
card.addEventListener('dragstart', function(){ dragged = this; this.classList.add('dragging'); });
card.addEventListener('dragend', function(){ this.classList.remove('dragging'); dragged = null;
document.querySelectorAll('.demo-kanban-col').forEach(c => c.classList.remove('drag-over'));
});
});
cols.forEach(col => {
col.addEventListener('dragover', function(e){ e.preventDefault(); this.closest('.demo-kanban-col').classList.add('drag-over'); });
col.addEventListener('dragleave', function(){ this.closest('.demo-kanban-col').classList.remove('drag-over'); });
col.addEventListener('drop', function(e){ e.preventDefault();
this.closest('.demo-kanban-col').classList.remove('drag-over');
if(dragged) this.appendChild(dragged);
});
});
})();AIプロンプト
Basic
カンバンボードをHTML/CSSで作ってください。Todo・進行中・完了の3カラムでタスクカードを表示します。
Custom
以下の仕様でカンバンボードを実装してください。 - 3カラム構成(Todo/In Progress/Done) - カードにタイトル・担当者・タグ・期限を表示 - ドラッグ&ドロップでカード移動 - プライマリカラー: #2563eb - カード追加ボタン付き - カラムヘッダーにタスク数バッジ
Advanced
高機能なカンバンボードを実装してください。 - ドラッグ&ドロップ(カード移動 + カラム並替え) - カードの追加・編集・削除(インラインエディット) - フィルタリング(担当者・タグ・期限で絞り込み) - WIPリミット(カラムごとのカード数上限) - ローカルストレージによる状態永続化 - キーボード操作対応 - リアルタイム更新のシミュレーション