├── .gitignore ├── assets ├── code.png └── html.svg ├── .github ├── FUNDING.yml ├── CONTRIBUTING.md └── PULL_REQUEST_TEMPLATE.md ├── .prettierrc ├── SECURITY.md ├── LICENSE.txt ├── CODE_OF_CONDUCT.md └── README.md /.gitignore: -------------------------------------------------------------------------------- 1 | #Junk 2 | .DS_Store 3 | .vscode/ 4 | .idea/ 5 | -------------------------------------------------------------------------------- /assets/code.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/DevLoversTeam/html-interview-questions/HEAD/assets/code.png -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # FUNDING.yml 2 | # Налаштування можливостей підтримки проєкту 3 | 4 | github: ViktorSvertoka 5 | buy_me_a_coffee: viktor.svertoka 6 | -------------------------------------------------------------------------------- /.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "printWidth": 80, 3 | "useTabs": false, 4 | "semi": true, 5 | "singleQuote": true, 6 | "trailingComma": "es5", 7 | "bracketSpacing": true, 8 | "arrowParens": "avoid", 9 | "proseWrap": "always" 10 | } 11 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # 🧠 Як зробити внесок у DevLovers 2 | 3 | Дякуємо, що хочете зробити внесок у наш проєкт! Нижче описано кілька простих правил, які допоможуть вам підготувати якісний pull request. 4 | 5 | ## 🔧 Формат доповнення 6 | 7 | - Кожне питання повинне бути оформлене в HTML-елементі `
` зі структурою: 8 | 9 | ![Code](../assets/code.png) 10 | -------------------------------------------------------------------------------- /assets/html.svg: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Чекліст: 6 | 7 | - [ ] Я ознайомився з [CONTRIBUTING.md](CONTRIBUTING.md) і дотримувався вказівок. 8 | - [ ] Моє доповнення не дублює вже існуюче питання чи відповідь. 9 | - [ ] Я додав(ла) нове запитання у відповідному форматі (див. існуючі приклади). 10 | - [ ] Я додав(ла) нове запитання **в кінець файлу** з **наступним за порядком номером**. 11 | 12 | --- 13 | 14 | 15 | 16 | ... 17 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # 🔒 Security Policy 2 | 3 | ## Reporting a Vulnerability 4 | 5 | If you discover a security issue in any of my projects, I would greatly appreciate your help in resolving it responsibly. Here's how you can report it: 6 | 7 | 1. **Contact me:** 8 | Please send an email to **[devlovers.net@gmail.com](mailto:devlovers.net@gmail.com)** with: 9 | 10 | - A clear description of the issue. 11 | - Steps to reproduce the vulnerability. 12 | - Any relevant code or logs for better understanding. 13 | 14 | 2. **Handling process:** 15 | 16 | - I will acknowledge your report within **48 hours**. 17 | - Together, we will work on resolving the issue as quickly as possible. 18 | 19 | 3. **Confidentiality:** 20 | Please keep the details of the vulnerability private until it has been resolved. 21 | 22 | Your cooperation helps ensure the safety and security of my work. Thank you for contributing to a safer tech environment! 🙌 23 | -------------------------------------------------------------------------------- /LICENSE.txt: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 DevLovers 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. -------------------------------------------------------------------------------- /CODE_OF_CONDUCT.md: -------------------------------------------------------------------------------- 1 | # Contributor Covenant Code of Conduct 2 | 3 | ## Our Pledge 4 | 5 | We as members, contributors, and leaders pledge to make participation in our 6 | community a harassment-free experience for everyone, regardless of age, body 7 | size, visible or invisible disability, ethnicity, sex characteristics, gender 8 | identity and expression, level of experience, education, socio-economic status, 9 | nationality, personal appearance, race, religion, or sexual identity and 10 | orientation. 11 | 12 | We pledge to act and interact in ways that contribute to an open, welcoming, 13 | diverse, inclusive, and healthy community. 14 | 15 | ## Our Standards 16 | 17 | Examples of behavior that contributes to a positive environment for our 18 | community include: 19 | 20 | - Demonstrating empathy and kindness toward other people 21 | - Being respectful of differing opinions, viewpoints, and experiences 22 | - Giving and gracefully accepting constructive feedback 23 | - Accepting responsibility and apologizing to those affected by our mistakes, 24 | and learning from the experience 25 | - Focusing on what is best not just for us as individuals, but for the overall 26 | community 27 | 28 | Examples of unacceptable behavior include: 29 | 30 | - The use of sexualized language or imagery, and sexual attention or advances of 31 | any kind 32 | - Trolling, insulting or derogatory comments, and personal or political attacks 33 | - Public or private harassment 34 | - Publishing others' private information, such as a physical or email address, 35 | without their explicit permission 36 | - Other conduct which could reasonably be considered inappropriate in a 37 | professional setting 38 | 39 | ## Enforcement Responsibilities 40 | 41 | Community leaders are responsible for clarifying and enforcing our standards of 42 | acceptable behavior and will take appropriate and fair corrective action in 43 | response to any behavior that they deem inappropriate, threatening, offensive, 44 | or harmful. 45 | 46 | Community leaders have the right and responsibility to remove, edit, or reject 47 | comments, commits, code, wiki edits, issues, and other contributions that are 48 | not aligned to this Code of Conduct, and will communicate reasons for moderation 49 | decisions when appropriate. 50 | 51 | ## Scope 52 | 53 | This Code of Conduct applies within all community spaces, and also applies when 54 | an individual is officially representing the community in public spaces. 55 | Examples of representing our community include using an official e-mail address, 56 | posting via an official social media account, or acting as an appointed 57 | representative at an online or offline event. 58 | 59 | ## Enforcement 60 | 61 | Instances of abusive, harassing, or otherwise unacceptable behavior may be 62 | reported to the community leaders responsible for enforcement at 63 | [devlovers.net@gmail.com](mailto:devlovers.net@gmail.com). All complaints will 64 | be reviewed and investigated promptly and fairly. 65 | 66 | All community leaders are obligated to respect the privacy and security of the 67 | reporter of any incident. 68 | 69 | ## Enforcement Guidelines 70 | 71 | Community leaders will follow these Community Impact Guidelines in determining 72 | the consequences for any action they deem in violation of this Code of Conduct: 73 | 74 | ### 1. Correction 75 | 76 | **Community Impact**: Use of inappropriate language or other behavior deemed 77 | unprofessional or unwelcome in the community. 78 | 79 | **Consequence**: A private, written warning from community leaders, providing 80 | clarity around the nature of the violation and an explanation of why the 81 | behavior was inappropriate. A public apology may be requested. 82 | 83 | ### 2. Warning 84 | 85 | **Community Impact**: A violation through a single incident or series of 86 | actions. 87 | 88 | **Consequence**: A warning with consequences for continued behavior. No 89 | interaction with the people involved, including unsolicited interaction with 90 | those enforcing the Code of Conduct, for a specified period of time. This 91 | includes avoiding interactions in community spaces as well as external channels 92 | like social media. Violating these terms may lead to a temporary or permanent 93 | ban. 94 | 95 | ### 3. Temporary Ban 96 | 97 | **Community Impact**: A serious violation of community standards, including 98 | sustained inappropriate behavior. 99 | 100 | **Consequence**: A temporary ban from any sort of interaction or public 101 | communication with the community for a specified period of time. No public or 102 | private interaction with the people involved, including unsolicited interaction 103 | with those enforcing the Code of Conduct, is allowed during this period. 104 | Violating these terms may lead to a permanent ban. 105 | 106 | ### 4. Permanent Ban 107 | 108 | **Community Impact**: Demonstrating a pattern of violation of community 109 | standards, including sustained inappropriate behavior, harassment of an 110 | individual, or aggression toward or disparagement of classes of individuals. 111 | 112 | **Consequence**: A permanent ban from any sort of public interaction within the 113 | community. 114 | 115 | ## Attribution 116 | 117 | This Code of Conduct is adapted from the [Contributor Covenant][homepage], 118 | version 2.0, available at 119 | https://www.contributor-covenant.org/version/2/0/code_of_conduct.html. 120 | 121 | Community Impact Guidelines were inspired by 122 | [Mozilla's code of conduct enforcement ladder](https://github.com/mozilla/diversity). 123 | 124 | [homepage]: https://www.contributor-covenant.org 125 | 126 | For answers to common questions about this code of conduct, see the FAQ at 127 | https://www.contributor-covenant.org/faq. Translations are available at 128 | https://www.contributor-covenant.org/translations. 129 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | HTML HTML logo 3 |

4 | 5 |

Найпопулярніші запитання та відповіді на співбесіді з HTML

6 | 7 | ## Базові концепції HTML 8 | 9 |
10 | 1. Що означає абревіатура HTML і яке її призначення? 11 | 12 | #### HTML 13 | 14 | - HTML — HyperText Markup Language, мова розмітки для структурування вмісту 15 | вебсторінок (текст, зображення, посилання тощо). 16 | 17 | - Призначення — описувати структуру та семантику контенту, який браузер 18 | відображає користувачу. 19 | 20 |
21 | 22 |
23 | 2. Чим HTML відрізняється від CSS та JavaScript? 24 | 25 | #### HTML 26 | 27 | - **HTML** — описує структуру веб-сторінки (що є: заголовки, абзаци, зображення, 28 | посилання). 29 | 30 | - **CSS** — відповідає за оформлення і стиль (як виглядає: кольори, шрифти, 31 | розташування). 32 | 33 | - **JavaScript** — додає динаміку та інтерактивність (що робить: обробка подій, 34 | зміна DOM, анімації, логіка). 35 | 36 | Разом вони формують основу фронтенд-розробки: HTML — кістяк, CSS — одяг, 37 | JavaScript — поведінка. 38 | 39 |
40 | 41 |
42 | 3. Що таке HTML теги? 43 | 44 | #### HTML 45 | 46 | - HTML теги — це інструкції (команди), які визначають структуру та зміст 47 | веб-сторінки. 48 | 49 | - Теги пишуться у кутових дужках `< >`. 50 | 51 | - Більшість тегів мають відкриваючу та закриваючу частини: 52 | 53 | ```html 54 |

