05. JS с нуля, ваще с нуля (CSS детальнее)

Оценить качество материала и подачу материала автором видео:

Front-end

Трудоустройтесь middle front-end разработчиком на React JS (TypeScript) за 12-16 месяцев обучения с ежедневной менторской поддержкой в формате видео 1 на 1 и коммерческими проектами в портфолио

Перейти на курс
Front-end

Back-end

Трудоустройтесь middle back-end разработчиком за 12-16 месяцев обучения с ежедневной менторской поддержкой в формате видео 1 на 1 и коммерческими проектами в портфолио

Перейти на курс
Back-end

Карьерный бустер

Получите коммерческий опыт на реальных стартапах, прокачайте tech & soft навыки, научитесь работать в команде, проходить собеседования и получите первую работу в IT!

Перейти на курс
Карьерный бустер

Основы Front-end

Сделайте первый шаг в IT, освоив базовые знания разработки и научившись создавать небольшие проекты на JavaScript

Перейти на курс
Основы Front-end

Основы Back-end

Сделайте первый шаг в IT, освоив базовые знания разработки. Без опыта. Без математики. Только практика: JavaScript, SQL, Node JS, база данных

Перейти на курс
Основы Back-end

CSS детальнее

Автор конспекта: Андрей Шамара

📘

Этот урок является частью курса по JavaScript, но углубляется в детали HTML и CSS, поскольку эти технологии являются основой для JS. Особое внимание уделяется правильному именованию, разделению стилей и структуры, а также методам подключения внешних файлов.

Ключевые темы

1. Основы HTML и CSS

  • Верстка: Процесс превращения макета сайта в HTML и CSS. Верстальщик обычно хорошо знает HTML и CSS, а также немного JavaScript для улучшения стилей и разметки.
  • Приоритет изучения JavaScript: JavaScript сложнее HTML/CSS, поэтому ему уделяется глубокое и детальное изучение.

2. Правильное именование классов CSS (Семантика vs. Стилистика)

Избегайте стилистических названий классов! Названия вроде .red или .large — это плохая практика.

  • Проблема стилистических имен: Они привязаны к текущему внешнему виду, который может измениться. Это приведет к необходимости менять названия классов повсюду.
  • Решение – семантические имена: Названия должны передавать смысл или функционал элемента (например, .important-item, .important-size).
  • Преимущества семантических имен:
  • Улучшают читаемость кода.
  • Облегчают анализ структуры.
  • Упрощают поддержку и внесение изменений.

devtools

3. Использование нескольких классов

  • Синтаксис: Несколько классов к одному HTML-тегу добавляются через пробел: class="класс1 класс2 класс3".
  • Запрет пробелов в названиях классов: Пробелы в названии интерпретируются как разделители между разными классами.
  • Приоритет стилей: Правила из разных классов суммируются. При конфликте свойств (например, font-size), приоритет имеет то правило, которое определено позже в CSS-файле. Порядок объявления классов в HTML-теге не имеет значения.

devtools

devtools

4. Селекторы CSS

  • Селекторы классов: Выбирают элементы по их классу (например, .important-item).
  • Селекторы тегов: Выбирают все элементы определенного типа (например, img, input).
  • Назначение селекторов: Позволяют браузеру найти нужные элементы и применить к ним определенные правила стилей.
  • Общие свойства CSS: width, height, font-size, padding, color и т.д.

css
img {
  width: 50px;
}
 
input {
  padding: 20px;
}

5. Принцип единой ответственности (Single Responsibility Principle)

⚠️

Не пишите CSS внутри HTML! Это нарушает принцип единой ответственности.

  • Проблема: Встраивание стилей непосредственно в HTML-файл (через атрибут style или тег <style>) нарушает SRP.
  • Решение: Разделение логики – структура (HTML) и внешний вид (CSS) должны быть в разных местах. Поведение (JavaScript) также должно быть отдельно.
  • Преимущества разделения:
  • Чистота кода.
  • Упрощение отладки и поиска ошибок.
  • Облегчение сопровождения кода коллегами.
  • Улучшение масштабируемости проекта.

devtools

6. Подключение внешнего CSS-файла

  • Создание файла: CSS-стили выносятся в отдельный файл (например, index.css).
  • Подключение через HTML: Для связи используется тег <link> внутри секции <head>:
html
<head>
  <link rel="stylesheet" href="index.css" />
</head>

Боевой маршрут (JS Ваще с нуля)

Видеоурок - 5 видео из 29