Привіт! Марафон з основ frontend-розробки стартував: бажаємо успіхів у перших кроках у програмуванні та сподіваємося, тобі сподобається свій результат роботи!
Тут ти знайдеш підказки та "шпаргалки" до матеріалу, який вивчаєш на заняттях. Вони будуть корисні для виконання домашніх завдань.
Пам'ятай: ти завжди можеш переглянути відео, почитати конспекти або звернутися з питаннями до спільноти та куратора у спеціальному чаті в Телеграмі. Успіхів!
При запуску з'явиться вікно, в якому можна вибрати варіант некомерційного використання.
Увійдіть у свій обліковий запис JetBrains або створіть новий. Прийміть "Угоду про підписку на Toolbox для некомерційного використання".
Тепер все готово!
Теги в HTML – це спеціальні маркери, які використовуються для створення та організації елементів вебсторінки. Вони вказують браузеру, як відображати текст, зображення та інші елементи. Теги закриваються в кутові дужки, наприклад,
Ось декілька основних тегів в HTML:
2. Деякі теги одиночні: у деяких тегах закриваючий тег не потрібен. До них відносяться
3. Атрибути тегів: теги можуть містити атрибути, які надають додаткову інформацію. Атрибути пишуться всередині відкриваючого тегу та закриваються в лапки.
Тег
4. Правильна вкладеність тегів: переконайся, що теги правильно вкладені один в одного і не перетинаються.
Правильний приклад:
Тег
Тег
2. Маркований список
info-box та info-value — це класи, які часто використовуються у веб-розробці для структурування та стилізації інформаційних блоків на сторінці.
Info-box: цей клас зазвичай використовується для обгортки інформаційного блоку. Він може містити текст, зображення та інші елементи, пов'язані з певною інформацією.
Приклад:
HTML:
- Підготовка до марафону
- Конспект до заняття #1
- Конспект до заняття #2
- Конспект до заняття #3
- Конспект до заняття #4
- Конспект до заняття #5
- Конспект до заняття #6
Підготовка до марафону
Переконайся, що до початку занять у тебе налаштовані всі потрібні інструменти для роботи з кодом та виконання домашніх завдань. Перш за все завантаж WebStorm для тієї операційної системи, якою користуєшся. Встанови програму та запусти її.
При запуску з'явиться вікно, в якому можна вибрати варіант некомерційного використання.
Увійдіть у свій обліковий запис JetBrains або створіть новий. Прийміть "Угоду про підписку на Toolbox для некомерційного використання".
Тепер все готово!
Конспект до заняття #1
На цьому занятті ми познайомилися з Figma — онлайн-сервісом для спільної роботи над дизайном інтерфейсів та прототипування. Він дозволяє дизайнерам створювати та редагувати макети сайтів, додатків та інших дизайнерських продуктів прямо у браузері. Наш макет соцмережі для домашніх улюбленців зібраний у Figma. Щоб розпочати роботу над домашнім завданням, не забудь:- зареєструватися у Figma
- встановити та підключити плагін Inspect Styles для відображення стилів у макеті
- скопіювати макет сторінки
- само собою, відкрити WebStorm та розпочати написання першого коду!
Ключові поняття, які варто знати
HTML (HyperText Markup Language) — мова розмітки, яка використовується для створення структурних елементів вебсторінок. Він дозволяє додавати тексти, зображення, посилання та інші елементи на вебсторінку. HTML — це щось на зразок креслення автомобіля, який визначає (розмічає), де і що буде знаходитися. CSS (Cascading Style Sheets) – мова стилів, яка використовується для оформлення та дизайну вебсторінок. З його допомогою можна змінювати кольори, шрифти, розміри та розташування елементів на сторінці. CSS робить сайт красивішим. Уяви, що CSS – це “фарба” та декор для автомобіля, які роблять його гарним.
Теги в HTML – це спеціальні маркери, які використовуються для створення та організації елементів вебсторінки. Вони вказують браузеру, як відображати текст, зображення та інші елементи. Теги закриваються в кутові дужки, наприклад, <tagname>.
Ось декілька основних тегів в HTML:<h1>...<h6>– теги заголовків, де<h1>– найбільший заголовок, а<h6>– найменший.<p>– тег абзацу, використовується для створення текстових блоків.<a>– тег посилання, використовується для створення гіперпосилань.<img>– тег зображення, використовується для додавання зображень на сторінку.<div>– тег блоку, використовується для групування елементів та створення контейнерів.<span>— тег для виділення частини тексту або іншого вмісту всередині елемента без зміни його зовнішнього вигляду.
HTML
<h1>Головний заголовок сторінки</h1>
<h2>Підзаголовок рівня 2</h2>
<h3>Підзаголовок рівня 3</h3>
<p>Це перший параграф тексту. Він містить деяку кількість інформації.</p>
<p>Це другий параграф тексту. Він відокремлений від першого параграфа.</p>
<p><a href="https://www.example.com" target="_blank">Посилання на Example.com</a></p>
Правила оформлення HTML-тегів
1. Відкриваючий та закриваючий теги: у більшості HTML-тегів є відкриваючий тег та закриваючий тег. Скажімо,<p> — відкриваючий тег для абзацу, а </p> — закриваючий тег для його завершення. Контент розташовується між цими тегами.
Приклад:
HTML
<p>Це перший параграф тексту. Він містить деяку кількість інформації.</p>
<p>Це другий параграф тексту. Він відокремлений від першого параграфа.</p>
<img> для зображень та <br> для перенесення рядка.
src— вказує шлях до зображенняalt— описує зображення, що корисно для пошукових систем і для випадків, коли зображення не може бути завантажено
<img data-max-width="512" data-id="edb57226-1285-4ee4-b02e-616fabfedeb1" src="https://cdn.javarush.com/images/article/edb57226-1285-4ee4-b02e-616fabfedeb1/512.jpeg" alt="example image"> HTML
<img src="cat.jpg" alt="Опис зображення">
<a> використовується для створення гіперпосилань.
Приклад:
HTML
<a href="https://www.example.com" target="_blank">Перейти на Example.com</a>
<div>
<p>Абзац всередині блоку div.</p>
</div>
Не правильний приклад:
<div>
<p>Абзац всередині блоку div.</div>
</p>
Створення нового проєкту у WebStorm
Нагадаємо, як створити проєкт у WebStorm, з яким ти будеш працювати протягом декількох днів марафону:- Створи папку для проєкту: це можна зробити будь-де, хоч і на робочому столі — для зручності.
- Запусти WebStorm.
- Натисни File (Файл) - Open Folder...
- Вибери створену папку і натисни Select Folder
- Створи новий файл: натисни правою кнопкою миші в області Project (Проєкт) та вибери New - HTML File. Дай ім'я новому файлу: index.html.
Базова структура проєкту
Коли ти створюєш новий файл у WebStorm, з'являється щось на зразок цього:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
</body>
</html>
Не будемо заглиблюватися в пояснення, але все ж пройдемося по основним елементам цієї структури:<!DOCTYPE html>:визначає тип документа як HTML5.<html lang="en">:початок HTML-документа та вказівка мови контенту (в даному випадку англійська).<head>:секція документа, де розміщуються метадані, такі як кодування символів, параметри перегляду та заголовок сторінки.<meta charset="UTF-8">:вказує кодування символів, щоб забезпечити правильне відображення тексту.<title>Title</title>:заголовок сторінки, який відображається у браузері.<body>:основна частина документа, де розміщується весь видимий контент сторінки.
Домашнє завдання №1
- Зробити свою копію макета в онлайн-редакторі Figma та створити новий проєкт у WebStorm.
- Перенести в проєкт декілька блоків тексту зі сторінки:
- Ім'я (заголовок сторінки, <H1>)
- Блоки “Про мене”, “Мій господар” та вітальний текст
- Завдання із зірочкою: додати в проєкт блок “Улюблені ігри”
Конспект до заняття #2
На цьому занятті ми продовжили роботу з HTML-версткою та перенесли весь текстовий контент сторінки (з основного блоку та сайдбару) до себе в проєкт. Більшість потрібної для цього завдання теорії ми вже розкрили в конспекті до першого заняття, проте з'явилися нові теги, про які тобі варто знати.Як структурувати контент на вебсторінці
Для нашого проєкту нам знадобиться всього 2 теги:<main>
Тег <main> використовується для позначення основного вмісту вебсторінки. Цей тег містить головну інформацію, унікальну для даної сторінки, за винятком таких елементів, як бічні панелі, меню навігації, футери тощо. У документі повинен бути тільки один тег <main>.
У нашому проєкті — це основна інформація, включаючи ім'я, контакти, привітання, улюблені ігри, досягнення, інше.
<aside>
Тег <aside> використовується для позначення додаткового вмісту, який пов'язаний з основним, але не є його частиною. Зазвичай це бічні панелі з додатковою інформацією, рекламою, посиланнями на пов'язані матеріали тощо.
У нашому проєкті — це сайдбар (бічна панель) з фотографією профілю, друзями та інтересами.
Як оформити списки в HTML
1. Нумерований список<ol>:- Використовується для створення впорядкованого списку.
- Кожен елемент списку всередині
<ol>відзначається тегом<li>.
HTML
<ol>
<li>Перший пункт</li>
<li>Другий пункт</li>
<li>Третій пункт</li>
</ol><ul>:- Використовується для створення невпорядкованого списку.
- Кожен елемент списку всередині
<ul>відзначається тегом<li>.
HTML
<ul>
<li>Пункт перший</li>
<li>Пункт другий</li>
<li>Пункт третій</li>
</ul>Опис тегів
<ol>(ordered list): цей тег використовується для створення нумерованого списку. Елементи всередині нумерованого списку йдуть послідовно, починаючи з номера 1.<ul>(unordered list): цей тег використовується для створення маркованого (невпорядкованого) списку. Елементи в такому списку відзначаються маркерами (крапками).<li>(list item): тег для позначення елементів списку, який використовується всередині<ol>та<ul>.
Як оформити контактну інформацію в HTML
Як зробити клікабельну email-адресу
Для створення клікабельної email-адреси використовують тег<a> з атрибутом href, який починається з mailto: та вказує на потрібну email-адресу.
Приклад:
HTML
<a href="mailto:example@example.com">Написати нам</a>Як зробити клікабельний номер телефону
Для цієї мети використовують тег<a> з атрибутом href, який починається з tel: та вказує на потрібний номер телефону.
Приклад:
HTML
<a href="tel:+1234567890">Подзвонити нам</a>Опис тегів
<a>використовується для створення гіперпосилань. Атрибутhrefвказує на адресу, на яку повинна вести посилання.- протокол
mailto:використовується в атрибутіhrefтега<a>для створення клікабельних email-адрес. - протокол
tel:використовується в атрибутіhrefтега<a>для створення клікабельних номерів телефону.
Як додати зображення в HTML
Додати зображення в HTML верстці можна за допомогою тега<img>. Це одиночний (самозакриваючийся) тег, якому потрібно кілька атрибутів для коректного відображення зображення.
Ось основні атрибути, які використовуються для вставки зображення:src:вказує шлях до файлу зображення.alt:альтернативний текст, який відображається, якщо зображення не може бути завантажено. Також корисний для покращення доступності вебсайту.widthтаheight(опціонально): задають розміри зображення.
<img data-max-width="800" data-id="e1aacecf-c8a8-43e8-85cb-02ee6fffd33e" src="https://cdn.javarush.com/images/article/e1aacecf-c8a8-43e8-85cb-02ee6fffd33e/800.jpeg" alt="sunset">
HTML
<img src="images/sunset.jpg" alt="Фотографія красивого заходу сонця" width="800" height="500">
Опис атрибутів
src:вказує URL або шлях до зображення. Це може бути відносний або абсолютний шлях.
Приклад:src="images/photo.jpg"alt:текстовий опис зображення, яке буде відображатися, якщо зображення не завантажиться. Важливо для доступності та SEO.
Приклад:alt="Красивий пейзаж"widthтаheight: задають розміри зображення в пікселях. Ці атрибути опціональні.
Приклад:width="800"іheight="500"
Як оформити коментар до коду
Тут все просто — скористайся потрібною комбінацією клавіш. Гарячі клавіші для коментарів у WebStorm:- Для Windows/Linux:
- Однорядковий коментар: Ctrl + /
- Багаторядковий коментар: виділи текст і натисни Ctrl + Shift + /
- Для Mac:
- Однорядковий коментар: Cmd + /
- Багаторядковий коментар: виділи текст і натисни Cmd + Shift + /
Домашнє завдання №2
- Повторити все, що зробив ментор на занятті:
- додати в проєкт текст основного блоку сторінки, а також сайдбару
- додати в сайдбарі картинку профілю та картинку з друзями
- Самостійно доверстати пункти 2 і 3 в блоці “Досягнення”.
- Самостійно додати блок “Улюблені ласощі” в проєкт.
Конспект до заняття #3
На цьому занятті ми познайомилися з CSS-стилями, дізналися, як їх додавати в наш проєкт, щоб зробити його красивішим. Також ми підключали потрібні шрифти, щоб проєкт став більш схожим на макет.Що таке CSS стилі
CSS (Cascading Style Sheets) — це мова стилів, яка використовується для опису зовнішнього вигляду HTML-документів. З його допомогою можна задавати колір тексту, розмір шрифтів, розташування елементів на сторінці та багато іншого.Як додати CSS стилі в проєкт у WebStorm
Повторимо теорію з заняття. Щоб додати CSS стилі у свій проєкт, виконай такі кроки:- Створи новий файл CSS:
- клацни правою кнопкою миші на теці вашого проєкту.
- вибери "New File" і назви його styles.css.
- Підключи CSS файл до HTML:
- відкрий свій HTML файл – файл з твоїм проєктом. У нашому випадку — index.html.
- встав наступний рядок всередині тега
<head>:<link rel="stylesheet" href="styles.css">— почни писати link, з рештою допоможе автодоповнення.
- Почни писати CSS код.
css
body {
background-color: lightblue;
}
h1 {
color: darkblue;
text-align: center;
}
Тепер при відкритті HTML сторінки у браузері ти побачиш стилі, які застосували в styles.css.
Як задавати CSS стилі для класу
Щоб задати CSS стилі для класу, потрібно використовувати селектор класу у вашому CSS файлі. Селектор класу починається з крапки (.), за якою слідує ім'я класу. Візьмемо клас wrapper, який ми створили в проєкті, та задамо для нього деякі стилі. У тебе є наступний HTML елемент:
<div class="wrapper">
Вміст обгортки
</div>
Тепер ми можемо визначити стилі для класу wrapper у твоєму CSS файлі styles.css. Наприклад (у прикладі параметри випадкові, не з нашого макету):
css
.wrapper {
width: 80%;
margin: 0 auto;
padding: 20px;
background-color: #f0f0f0;
border: 1px solid #ccc;
border-radius: 10px;
box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
Ось що ці стилі роблять:width: 80%;— ширина контейнера становить 80% від ширини батьківського елемента.margin: 0 auto;— горизонтальні відступи автоматично центрують контейнер на сторінці.padding: 20px;— внутрішні відступи всередині контейнера.background-color: #f0f0f0;— світло-сірий фон контейнера.border: 1px solid #ccc;— рамка товщиною 1 піксель сірого кольору.border-radius: 10px;— закруглені кути рамки.box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);— тінь під контейнером для створення ефекту об'єму.
Домашнє завдання #3
Застосувати всі потрібні стилі, повторюючи дії за ментором:- розділити контент на сайдбар та основну частину сторінки
- додати потрібні відступи в сайдбарі та основній частині сторінки
- зробити колір фону в сайдбарі відповідно до макету
- оформити кнопки в сайдбарі (розташування одна під одною, відступи
- встановити потрібні шрифти за допомогою Google Fonts
Конспект до заняття #4
На цьому занятті ми доопрацьовували імплементацію CSS стилів відповідно до макету: додавали потрібний колір бекграунду сторінки, прописували потрібні відступи між сайдбаром та основною частиною сторінки, копіювали стилі для кнопок у сайдбарі та контенту розділу “Інтереси”. Тобі вже знайома вся необхідна база теорії на даний момент марафону, тому сфокусуйся на відточуванні використання CSS стилів у вашому проєкті. Якщо виконаєш всі дії за ментором, отримаєш готовий сайдбар, як на макеті.Домашнє завдання #4
- Повторити всі дії за ментором:
- додати стилі кнопкам
- розставити потрібні відступи між сайдбаром та основним блоком, між розділами сайдбару
- Закінчити оформлення блоку "Інтереси"
Конспект до заняття #5
На цьому занятті ми закінчили застосування всіх стилів до основного блоку сторінки. Якщо все зробиш правильно, твій проєкт буде виглядати точнісінько як макет!| При виконанні домашнього завдання зверни особливу увагу на вирівнювання контенту в блоках. |
<div class="info-box">
<div class="info-value">42</div>
<div class="info-label">Відповідь на питання</div>
</div>
CSS:
.info-box {
border: 1px solid #ccc;
padding: 10px;
margin: 10px 0;
background-color: #f9f9f9;
display: flex;
flex-direction: column;
align-items: center;
}
Info-value: цей клас використовується для стилізації значень всередині інформаційного блоку. Це може бути число, текст або інший елемент, який представляє собою важливе значення.
Приклад CSS:
.info-value {
font-size: 24px;
font-weight: bold;
color: #333;
margin-bottom: 5px;
}
У цьому прикладі елемент з класом info-box буде містити значення та мітку, стилізовані відповідно.
Домашнє завдання #5
- Повторити всі дії за ментором:
- оформити інформацію в блоках основної частини сторінки відповідно до макету
- доопрацювати всі необхідні відступи в основній частині сторінки
- перевірити відповідність стилів шрифтів макету
- Самостійно додати стилі для третього пункту в блоці “Досягнення” та в останньому блоці на основній сторінці – “Улюблені ласощі”.
Конспект до заняття #6
Вітаємо! Твій проєкт готовий, і залишилася лише одна невелика деталь — залити готову сторінку онлайн. Для цього використовуй Netlify або GitHub. Не забудь зареєструватися на платформі та повторити всі дії за ментором. Всього кілька хвилин — і твій проєкт в онлайні, і ти зможеш поділитися посиланням на результати своєї праці з ким завгодно!Домашнє завдання №6
Залити готовий проєкт на онлайн-хостинг за допомогою сервісу Netlify. Сподіваємося, тобі сподобався наш Frontend-марафон, і цей проєкт стане першим з безлічі, над яким ти будеш працювати!Якщо тебе зацікавила HTML/CSS верстка, і ти хочеш піти далі у вивченні фронтенду, запрошуємо вчитися разом з JavaRush на курсі з Frontend-розробки. Пройти шлях з нуля до Middle-розробника протягом року — реально! |
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