Текст абзацу

55 | ``` 56 | 57 | - Деякі теги самозакриваючі: 58 | 59 | ```html 60 |
61 | Зображення 62 | ``` 63 | 64 | - Теги можуть мати атрибути для додаткової інформації: 65 | ```html 66 | Посилання 67 | ``` 68 | 69 |
70 | 71 |
72 | 4. Що таке HTML елементи? 73 | 74 | #### HTML 75 | 76 | - HTML елемент — це повна конструкція, що складається з відкриваючого тега, 77 | контенту та закриваючого тега. 78 | 79 | #### Структура елемента: 80 | 81 | ```html 82 | контент 83 | ``` 84 | 85 | #### Приклади: 86 | 87 | - `

Заголовок

` — елемент заголовка 88 | - `

Абзац тексту

` — елемент абзацу 89 | - `Фото` — елемент зображення (самозакриваючий) 90 | 91 | Елементи можуть містити інші елементи (вкладеність) і мати атрибути для 92 | додаткових налаштувань. 93 | 94 |
95 | 96 |
97 | 5. Опишіть базову структуру HTML-сторінки? 98 | 99 | #### HTML 100 | 101 | - Основна структура HTML-документа: 102 | 103 | ```html 104 | 105 | 106 | 107 | 108 | 109 | Назва сторінки 110 | 111 | 112 | 113 | 114 | 115 | ``` 116 | 117 | - Складові: 118 | 119 | 1. `` — вказує, що документ у HTML5. 120 | 121 | 2. `` — кореневий елемент. 122 | 123 | 3. `` — метадані (кодова сторінка, заголовок, стилі, скрипти). 124 | 125 | 4. `` — видимий вміст сторінки. 126 | 127 |
128 | 129 |
130 | 6. Що таке DOCTYPE і навіщо його використовують? 131 | 132 | #### HTML 133 | 134 | - `DOCTYPE` (Document Type Declaration) — це декларація типу документа, яка 135 | повідомляє браузеру, яку версію HTML використовує сторінка. 136 | 137 | #### Синтаксис для HTML5: 138 | 139 | ```html 140 | 141 | ``` 142 | 143 | #### Призначення: 144 | 145 | - Запобігає режиму сумісності (quirks mode) браузера 146 | - Забезпечує коректне відображення сторінки згідно зі стандартами 147 | - Допомагає валідаторам перевіряти правильність коду 148 | - Має стояти першим рядком HTML-документа 149 | 150 |
151 | 152 |
153 | 7. Яка поточна версія HTML? 154 | 155 | #### HTML 156 | 157 | - Поточна версія — **HTML5**. 158 | 159 | - HTML5 є "Living Standard" (живий стандарт), що означає постійне оновлення без 160 | формальних нових версій. 161 | 162 | - Підтримується всіма сучасними браузерами. 163 | 164 | - Включає нові семантичні елементи, API, покращену підтримку мультимедіа та 165 | багато інших функцій. 166 | 167 | - Розробляється консорціумом WHATWG (Web Hypertext Application Technology 168 | Working Group). 169 | 170 |
171 | 172 |
173 | 8. Що роблять атрибути DOCTYPE та html lang? 174 | 175 | #### HTML 176 | 177 | - `` — повідомляє браузеру, що документ написаний у стандарті 178 | HTML5, щоб уникнути режиму сумісності. 179 | 180 | - `lang` у `` — вказує мову вмісту сторінки для пошукових систем, читачів 181 | екрану та інших сервісів (наприклад, lang="uk"). 182 | 183 | #### Приклад: 184 | 185 | ```html 186 | 187 | 188 | 189 | 190 | ``` 191 | 192 | Ці атрибути покращують доступність, SEO та коректність відображення сторінки. 193 | 194 |
195 | 196 |
197 | 9. Що описується в тегі head? 198 | 199 | #### HTML 200 | 201 | Тег `` містить метаінформацію про документ: 202 | 203 | 1. **Назва сторінки** — ``. 204 | 2. **Мета-теги** — `<meta>` (характеристики документа, ключові слова, опис). 205 | 3. **Підключення стилів** — `<link>` (CSS-файли). 206 | 4. **Скрипти** — `<script>` (підключення JavaScript). 207 | 5. **Фавікон** — `<link>` для іконки сайту. 208 | 6. **Інші налаштування** — наприклад, `<base>` для базового URL. 209 | 210 | #### Приклад: 211 | 212 | ```html 213 | <head> 214 | <meta charset="UTF-8" /> 215 | <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 216 | <title>Назва сторінки 217 | 218 | 219 | 220 | ``` 221 | 222 |
223 | 224 |
225 | 10. Яка різниця між тегами head та body? 226 | 227 | #### HTML 228 | 229 | - `` — містить метадані про документ (назва, кодування, стилі, скрипти, 230 | SEO-теги), не відображається безпосередньо на сторінці. 231 | 232 | - `` — містить видимий контент для користувача (текст, зображення, кнопки, 233 | відео тощо). 234 | 235 | #### Ключові відмінності: 236 | 237 | **``:** 238 | 239 | - Невидимий для користувача 240 | - Містить службову інформацію 241 | - Налаштування сторінки 242 | - SEO-дані 243 | 244 | **``:** 245 | 246 | - Видимий контент 247 | - Те, що бачить користувач 248 | - Інтерактивні елементи 249 | - Основний вміст сторінки 250 | 251 |
252 | 253 | ## Основи роботи з текстом і структурою 254 | 255 |
256 | 11. Що таке пробільний простір в HTML? 257 | 258 | #### HTML 259 | 260 | - Пробільний простір в HTML — це пробіли, табуляції та переноси рядків між 261 | елементами. 262 | 263 | #### Поведінка браузера: 264 | 265 | - Браузер автоматично **згортає** (схлопує) декілька пробілів в один 266 | - Кілька переносів рядків замінюються одним пробілом 267 | - Провідні та кінцеві пробіли ігноруються 268 | 269 | #### Приклад: 270 | 271 | ```html 272 |

Цей текст має багато пробілів

273 | ``` 274 | 275 | Відображається як: "Цей текст має багато пробілів" 276 | 277 | - Для збереження пробілів використовуйте CSS `white-space: pre` або тег `
`
 278 | 
 279 | 
280 | 281 |
282 | 12. Що таке порожні елементи в HTML? 283 | 284 | #### HTML 285 | 286 | - Порожні елементи (void elements) — це HTML теги, які не мають контенту і 287 | закриваючого тега. 288 | 289 | #### Основні порожні елементи: 290 | 291 | - `
` — розрив рядка 292 | - `
` — горизонтальна лінія 293 | - `` — зображення 294 | - `` — поле вводу 295 | - `` — метадані 296 | - `` — посилання на ресурс 297 | 298 | #### Синтаксис: 299 | 300 | ```html 301 | 302 | Фото 303 |
304 | 305 | 306 | 307 | Фото 308 |
309 | ``` 310 | 311 |
312 | 313 |
314 | 13. У чому різниця між елементами div і span? 315 | 316 | #### HTML 317 | 318 | #### `
` (блоковий елемент): 319 | 320 | - Займає всю доступну ширину 321 | - Починається з нового рядка 322 | - Має верхні та нижні відступи 323 | - Використовується для великих блоків контенту 324 | 325 | #### `` (вбудований елемент): 326 | 327 | - Займає тільки необхідну ширину 328 | - Не переносить на новий рядок 329 | - Не має вертикальних відступів 330 | - Використовується для маленьких фрагментів тексту 331 | 332 | #### Приклад: 333 | 334 | ```html 335 |
Це блоковий елемент
336 |
Він займає всю ширину
337 | 338 |

Це вбудований елемент всередині абзацу.

339 | ``` 340 | 341 |
342 | 343 |
344 | 14. Яка різниця між тегами b та strong? 345 | 346 | #### HTML 347 | 348 | - `` — просто робить текст візуально жирним, без додаткового смислового 349 | значення. 350 | 351 | - `` — робить текст жирним і додає семантичний акцент (важливість), що 352 | враховується пошуковими системами та скрінрідерами. 353 | 354 | #### Приклади: 355 | 356 | ```html 357 |

