A to-do lista egy alapvető projekt, amely segít elsajátítani a front-end fejlesztés alapjait. Ebben a cikkben bemutatjuk, hogyan készíthetsz egy egyszerű és funkcionális to-do listát HTML, CSS és JavaScript használatával. Az eredmény egy reszponzív, modern megjelenésű alkalmazás lesz, amelyen új feladatokat adhatsz hozzá, kipipálhatod azokat, és törölheted is őket.
1. lépés: Alap HTML Struktúra
Kezdjük az alap HTML struktúrával. Hozzuk létre az index.html file-t. Ez tartalmaz egy input mezőt a feladatok beviteléhez, egy „Hozzáadás” gombot, valamint egy listaelemet, amely a feladatokat fogja tárolni.
<!DOCTYPE html>
<html lang="hu">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>To-Do Lista</title>
<link rel="stylesheet" href="css/style.css">
</head>
<body>
<div class="todo-container">
<h1>To-Do Lista</h1>
<div class="input-container">
<input type="text" id="todo-input" placeholder="Új feladat...">
<button id="add-button">Hozzáadás</button>
</div>
<ul id="todo-list"></ul>
</div>
<script src="js/script.js"></script>
</body>
</html>2. lépés: Alap CSS Stílusok
A stílusokkal modern, tiszta kinézetet érhetünk el. Hozzuk létre a style.css fájlt az alábbi tartalommal. Hozzuk létre a css/style.css
/* Alap stílusok */
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
background-color: #f4f4f4;
}
.todo-container {
background: white;
padding: 20px;
border-radius: 8px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
width: 100%;
max-width: 400px;
text-align: center;
}
h1 {
margin-bottom: 20px;
color: #333;
}
.input-container {
display: flex;
gap: 10px;
margin-bottom: 20px;
}
input[type="text"] {
flex: 1;
padding: 10px;
border: 1px solid #ddd;
border-radius: 4px;
font-size: 16px;
}
button {
padding: 10px 20px;
border: none;
background-color: #007BFF;
color: white;
font-size: 16px;
border-radius: 4px;
cursor: pointer;
}
button:hover {
background-color: #0056b3;
}
ul {
list-style-type: none;
padding: 0;
}
li {
padding: 10px;
background: #f9f9f9;
margin: 5px 0;
border-radius: 4px;
display: flex;
justify-content: space-between;
align-items: center;
}
li.completed {
text-decoration: line-through;
color: #888;
}
.delete-btn {
background: #ff4d4d;
color: white;
border: none;
padding: 5px 10px;
border-radius: 4px;
cursor: pointer;
}
.delete-btn:hover {
background: #cc0000;
}3. lépés: Funkciók JavaScript segítségével
Hozzunk létre egy script.js fájlt, amely kezeli a feladatok hozzáadását, kipipálását és törlését. js/script.js
// Változók
const addButton = document.getElementById('add-button');
const todoInput = document.getElementById('todo-input');
const todoList = document.getElementById('todo-list');
// Feladat hozzáadása
addButton.addEventListener('click', () => {
const task = todoInput.value.trim();
if (task) {
const li = document.createElement('li');
li.textContent = task;
// Törlés gomb
const deleteButton = document.createElement('button');
deleteButton.textContent = 'Törlés';
deleteButton.classList.add('delete-btn');
deleteButton.addEventListener('click', () => {
li.remove();
});
// Kész állapot váltása
li.addEventListener('click', () => {
li.classList.toggle('completed');
});
li.appendChild(deleteButton);
todoList.appendChild(li);
todoInput.value = ''; // Input mező kiürítése
}
});Mappa struktúra
Projekt mappa
│
├── index.html # A fő HTML fájl
├── css # Stílusokat tartalmazó mappa
│ └── style.css # Az alkalmazás CSS fájlja
├── js # JavaScript kódokat tartalmazó mappa
│ └── script.js # Az alkalmazás funkcionális JavaScript kódja
└── README.md # Opcionális: Rövid dokumentáció a projekthez (pl. fejlesztési jegyzetek, használati utasítás)