Цей текст жирний тільки візуально.

358 |

Цей текст важливий за змістом.

359 | ``` 360 | 361 | **Рекомендація:** Використовуйте `` для смислово важливого тексту, `` 362 | — тільки для стилізації без семантичного значення. 363 | 364 |
365 | 366 |
367 | 15. Коли слід використовувати em замість i, і навпаки? 368 | 369 | #### HTML 370 | 371 | - `` — виділяє текст курсивом з семантичним наголосом (інтонаційне чи 372 | логічне підкреслення важливості). 373 | 374 | - `` — відображає текст курсивом без зміни смислу (наприклад, іноземні слова, 375 | технічні терміни, назви). 376 | 377 | #### Приклади: 378 | 379 | ```html 380 | 381 |

Я дуже хочу це зробити!

382 | 383 | 384 |

Фільм Титанік вийшов в 1997 році.

385 |

Слово bonjour означає "привіт" французькою.

386 | ``` 387 | 388 | Якщо потрібно передати смисловий акцент — використовуємо ``. Якщо тільки 389 | стиль відображення — ``. 390 | 391 |
392 | 393 |
394 | 16. Яке призначення тегів small, s та mark? 395 | 396 | #### HTML 397 | 398 | - `` — робить текст меншим і семантично позначає додаткову або другорядну 399 | інформацію (примітки, дисклеймери). 400 | 401 | - `` — відображає текст закресленим, коли він втратив актуальність, але його 402 | варто залишити для перегляду. 403 | 404 | - `` — виділяє текст жовтим фоном для підсвічування важливого або 405 | знайденого фрагмента. 406 | 407 | #### Приклади: 408 | 409 | ```html 410 |

Ціна: 100 грн 80 грн

411 |

Важливо: Термін дії до 31 грудня.

412 |

Основний текст. © 2023 Всі права захищені.

413 | ``` 414 | 415 |
416 | 417 |
418 | 17. Як створити абзац або розрив рядка в HTML? 419 | 420 | #### HTML 421 | 422 | - Абзац: 423 | 424 | ```html 425 |

Текст абзацу

426 | ``` 427 | 428 | створює блок з відступами зверху і знизу. 429 | 430 | - Розрив рядка: 431 | 432 | ```html 433 | Текст першого рядка
Текст другого рядка 434 | ``` 435 | 436 | переносить текст без створення нового абзацу. 437 | 438 | #### Коли використовувати: 439 | 440 | - `

` — для окремих абзаців тексту 441 | - `
` — для примусового переносу в межах одного блоку (адреси, вірші) 442 | 443 |

444 | 445 |
446 | 18. Для чого використовуються теги sub та sup? 447 | 448 | #### HTML 449 | 450 | - `` — підрядковий текст (нижче базової лінії) 451 | - `` — надрядковий текст (вище базової лінії) 452 | 453 | #### Використання: 454 | 455 | **Математичні формули:** 456 | 457 | ```html 458 |

H2O - формула води

459 |

E = mc2 - формула Ейнштейна

460 | ``` 461 | 462 | **Хімічні формули:** 463 | 464 | ```html 465 |

CO2 - вуглекислий газ

466 | ``` 467 | 468 | **Сноски:** 469 | 470 | ```html 471 |

Цей факт1 потребує підтвердження.

472 | ``` 473 | 474 |
475 | 476 |
477 | 19. Розкажіть про тег samp? 478 | 479 | #### HTML 480 | 481 | Тег `` використовується для позначення тексту, який є результатом 482 | виконання комп'ютерної програми, наприклад, повідомлень про помилки або вихідних 483 | даних. Він відображається звичайним шрифтом, але зазвичай використовується для 484 | стилістичних цілей. 485 | 486 | Приклад використання тегу ``: 487 | 488 | ```html 489 |

Результат виконання програми: Помилка: Невірний ввід

490 |

Командний рядок повернув: Hello World!

491 | ``` 492 | 493 | **Пов'язані теги:** 494 | 495 | - `` — для фрагментів коду 496 | - `` — для клавіш клавіатури 497 | - `` — для змінних 498 | 499 |
500 | 501 | ## Атрибути та їх використання 502 | 503 |
504 | 20. Які глобальні атрибути є в HTML? 505 | 506 | #### HTML 507 | 508 | Глобальні атрибути можна використовувати з будь-яким HTML елементом: 509 | 510 | #### Основні глобальні атрибути: 511 | 512 | - `id` — унікальний ідентифікатор елемента 513 | - `class` — CSS класи для стилізації 514 | - `style` — вбудовані стилі CSS 515 | - `title` — підказка при наведенні 516 | - `lang` — мова контенту 517 | - `dir` — напрям тексту (ltr/rtl) 518 | - `tabindex` — порядок фокусування 519 | - `hidden` — приховує елемент 520 | - `data-*` — користувацькі атрибути 521 | 522 | #### Атрибути подій: 523 | 524 | - `onclick`, `onmouseover`, `onload` тощо 525 | 526 | #### Приклад: 527 | 528 | ```html 529 |
536 | Контент... 537 |
538 | ``` 539 | 540 |
541 | 542 |
543 | 21. Як використовують атрибути class та id? Яка різниця між класами та ідентифікаторами? 544 | 545 | #### HTML 546 | 547 | #### Атрибут `id`: 548 | 549 | - Унікальний ідентифікатор елемента на сторінці 550 | - Може бути тільки один елемент з конкретним id 551 | - Використовується для JavaScript, якірних посилань, CSS стилізації 552 | 553 | #### Атрибут `class`: 554 | 555 | - Групує елементи за спільними характеристиками 556 | - Один клас можна застосувати до багатьох елементів 557 | - Один елемент може мати кілька класів 558 | 559 | #### Приклади: 560 | 561 | ```html 562 | 563 | 564 | 565 | 566 | 567 |

Важливий текст

568 |

Великий важливий текст

569 | Ще важливий текст 570 | ``` 571 | 572 | #### CSS селектори: 573 | 574 | ```css 575 | #header { 576 | color: blue; 577 | } /* ID селектор */ 578 | .highlight { 579 | color: red; 580 | } /* Class селектор */ 581 | ``` 582 | 583 | **Рекомендація:** Використовуйте `id` для унікальних елементів і якірних 584 | посилань, `class` — для стилізації та групування. 585 | 586 |
587 | 588 |
589 | 22. Яке призначення атрибута alt в HTML? 590 | 591 | #### HTML 592 | 593 | - `alt` — альтернативний текст для зображення. 594 | 595 | #### Призначення: 596 | 597 | - Показується, якщо зображення не завантажилось. 598 | 599 | - Допомагає скрінрідерам робити сайт доступним. 600 | 601 | - Використовується для SEO. 602 | 603 | #### Приклади: 604 | 605 | ```html 606 | 607 | Графік продажів за 2023 рік 608 | 609 | 610 | 611 | 612 | 613 | 614 | Повернутися на головну сторінку 615 | 616 | ``` 617 | 618 | **Важливо:** Для декоративних зображень використовуйте порожній `alt=""`, щоб 619 | скрін-рідери їх ігнорували. 620 | 621 |
622 | 623 |
624 | 23. Навіщо використовується тег label? 625 | 626 | #### HTML 627 | 628 | - `
668 | 669 |
670 | 24. Що таке атрибути data-* і коли їх слід використовувати? 671 | 672 | #### HTML 673 | 674 | - `data-*` — це користувацькі атрибути для зберігання будь-яких додаткових даних 675 | у елементі HTML. 676 | 677 | #### Синтаксис: 678 | 679 | ```html 680 |
681 | ``` 682 | 683 | #### Коли використовувати: 684 | 685 | - Зберігати інформацію для JavaScript без впливу на відображення. 686 | 687 | - Легко отримувати через element.dataset.userId або element.dataset.role. 688 | 689 | - Наприклад, для інтерактивних елементів, налаштувань чи передачі даних у JS. 690 | 691 | #### Приклад використання з JavaScript: 692 | 693 | ```html 694 | 695 | 696 | 701 | ``` 702 | 703 |
704 | 705 |
706 | 25. Що таке data-атрибути, в яких випадках їх використовуєте? 707 | 708 | #### HTML 709 | 710 | - `data-*` атрибути дозволяють зберігати користувацькі дані прямо в HTML 711 | елементах. 712 | 713 | #### Випадки використання: 714 | 715 | **1. Конфігурація компонентів:** 716 | 717 | ```html 718 |
719 | 720 |
721 | ``` 722 | 723 | **2. Ідентифікація для JavaScript:** 724 | 725 | ```html 726 | 727 | John Doe 728 | 729 | 730 | ``` 731 | 732 | **3. Стан елементів:** 733 | 734 | ```html 735 | 738 | ``` 739 | 740 | **4. CSS стилізація за станом:** 741 | 742 | ```css 743 | [data-status='active'] { 744 | color: green; 745 | } 746 | [data-status='inactive'] { 747 | color: gray; 748 | } 749 | ``` 750 | 751 | **Переваги:** Валідний HTML, легкий доступ через JavaScript, не впливає на 752 | стилізацію. 753 | 754 |
755 | 756 | ## Посилання і навігація 757 | 758 |
759 | 26. Як створити гіперпосилання в HTML? 760 | 761 | #### HTML 762 | 763 | - Використовуємо тег ``: 764 | 765 | ```html 766 | Текст посилання 767 | ``` 768 | 769 | - `href` — адреса, куди веде посилання. 770 | 771 | - Можна додати `target="_blank"` для відкриття в новій вкладці. 772 | 773 | #### Різні типи посилань: 774 | 775 | ```html 776 | 777 | Google 778 | 779 | 780 | Про нас 781 | 782 | 783 | Написати листа 784 | 785 | 786 | Зателефонувати 787 | 788 | 789 | Завантажити PDF 790 | ``` 791 | 792 |
793 | 794 |
795 | 27. Що таке внутрішні та зовнішні гіперпосилання і які вони мають атрибути? 796 | 797 | #### HTML 798 | 799 | #### Зовнішні посилання: 800 | 801 | - Ведуть на інші веб-сайти 802 | - Починаються з `http://` або `https://` 803 | 804 | #### Внутрішні посилання: 805 | 806 | - Ведуть на сторінки того самого сайту 807 | - Використовують відносні або абсолютні шляхи 808 | 809 | #### Основні атрибути: 810 | 811 | ```html 812 | 813 | 819 | Зовнішній сайт 820 | 821 | 822 | 823 | Контакти 824 | 825 | 826 | Розділ 1 827 | ``` 828 | 829 | **Атрибути:** 830 | 831 | - `href` — URL адреса 832 | - `target` — де відкрити (\_blank, \_self, \_parent, \_top) 833 | - `rel` — відношення до цільової сторінки 834 | - `title` — підказка при наведенні 835 | 836 |
837 | 838 |
839 | 28. Яка різниця між відносними та абсолютними URL-адресами? 840 | 841 | #### HTML 842 | 843 | **Абсолютний URL** — містить повний шлях із протоколом і доменом. 844 | 845 | ```html 846 | Посилання 847 | ``` 848 | 849 | - Використовується для переходів на зовнішні ресурси або між доменами. 850 | 851 | **Відносний URL** — вказує шлях відносно поточного документа. 852 | 853 | ```html 854 | Посилання 855 | Посилання 856 | Посилання 857 | ``` 858 | 859 | #### Типи відносних URL: 860 | 861 | ```html 862 | 863 | Команда 864 | 865 | 866 | Контакти 867 | 868 | 869 | Головна 870 | 871 | 872 | Інструкція 873 | ``` 874 | 875 | - Зручно для внутрішніх сторінок сайту, особливо при розробці й тестуванні. 876 | 877 |
878 | 879 |
880 | 29. Як відкрити посилання в новій вкладці? 881 | 882 | #### HTML 883 | 884 | - Додати атрибут `target="_blank"` до тега ``: 885 | 886 | ```html 887 | Відкрити в новій вкладці 888 | ``` 889 | 890 | - Рекомендовано також додати `rel="noopener noreferrer"` для безпеки: 891 | 892 | ```html 893 | 894 | Відкрити в новій вкладці 895 | 896 | ``` 897 | 898 | #### Інші значення target: 899 | 900 | ```html 901 | 902 | Поточна вкладка 903 | 904 | 905 | Батьківський фрейм 906 | 907 | 908 | Верхній рівень 909 | 910 | 911 | Конкретне вікно 912 | ``` 913 | 914 | **Безпека:** `rel="noopener noreferrer"` запобігає доступу нової сторінки до 915 | поточної через `window.opener`. 916 | 917 |
918 | 919 |
920 | 30. Як створити якір для переходу до певної частини сторінки? 921 | 922 | #### HTML 923 | 924 | - Додаємо ідентифікатор елементу: 925 | 926 | ```html 927 |

Контакти

928 | ``` 929 | 930 | - Створюємо посилання на цей id: 931 | 932 | ```html 933 | Перейти до контактів 934 | ``` 935 | 936 | При кліку сторінка прокрутиться до елемента з таким id. 937 | 938 | #### Повний приклад: 939 | 940 | ```html 941 | 942 | 943 | 944 | Якірні посилання 945 | 946 | 947 | 948 | 953 | 954 | 955 |
956 |

Про нас

957 |

Інформація про компанію...

958 |
959 | 960 |
961 |

Послуги

962 |

Опис наших послуг...

963 |
964 | 965 |
966 |

Контакти

967 |

Контактна інформація...

968 |
969 | 970 | 971 | ↑ На верх 972 | 973 | 974 | ``` 975 | 976 | **CSS для плавної прокрутки:** 977 | 978 | ```css 979 | html { 980 | scroll-behavior: smooth; 981 | } 982 | ``` 983 | 984 |
985 | 986 |
987 | 31. Як створити посилання на різні розділи на одній веб-сторінці HTML? 988 | 989 | #### HTML 990 | 991 | Відповідь: Для створення гіперпосилання використовується тег ``. Атрибут href 992 | вказує URL або шлях. 993 | 994 | #### Повний приклад: 995 | 996 | ```html 997 | 998 | 999 | 1000 | Якірні посилання 1001 | 1002 | 1003 | 1004 | 1009 | 1010 | 1011 |
1012 |

Про нас

1013 |

Інформація про компанію...

1014 |
1015 | 1016 |
1017 |

Послуги

1018 |

Опис наших послуг...

1019 |
1020 | 1021 |
1022 |

Контакти

1023 |

Контактна інформація...

1024 |
1025 | 1026 | 1027 | ↑ На верх 1028 | 1029 | 1030 | ``` 1031 | 1032 | **CSS для плавної прокрутки:** 1033 | 1034 | ```css 1035 | html { 1036 | scroll-behavior: smooth; 1037 | } 1038 | ``` 1039 | 1040 |
1041 | 1042 |
1043 | 32. Як створити посилання на файл для завантаження в HTML? 1044 | 1045 | #### HTML 1046 | 1047 | - Використати `` з атрибутом `download`: 1048 | 1049 | ```html 1050 | Завантажити інструкцію 1051 | ``` 1052 | 1053 | href — шлях до файлу. 1054 | 1055 | download — каже браузеру зберегти файл замість відкриття. 1056 | 1057 | - Можна вказати ім'я: 1058 | 1059 | ```html 1060 | Завантажити 1061 | ``` 1062 | 1063 | #### Додаткові приклади: 1064 | 1065 | ```html 1066 | 1067 | Завантажити PDF 1068 | 1069 | 1070 | 1071 | Завантажити звіт 1072 | 1073 | 1074 | 1075 | Зберегти фото 1076 | ``` 1077 | 1078 | **Примітка:** Атрибут `download` працює тільки для файлів з того самого домену 1079 | (same-origin). 1080 | 1081 |
1082 | 1083 |
1084 | 33. Яке призначення атрибута target у тегу a в HTML? 1085 | 1086 | #### HTML 1087 | 1088 | - Атрибут target визначає, де відкриється посилання: 1089 | 1090 | - `_self` (за замовчуванням) — відкриває в тій самій вкладці. 1091 | 1092 | - `_blank` — відкриває у новій вкладці/вікні. 1093 | 1094 | - `_parent` — відкриває в батьківському фреймі (якщо є фрейми). 1095 | 1096 | - `_top` — відкриває у всьому вікні, виходячи з фреймів. 1097 | 1098 | - `customName` — відкриває в конкретному вікні/фреймі з цим ім'ям. 1099 | 1100 | #### Приклади: 1101 | 1102 | ```html 1103 | 1104 | Внутрішня сторінка 1105 | 1106 | 1107 | Зовнішній сайт 1108 | 1109 | 1110 | 1111 | Безпечне зовнішнє посилання 1112 | 1113 | 1114 | 1115 | Довідка 1116 | ``` 1117 | 1118 | **Безпека:** Для `target="_blank"` рекомендується додавати 1119 | `rel="noopener noreferrer"`. 1120 | 1121 |
1122 | 1123 | ## Зображення та медіа 1124 | 1125 |
1126 | 34. Як вставляти зображення на HTML-сторінку? 1127 | 1128 | #### HTML 1129 | 1130 | - Використовуємо тег ``: 1131 | 1132 | ```html 1133 | Опис зображення 1134 | ``` 1135 | 1136 | - `src` — шлях до зображення. 1137 | 1138 | - `alt` — текстовий опис для доступності та коли зображення не завантажилось. 1139 | 1140 | - Опційно: `width`, `height`, `title`. 1141 | 1142 | #### Детальніші приклади: 1143 | 1144 | ```html 1145 | 1146 | Фотографія заходу сонця 1147 | 1148 | 1149 | Логотип компанії 1150 | 1151 | 1152 | Графік продажів 1153 | 1154 | 1155 | Банер акції 1156 | 1157 | 1158 | Зовнішнє зображення 1159 | ``` 1160 | 1161 | **Краща практика:** Завжди включайте атрибут `alt` для доступності. 1162 | 1163 |
1164 | 1165 |
1166 | 35. Яке значення має атрибут alt для зображень? 1167 | 1168 | #### HTML 1169 | 1170 | - `alt` — альтернативний текст для зображення. 1171 | 1172 | #### Призначення: 1173 | 1174 | - Показується, якщо зображення не завантажилось. 1175 | 1176 | - Допомагає скрінрідерам робити сайт доступним. 1177 | 1178 | - Використовується для SEO. 1179 | 1180 | #### Приклади правильного використання: 1181 | 1182 | ```html 1183 | 1184 | Графік продажів за 2023 рік показує зростання на 25% 1188 | 1189 | 1190 | 1191 | 1192 | 1193 | 1194 | Повернутися на головну сторінку 1195 | 1196 | 1197 | 1198 | Інфографіка: кроки створення веб-сайту 1199 | ``` 1200 | 1201 | **Правила:** 1202 | 1203 | - Для декоративних зображень використовуйте `alt=""` 1204 | - Для інформативних - описуйте зміст 1205 | - Для посилань - описуйте призначення посилання 1206 | 1207 |
1208 | 1209 |
1210 | 36. Які формати зображень підтримуються веббраузерами? 1211 | 1212 | #### HTML 1213 | 1214 | - **Основні формати, які підтримують сучасні браузери:** 1215 | 1216 | - `JPEG` / `JPG` — фотографії з високою деталізацією, стиснення з втратою 1217 | якості. 1218 | 1219 | - `PNG` — графіка з прозорістю, без втрати якості. 1220 | 1221 | - `GIF` — анімація та прості картинки з обмеженою палітрою. 1222 | 1223 | - `WebP` — сучасний формат з високим стисненням і прозорістю. 1224 | 1225 | - `SVG` — векторна графіка, масштабована без втрати якості. 1226 | 1227 | Менш поширені: BMP, ICO (для іконок). 1228 | 1229 | #### Коли використовувати: 1230 | 1231 | ```html 1232 | 1233 | Пейзаж 1234 | 1235 | 1236 | Логотип 1237 | 1238 | 1239 | Завантаження 1240 | 1241 | 1242 | Оптимізоване зображення 1243 | 1244 | 1245 | Іконка 1246 | ``` 1247 | 1248 | **Сучасні тенденції:** WebP та AVIF для кращого стиснення, SVG для іконок та 1249 | простої графіки. 1250 | 1251 |
1252 | 1253 | ## Списки 1254 | 1255 |
1256 | 37. Які різні типи списків доступні в HTML? 1257 | 1258 | #### HTML 1259 | 1260 | - В HTML є три основні типи списків: 1261 | 1262 | 1. **Нумерований список (`
    `)** — елементи пронумеровані: 1263 | 1264 | 2. **Маркований список (`
      `)** — елементи з маркерами (кульки, квадрати): 1265 | 1266 | 3. **Список визначень (`
      `)** — термін + опис: 1267 | 1268 | #### Приклади: 1269 | 1270 | ```html 1271 | 1272 |
        1273 |
      1. Перший крок
      2. 1274 |
      3. Другий крок
      4. 1275 |
      5. Третій крок
      6. 1276 |
      1277 | 1278 | 1279 |
        1280 |
      • Молоко
      • 1281 |
      • Хліб
      • 1282 |
      • Яйця
      • 1283 |
      1284 | 1285 | 1286 |
      1287 |
      HTML
      1288 |
      HyperText Markup Language
      1289 |
      CSS
      1290 |
      Cascading Style Sheets
      1291 |
      1292 | ``` 1293 | 1294 |
1295 | 1296 |
1297 | 38. Як створювати впорядковані, невпорядковані списки та списки з описом у HTML? 1298 | 1299 | #### HTML 1300 | 1301 | 1. **Впорядкований список (`
    `):** 1302 | 1303 | ```html 1304 |
      1305 |
    1. Перший
    2. 1306 |
    3. Другий
    4. 1307 |
    1308 | ``` 1309 | 1310 | 2. **Невпорядкований список (`
      `):** 1311 | 1312 | ```html 1313 |
        1314 |
      • Пункт 1
      • 1315 |
      • Пункт 2
      • 1316 |
      1317 | ``` 1318 | 1319 | 3. **Список з описом (`
      `):** 1320 | 1321 | ```html 1322 |
      1323 |
      HTML
      1324 |
      Мова розмітки
      1325 |
      JavaScript
      1326 |
      Мова програмування
      1327 |
      1328 | ``` 1329 | 1330 | #### Розширені приклади: 1331 | 1332 | ```html 1333 | 1334 |
        1335 |
      1. Третій пункт (C)
      2. 1336 |
      3. Четвертий пункт (D)
      4. 1337 |
      1338 | 1339 | 1340 |
        1341 |
      • Квадратний маркер
      • 1342 |
      • Ще один квадратний маркер
      • 1343 |
      1344 | ``` 1345 | 1346 |
1347 | 1348 |
1349 | 39. Чи можна вкладати списки в HTML? Якщо так, то як? 1350 | 1351 | #### HTML 1352 | 1353 | - Так, можна. Вкладені списки створюють всередині `
  • ` елемента: 1354 | 1355 | ```html 1356 |
      1357 |
    • 1358 | Пункт 1 1359 |
        1360 |
      • Вкладений пункт 1
      • 1361 |
      • Вкладений пункт 2
      • 1362 |
      1363 |
    • 1364 |
    • Пункт 2
    • 1365 |
    1366 | ``` 1367 | 1368 | Можна вкладати будь-які типи списків (`
      ` всередині `
        ` і навпаки). 1369 | 1370 | #### Більш складний приклад: 1371 | 1372 | ```html 1373 |
          1374 |
        1. 1375 | Веб-технології 1376 |
            1377 |
          • 1378 | Frontend 1379 |
              1380 |
            • HTML
            • 1381 |
            • CSS
            • 1382 |
            • JavaScript
            • 1383 |
            1384 |
          • 1385 |
          • 1386 | Backend 1387 |
              1388 |
            • Node.js
            • 1389 |
            • Python
            • 1390 |
            • PHP
            • 1391 |
            1392 |
          • 1393 |
          1394 |
        2. 1395 |
        3. Мобільна розробка
        4. 1396 |
        1397 | ``` 1398 | 1399 | **Правило:** Вкладений список завжди має бути всередині `
      1. `, а не між `
      2. ` 1400 | елементами. 1401 | 1402 |
  • 1403 | 1404 |
    1405 | 40. Як можна згрупувати опції всередині тегу select? 1406 | 1407 | #### HTML 1408 | 1409 | Для групування опцій у випадаючому списку використовуйте тег ``: 1410 | 1411 | ```html 1412 | 1430 | ``` 1431 | 1432 | #### Переваги ``: 1433 | 1434 | - Візуально групує пов'язані опції 1435 | - Покращує юзабіліті для довгих списків 1436 | - Підтримує атрибут `label` для назви групи 1437 | - Можна вимкнути групу через `disabled` 1438 | 1439 | #### Приклад з вимкненою групою: 1440 | 1441 | ```html 1442 | 1453 | ``` 1454 | 1455 |
    1456 | 1457 | ## Форми і валідація 1458 | 1459 |
    1460 | 41. Що таке HTML-форми та як їх створити? 1461 | 1462 | #### HTML 1463 | 1464 | - HTML-форма — це елемент, який збирає дані від користувача та відправляє їх на 1465 | сервер або обробляє на клієнті. 1466 | 1467 | #### Приклад створення: 1468 | 1469 | ```html 1470 |
    1471 | 1472 | 1473 | 1474 | 1475 | 1476 | 1477 | 1478 |
    1479 | ``` 1480 | 1481 | - `
    ` — контейнер форми. 1482 | - `action` — URL, куди відправляються дані. 1483 | - `method` — спосіб відправки (get або post). 1484 | 1485 | **Поля вводу** (``, ` 1600 | ``` 1601 | 1602 | **Стилізація через CSS:** 1603 | 1604 | ```css 1605 | input:required { 1606 | border-left: 3px solid red; 1607 | } 1608 | 1609 | input:valid { 1610 | border-left: 3px solid green; 1611 | } 1612 | ``` 1613 | 1614 |
    1615 | 1616 |
    1617 | 44. Яке призначення елемента label у формах? 1618 | 1619 | #### HTML 1620 | 1621 | - `
    1674 | 1675 |
    1676 | 45. Як групувати вхідні дані форм і чому це потрібно робити? 1677 | 1678 | #### HTML 1679 | 1680 | - Для групування даних у формах використовують `
    ` і ``: 1681 | 1682 | ```html 1683 |
    1684 | Особисті дані 1685 | 1686 | 1687 | 1688 | 1689 | 1690 |
    1691 | ``` 1692 | 1693 | #### Навіщо: 1694 | 1695 | - Візуально та логічно об'єднує пов'язані поля. 1696 | 1697 | - Покращує доступність (скрінрідери читають легенду). 1698 | 1699 | - Допомагає структурувати великі форми і робить їх зручнішими для користувача. 1700 | 1701 | #### Розширений приклад: 1702 | 1703 | ```html 1704 | 1705 |
    1706 | Контактна інформація 1707 | 1708 | 1709 | 1710 | 1711 | 1712 |
    1713 | 1714 |
    1715 | Налаштування акаунту 1716 | 1720 | 1721 | 1725 |
    1726 | 1727 |
    1728 | Преміум функції 1729 | 1730 | 1731 |
    1732 | 1733 | ``` 1734 | 1735 |
    1736 | 1737 |
    1738 | 46. Як створити форму в HTML і забезпечити її валідацію? 1739 | 1740 | #### HTML 1741 | 1742 | Створення форми з валідацією включає використання HTML5 атрибутів та JavaScript 1743 | для розширеної перевірки. 1744 | 1745 | #### HTML5 валідація: 1746 | 1747 | ```html 1748 |
    1749 | 1750 | 1760 | 1761 | 1762 | 1763 | 1764 | 1765 | 1766 | 1767 | 1768 | 1769 | 1770 | 1771 |
    1772 | ``` 1773 | 1774 | #### Атрибути валідації: 1775 | 1776 | - `required` — обов'язкове поле 1777 | - `minlength/maxlength` — мінімальна/максимальна довжина 1778 | - `min/max` — мінімальне/максимальне значення для чисел 1779 | - `pattern` — регулярний вираз 1780 | - `step` — крок для числових полів 1781 | 1782 | #### CSS для стилізації: 1783 | 1784 | ```css 1785 | input:valid { 1786 | border: 2px solid green; 1787 | } 1788 | 1789 | input:invalid { 1790 | border: 2px solid red; 1791 | } 1792 | 1793 | input:required { 1794 | background-color: #fff8dc; 1795 | } 1796 | ``` 1797 | 1798 |
    1799 | 1800 |
    1801 | 47. Які методи відправки даних форми ви знаєте? 1802 | 1803 | #### HTML 1804 | 1805 | Основні методи HTTP для відправки форм: 1806 | 1807 | #### GET метод: 1808 | 1809 | ```html 1810 |
    1811 | 1812 | 1813 |
    1814 | ``` 1815 | 1816 | **Характеристики GET:** 1817 | 1818 | - Дані додаються до URL як параметри запиту 1819 | - Видимі в адресному рядку 1820 | - Можна додати в закладки 1821 | - Обмеження по розміру даних 1822 | - Використовується для пошуку, фільтрів 1823 | 1824 | #### POST метод: 1825 | 1826 | ```html 1827 |
    1828 | 1829 | 1830 | 1831 |
    1832 | ``` 1833 | 1834 | **Характеристики POST:** 1835 | 1836 | - Дані відправляються в тілі запиту 1837 | - Не видимі в URL 1838 | - Немає обмежень по розміру 1839 | - Використовується для створення, оновлення даних 1840 | 1841 | #### Додаткові атрибути: 1842 | 1843 | ```html 1844 | 1845 |
    1846 | 1847 | 1848 |
    1849 | 1850 | 1851 |
    1852 | 1853 | 1854 |
    1855 | ``` 1856 | 1857 |
    1858 | 1859 |
    1860 | 48. Основні атрибути HTML-форм? Як вони впливають на надсилання даних з веб-сторінки? 1861 | 1862 | #### HTML 1863 | 1864 | #### Атрибути елемента `
    `: 1865 | 1866 | **action** — URL для відправки даних: 1867 | 1868 | ```html 1869 |
    1870 | ``` 1871 | 1872 | **method** — HTTP метод (GET, POST): 1873 | 1874 | ```html 1875 |
    1876 | 1877 |
    1878 | 1879 | ``` 1880 | 1881 | **enctype** — кодування даних: 1882 | 1883 | ```html 1884 | 1885 |
    1886 | 1887 | 1888 | 1889 |
    1890 | 1891 | 1892 | ``` 1893 | 1894 | **target** — де відкрити результат: 1895 | 1896 | ```html 1897 |
    1898 | 1899 | 1900 | 1901 |
    1902 | 1903 | 1904 | ``` 1905 | 1906 | **novalidate** — вимкнути HTML5 валідацію: 1907 | 1908 | ```html 1909 |
    1910 | 1911 |
    1912 | ``` 1913 | 1914 | **autocomplete** — автозаповнення: 1915 | 1916 | ```html 1917 |
    1918 | 1919 |
    1920 | 1921 | ``` 1922 | 1923 | #### Приклад повної форми: 1924 | 1925 | ```html 1926 |
    1933 | 1934 | 1935 | 1936 | 1937 | 1938 |
    1939 | ``` 1940 | 1941 |
    1942 | 1943 |
    1944 | 49. Для чого використовується елемент datalist? 1945 | 1946 | #### HTML 1947 | 1948 | `` надає список готових варіантів для поля вводу, створюючи 1949 | автодоповнення (autocomplete dropdown). 1950 | 1951 | #### Основне використання: 1952 | 1953 | ```html 1954 | 1955 | 1956 | 1957 | 1958 | 1959 | 1960 | 1961 | 1962 | 1963 | 1964 | ``` 1965 | 1966 | #### Переваги: 1967 | 1968 | - Користувач може обрати зі списку або ввести власний варіант 1969 | - Покращує UX через швидкий вибір 1970 | - Працює з різними типами input 1971 | 1972 | #### Розширені приклади: 1973 | 1974 | ```html 1975 | 1976 | 1977 | 1978 | 1979 | 1980 | 1981 | 1982 | 1983 | 1984 | 1985 | 1986 | 1987 | 1988 | 1989 | 1990 | 1991 | 1992 | 1993 | 1994 | 1995 | 1996 | 1997 | 1998 | ``` 1999 | 2000 | **Підтримка браузерів:** Всі сучасні браузери. У старих браузерах працює як 2001 | звичайний input. 2002 | 2003 |
    2004 | 2005 |
    2006 | 50. Що таке елемент output у HTML5? 2007 | 2008 | #### HTML 2009 | 2010 | `` представляє результат обчислення або дії користувача. Зазвичай 2011 | використовується для відображення результатів форм або динамічних розрахунків. 2012 | 2013 | #### Основні атрибути: 2014 | 2015 | - `for` — вказує на елементи, які впливають на результат 2016 | - `form` — пов'язує з конкретною формою 2017 | - `name` — ім'я для надсилання з формою 2018 | 2019 | #### Приклад з обчисленням: 2020 | 2021 | ```html 2022 |
    2023 | 2024 | 2025 | 2026 | 2027 | 2028 | 2029 | 2030 | 100 2031 |
    2032 | 2033 | 2044 | ``` 2045 | 2046 | #### Приклад з прогрес-баром: 2047 | 2048 | ```html 2049 |
    2050 | 2051 | 2052 | 2053 | 50% 2054 |
    2055 | 2056 | 2063 | ``` 2064 | 2065 | **Семантика:** `` є семантично правильним способом показати результати, 2066 | на відміну від `` або `
    `. 2067 | 2068 |
    2069 | 2070 | ## Семантика та структура 2071 | 2072 |
    2073 | 51. Що таке семантичний HTML? 2074 | 2075 | #### HTML 2076 | 2077 | - Семантичний HTML — це використання тегів за їхнім змістовим призначенням 2078 | (`
    `, `
    `, `
    `, `
    `, `
    2090 | 2091 |
    2092 | 52. Що таке семантичні теги HTML і чому вони важливі? 2093 | 2094 | #### HTML 2095 | 2096 | - Семантичні теги HTML — це теги, які описують зміст і роль свого вмісту 2097 | (наприклад, `
    `, `
    `, `
    `, `
    `). 2098 | 2099 | #### Чому важливі: 2100 | 2101 | - Поліпшують SEO — пошукові системи краще розуміють структуру. 2102 | 2103 | - Доступність — скрінрідери можуть правильно інтерпретувати вміст. 2104 | 2105 | - Легше підтримувати та читати код. 2106 | 2107 | - Стандартизують структуру сторінки. 2108 | 2109 |
    2110 | 2111 |
    2112 | 53. Чим відрізняється article від section? 2113 | 2114 | #### HTML 2115 | 2116 | - `
    ` — самостійний контент, який може існувати окремо (новини, 2117 | блог-пости, коментарі). Має зміст, зрозумілий поза контекстом сторінки. 2118 | 2119 | - `
    ` — тематичний розділ контенту, частина більшої структури. Зазвичай 2120 | має заголовок і логічно пов'язаний із рештою сторінки. 2121 | 2122 | #### Приклад: 2123 | 2124 | ```html 2125 |
    2126 |

    Стаття про HTML5

    2127 |
    2128 |

    Семантичні теги

    2129 |

    Опис семантичних тегів...

    2130 |
    2131 |
    2132 |

    Доступність

    2133 |

    Як семантика покращує доступність...

    2134 |
    2135 |
    2136 | ``` 2137 | 2138 |
    2139 | 2140 |
    2141 | 54. Що нового в HTML5 порівняно з попередніми версіями? 2142 | 2143 | #### HTML 2144 | 2145 | - Основні нововведення HTML5: 2146 | 2147 | - Семантичні теги: `
    `, `
    `, `
    `, `
    `, `
    `, 2148 | `
    2166 | 2167 |
    2168 | 55. Як створити розділ на веб-сторінці за допомогою семантичних елементів HTML5? 2169 | 2170 | #### HTML 2171 | 2172 | - У HTML5 для створення розділів використовують семантичні теги: 2173 | 2174 | ```html 2175 |
    2176 |

    Про нас

    2177 |

    Текст про компанію...

    2178 |
    2179 | 2180 |
    2181 |

    Новина дня

    2182 |

    Текст новини...

    2183 |
    2184 | 2185 | 2189 | ``` 2190 | 2191 | - `
    ` — логічний розділ сторінки. 2192 | 2193 | - `
    ` — самостійний блок контенту, який може існувати окремо. 2194 | 2195 | - `
    2200 | 2201 |
    2202 | 56. Яка роль елемента article у HTML5? 2203 | 2204 | #### HTML 2205 | 2206 | - `
    ` — семантичний елемент для самостійного контенту, який може 2207 | існувати окремо від сторінки і бути зрозумілий поза контекстом. 2208 | 2209 | #### Приклади використання: 2210 | 2211 | - Новини, блоги, публікації. 2212 | 2213 | - Коментарі користувачів. 2214 | 2215 | - Форумні повідомлення. 2216 | 2217 | #### Переваги: 2218 | 2219 | - Покращує SEO і доступність. 2220 | 2221 | - Легко стилізується та структуровано організовує контент. 2222 | 2223 |
    2224 | 2225 |
    2226 | 57. Чи можете ви пояснити використання елементів nav та aside у HTML5? 2227 | 2228 | #### HTML 2229 | 2230 | - `
    2253 | 2254 |
    2255 | 58. Як використовувати елементи figure та figcaption? 2256 | 2257 | #### HTML 2258 | 2259 | - `
    ` — контейнер для медіа (зображення, графіка, відео) із підписом. 2260 | 2261 | - `
    ` — підпис до медіа всередині `
    `. 2262 | 2263 | #### Приклад: 2264 | 2265 | ```html 2266 |
    2267 | Опис зображення 2268 |
    Підпис до зображення
    2269 |
    2270 | ``` 2271 | 2272 | - Покращує семантику та доступність. 2273 | 2274 | - Легко стилізується CSS. 2275 | 2276 |
    2277 | 2278 | ## Таблиці 2279 | 2280 |
    2281 | 59. Як створити таблицю в HTML і які основні теги для цього використовуються? 2282 | 2283 | #### HTML 2284 | 2285 | - В HTML таблиця створюється тегом ``. Рядки — ``, заголовки стовпців 2286 | — `` — групує рядки заголовків таблиці. 2311 | 2312 | - `` — основна частина таблиці з даними. 2313 | 2314 | - `` — групує рядки підсумків (footer таблиці), відображається після 2315 | tbody, але може рендеритися браузером перед ним для оптимізації. 2316 | 2317 | #### Приклад: 2318 | 2319 | ```html 2320 |
    `, комірки — ``. 2287 | 2288 | #### Приклад: 2289 | 2290 | ```html 2291 | 2292 | 2293 | 2294 | 2295 | 2296 | 2297 | 2298 | 2299 | 2300 |
    Ім'яВік
    Іван25
    2301 | ``` 2302 | 2303 | 2304 | 2305 |
    2306 | 60. Що таке thead, tbody та tfoot у HTML-таблиці і для чого вони потрібні? 2307 | 2308 | #### HTML 2309 | 2310 | - `
    2321 | 2322 | 2323 | 2324 | 2325 | 2326 | 2327 | 2328 | 2329 | 2330 | 2331 | 2332 | 2333 | 2334 | 2335 | 2336 | 2337 | 2338 | 2339 | 2340 | 2341 | 2342 | 2343 |
    НазваЦіна
    Товар 1100 грн
    Товар 2200 грн
    Загалом300 грн
    2344 | ``` 2345 | 2346 | #### Переваги: 2347 | 2348 | - Покращує семантику та доступність 2349 | - Дозволяє стилізувати різні частини таблиці окремо 2350 | - Браузери можуть фіксувати заголовки при прокрутці 2351 | 2352 |
    2353 | 2354 |
    2355 | 61. Що таке атрибути colspan і rowspan у HTML-таблицях? 2356 | 2357 | #### HTML 2358 | 2359 | - `colspan` — об'єднує комірку по кількох стовпцях. 2360 | 2361 | - `rowspan` — об'єднує комірку по кількох рядках. 2362 | 2363 | ```html 2364 | Об'єднано 2 стовпці 2365 | Об'єднано 3 рядки 2366 | ``` 2367 | 2368 | #### Приклад: 2369 | 2370 | ```html 2371 | 2372 | 2373 | 2374 | 2375 | 2376 | 2377 | 2378 | 2379 | 2380 | 2381 | 2382 | 2383 | 2384 | 2385 |
    Заголовок на 2 колонкиВертикальний заголовок
    Комірка 1Комірка 2
    Комірка 3Комірка 4Комірка 5
    2386 | ``` 2387 | 2388 |
    2389 | 2390 |
    2391 | 62. Як зробити HTML-таблицю доступною для користувачів з екранними рідерами? 2392 | 2393 | #### HTML 2394 | 2395 | - Використовувати семантичні теги: ``, ``, ``, ``, 2396 | `
    `. 2397 | 2398 | - Додавати атрибут scope у `` (scope="col" або scope="row") для зв'язку 2399 | заголовків і комірок. 2400 | 2401 | - Додавати `
    ` для опису таблиці. 2402 | 2403 | - Уникати зайвого `rowspan/colspan`, якщо вони ускладнюють навігацію. 2404 | 2405 | - Забезпечити достатній контраст та видимі фокуси при навігації з клавіатури. 2406 | 2407 | #### Приклад доступної таблиці: 2408 | 2409 | ```html 2410 | 2411 | 2414 | 2415 | 2416 | 2417 | 2418 | 2419 | 2420 | 2421 | 2422 | 2423 | 2424 | 2425 | 2426 | 2427 | 2428 |
    2412 | Продажі за 2024 рік 2413 |
    МісяцьПродажіПрибуток
    Січень1000200
    2429 | ``` 2430 | 2431 | 2432 | 2433 | ## Медіа та графіка 2434 | 2435 |
    2436 | 63. Що таке елемент canvas? І для чого він використовується? 2437 | 2438 | #### HTML 2439 | 2440 | - `` — растровий холст для малювання графіки через JavaScript API. 2441 | 2442 | #### Використання: 2443 | 2444 | - Ігри та інтерактивна графіка 2445 | - Складні візуалізації даних 2446 | - Обробка зображень 2447 | - Анімації та ефекти 2448 | 2449 | #### Приклад: 2450 | 2451 | ```html 2452 | 2453 | 2454 | 2468 | ``` 2469 | 2470 |
    2471 | 2472 |
    2473 | 64. Різниця між canvas та svg? У яких випадках краще використовувати canvas, а в яких svg? 2474 | 2475 | #### HTML 2476 | 2477 | #### ``: 2478 | 2479 | - Растрова графіка (пікселі) 2480 | - Малювання через JavaScript API 2481 | - Підходить для ігор, складної анімації, обробки зображень 2482 | - Масштабування може погіршити якість 2483 | - Неможливо стилізувати окремі елементи CSS 2484 | 2485 | #### ``: 2486 | 2487 | - Векторна графіка (математичні об'єкти) 2488 | - Описується XML-розміткою 2489 | - Підходить для іконок, логотипів, простих діаграм 2490 | - Безкінечне масштабування без втрати якості 2491 | - Можна стилізувати CSS та анімувати 2492 | 2493 | #### Коли використовувати: 2494 | 2495 | **Canvas** → ігри, складна графіка, обробка фото, реал-тайм анімації 2496 | 2497 | **SVG** → іконки, логотипи, прості діаграми, масштабована графіка 2498 | 2499 |
    2500 | 2501 |
    2502 | 65. Яка різниця між елементами svg та canvas? 2503 | 2504 | #### HTML 2505 | 2506 | - `` — векторна графіка, кожен елемент DOM-структурований, масштабований 2507 | без втрати якості, легкий для анімації та стилізації через CSS/JS. 2508 | 2509 | - `` — растровий холст, малювання відбувається через JS API, не має 2510 | внутрішньої семантики елементів, масштабування може знизити якість, підходить 2511 | для ігор і складної графіки. 2512 | 2513 | #### Порівняння: 2514 | 2515 | | Характеристика | SVG | Canvas | 2516 | | -------------- | --------------------------------- | --------------------------- | 2517 | | Тип графіки | Векторна | Растрова | 2518 | | DOM-структура | Так | Ні | 2519 | | Масштабування | Без втрат | З втратами | 2520 | | Стилізація CSS | Так | Обмежено | 2521 | | Продуктивність | Повільніше при багатьох елементах | Швидше для складної графіки | 2522 | 2523 |
    2524 | 2525 |
    2526 | 66. Що ви знаєте про SVG? Які є варіанти додавання SVG на сторінки сайту? Чим вони відрізняються? 2527 | 2528 | #### HTML 2529 | 2530 | **SVG (Scalable Vector Graphics)** — векторний формат для графіки, що 2531 | масштабується без втрати якості. 2532 | 2533 | #### Способи додавання SVG: 2534 | 2535 | 1. **Inline SVG** — безпосередньо в HTML: 2536 | 2537 | ```html 2538 | 2539 | 2540 | 2541 | ``` 2542 | 2543 | _Переваги:_ повний контроль CSS/JS, доступність _Недоліки:_ збільшує розмір HTML 2544 | 2545 | 2. **Як зображення** — через ``: 2546 | 2547 | ```html 2548 | Іконка 2549 | ``` 2550 | 2551 | _Переваги:_ кешується, компактний HTML _Недоліки:_ не можна стилізувати CSS 2552 | 2553 | 3. **CSS background**: 2554 | 2555 | ```css 2556 | .icon { 2557 | background-image: url('icon.svg'); 2558 | } 2559 | ``` 2560 | 2561 | 4. **Через `` або ``**: 2562 | 2563 | ```html 2564 | 2565 | ``` 2566 | 2567 | **Найкращий вибір:** inline для іконок, що потребують стилізації; `` для 2568 | статичної графіки. 2569 | 2570 | 2571 | 2572 |
    2573 | 67. Як створювати карти зображень у HTML? 2574 | 2575 | #### HTML 2576 | 2577 | - HTML-карта зображень (image map) дозволяє зробити частини зображення 2578 | клікабельними. 2579 | 2580 | #### Приклад: 2581 | 2582 | ```html 2583 | План будівлі 2584 | 2585 | 2586 | Кімната 1 2587 | Кімната 2 2588 | Кімната 3 2594 | 2595 | ``` 2596 | 2597 | #### Пояснення: 2598 | 2599 | - `usemap="#map1"` — прив'язка картинки до карти 2600 | - `` — задає клікабельну область: 2601 | - `shape="rect"` — прямокутник (coords: x1,y1,x2,y2) 2602 | - `shape="circle"` — коло (coords: x,y,radius) 2603 | - `shape="poly"` — багатокутник (coords: x1,y1,x2,y2,x3,y3...) 2604 | - `href` — посилання при кліку 2605 | - `alt` — альтернативний текст для доступності 2606 | 2607 |
    2608 | 2609 |
    2610 | 68. Як додати аудіо та відео в HTML-документ за допомогою вбудованих тегів? 2611 | 2612 | #### HTML 2613 | 2614 | - **Аудіо** — тег `
    2641 | 2642 |
    2643 | 69. Які основні атрибути підтримують теги video та audio у HTML? 2644 | 2645 | #### HTML 2646 | 2647 | #### Спільні атрибути для `
    2679 | 2680 |
    2681 | 70. Як додати субтитри або підписи до відео в HTML? 2682 | 2683 | #### HTML 2684 | 2685 | - Використати тег `` всередині `
    2732 | 2733 | ## Інтеграція та зв'язки 2734 | 2735 |
    2736 | 71. Чи можете ви пояснити призначення метатегів у HTML? 2737 | 2738 | #### HTML 2739 | 2740 | - Метатеги у `` зберігають метадані про сторінку — інформацію, яку не 2741 | видно користувачу, але використовують браузери, пошукові системи та сервіси. 2742 | 2743 | #### Приклади призначення: 2744 | 2745 | - `` — задає кодування. 2746 | 2747 | - `` — 2748 | адаптивність на мобільних. 2749 | 2750 | - `` — SEO. 2751 | 2752 | - `` — інструкції для пошукових 2753 | ботів. 2754 | 2755 | #### Додаткові приклади: 2756 | 2757 | ```html 2758 | 2759 | 2760 | 2761 | 2765 | 2766 | 2767 | 2768 | 2769 | 2770 | 2771 | 2772 | 2773 | 2774 | 2775 | 2776 | 2777 | 2778 | ``` 2779 | 2780 |
    2781 | 2782 |
    2783 | 72. Як пов'язати CSS-файл з HTML-документом? 2784 | 2785 | #### HTML 2786 | 2787 | - У `` додаємо тег: 2788 | 2789 | ```html 2790 | 2791 | ``` 2792 | 2793 | #### Атрибути: 2794 | 2795 | - `rel="stylesheet"` — вказує, що це файл стилів 2796 | - `href` — шлях до CSS-файлу 2797 | 2798 | #### Додаткові варіанти: 2799 | 2800 | ```html 2801 | 2802 | 2803 | 2804 | 2805 | 2806 | 2807 | 2808 | 2809 | 2813 | 2814 | 2815 | 2821 | ``` 2822 | 2823 |
    2824 | 2825 |
    2826 | 73. Як пов'язати JavaScript-файл з HTML-документом? 2827 | 2828 | #### HTML 2829 | 2830 | - Через тег ` 2834 | ``` 2835 | 2836 | #### Розміщення та атрибути: 2837 | 2838 | ```html 2839 | 2840 | 2841 | 2842 | 2843 | 2844 | 2845 | 2846 | 2847 | 2848 | 2849 | 2850 | 2851 | 2852 | 2853 | 2854 | 2855 | 2856 | 2857 | 2860 | 2861 | 2862 | 2863 | ``` 2864 | 2865 | #### Різниця між async та defer: 2866 | 2867 | - `async` — завантажується паралельно і виконується одразу 2868 | - `defer` — завантажується паралельно, але виконується після HTML 2869 | 2870 |
    2871 | 2872 |
    2873 | 74. Що таке iframe і для чого його використовують? 2874 | 2875 | #### HTML 2876 | 2877 | ` 2884 | ``` 2885 | 2886 | #### Основні атрибути: 2887 | 2888 | ```html 2889 | 2899 | ``` 2900 | 2901 | #### Використання: 2902 | 2903 | - **Вбудовування відео** (YouTube, Vimeo) 2904 | - **Карти** (Google Maps) 2905 | - **Соціальні віджети** (Facebook, Twitter) 2906 | - **Зовнішні форми** чи додатки 2907 | - **Пісочниці** для демонстрації коду 2908 | 2909 | #### Атрибути безпеки: 2910 | 2911 | ```html 2912 | 2918 | ``` 2919 | 2920 | **Недоліки:** може впливати на SEO, безпеку та швидкість завантаження. 2921 | 2922 |
    2923 | 2924 |
    2925 | 75. Як додати коментар у HTML і чому його використовувати? 2926 | 2927 | #### HTML 2928 | 2929 | #### Синтаксис: 2930 | 2931 | ```html 2932 | 2933 | ``` 2934 | 2935 | #### Призначення: 2936 | 2937 | - **Пояснення коду** для себе або колег 2938 | - **Тимчасове вимкнення** частини розмітки без видалення 2939 | - **Позначення секцій** коду для зручності навігації 2940 | - **Документування** складної структури 2941 | 2942 | #### Приклади використання: 2943 | 2944 | ```html 2945 | 2946 |
    2947 |

    Моя сторінка

    2948 | 2949 |
    2950 | 2951 | 2952 |
    2953 |
    2954 |

    Про нас

    2955 |

    Текст про компанію...

    2956 |
    2957 | 2958 | 2965 |
    2966 | 2967 | 2971 |
    2972 |

    © 2024 Моя компанія

    2973 |
    2974 | ``` 2975 | 2976 | **Важливо:** коментарі видимі в коді сторінки, тому не додавайте конфіденційну 2977 | інформацію! 2978 | 2979 |
    2980 | 2981 | ## Навігація та UX 2982 | 2983 |
    2984 | 76. Різниця між кнопкою та посиланням у HTML? 2985 | 2986 | #### HTML 2987 | 2988 | #### ` 3007 | 3008 | 3009 | 3010 | 3011 | Про нас 3012 | Перейти до контактів 3013 | Завантажити PDF 3014 | Зовнішнє посилання 3015 | ``` 3016 | 3017 | #### Семантична важливість: 3018 | 3019 | - **Кнопки** розуміються скрінрідерами як елементи дії 3020 | - **Посилання** розуміються як навігаційні елементи 3021 | - Це впливає на доступність та SEO 3022 | 3023 | #### Стилізація: 3024 | 3025 | ```html 3026 | 3027 | Зареєструватися 3028 | 3029 | 3030 | 3031 | ``` 3032 | 3033 | **Правило:** використовуйте `` для навігації, `
    3036 | 3037 |
    3038 | 77. Як правильно створити семантичну панель навігації в HTML? 3039 | 3040 | #### HTML 3041 | 3042 | - Використовуємо семантичний тег `
    3087 | 3088 |
    3089 | 78. Як семантично правильно згорнути навігаційне меню? 3090 | 3091 | #### HTML 3092 | 3093 | Для семантично правильного згортання навігаційного меню використовуйте елемент 3094 | `