cpp

Николай Прохоренок. Bootstrap и CSS-препроцессор Sass. Самое необходимое

Это продолжение книги "HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера", посвященное библиотеке Bootstrap, CSS-препроцессору Sass и адаптивному дизайну Web-страницы.

Библиотека Bootstrap позволяет создавать адаптивные сайты, одинаково хорошо отображающиеся на всех типах устройств, независимо от ширины экрана. Благодаря системе сеток на основе flex-контейнера можно для различных точек останова задавать ширину колонок и их количество в одном ряду, а также менять их порядок следования. Bootstrap содержит также стилевое оформление для стандартных элементов Web-страницы и предоставляет большое количество готовых компонентов: адаптивную панель навигации, карточки, панели с вкладками, карусель, всплывающие подсказки и уведомления, модальные диалоговые окна и др.

Знание CSS-препроцессора Sass позволит выполнить сборку SCSS-файлов библиотеки Bootstrap под свой проект, а также создать собственный проект без участия Bootstrap.

Книга содержит большое количество практических примеров, помогающих начать разрабатывать адаптивные Web-сайты самостоятельно. Весь материал тщательно подобран, хорошо структурирован и компактно изложен, что позволяет использовать книгу как удобный справочник.

Требования к читателям: знание HTML, CSS и языка программирования JavaScript в объеме книги "HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд.".

См. также: "HTML, JavaScript, PHP и MySQL. Джентльменский набор Web-мастера. 5-е изд."
См. также: Учебник по jQuery и AJAX (PDF)
См. также: Редактор Visual Studio Code (PDF)

Оглавление книги Bootstrap и CSS-препроцессор Sass. Самое необходимое

Введение

Глава 1. Форматирование Web-страницы с помощью стилей

1.1. Первые шаги
    1.1.1. Установка Bootstrap, Popper.js и jQuery
    1.1.2. Шаблон HTML-документа
    1.1.3. Инструменты разработчика и консоль в Web-браузере Firefox
    1.1.4. Адаптивный дизайн
    1.1.5. Базовые контейнеры
    1.1.6. Цвет фона
1.2. Форматирование шрифта
    1.2.1. Имя шрифта
    1.2.2. Стиль шрифта
    1.2.3. Размер шрифта
    1.2.4. Цвет текста
    1.2.5. Жирность шрифта
    1.2.6. Вертикальное расстояние между строками
1.3. Форматирование текста
    1.3.1. Горизонтальное выравнивание текста
    1.3.2. Вертикальное выравнивание текста
    1.3.3. Подчеркивание и зачеркивание текста
    1.3.4. Изменение регистра символов
    1.3.5. Обработка переноса строк
    1.3.6. Создание нижних и верхних индексов
    1.3.7. Выделение фрагментов кода
    1.3.8. Выделение важного фрагмента текста и аббревиатуры
    1.3.9. Выделение цитат
    1.3.10. Заголовки
    1.3.11. Разделение на абзацы
    1.3.12. Тег details
    1.3.13. Горизонтальная линия
    1.3.14. Гиперссылки
1.4. Отступы
    1.4.1. Внешние отступы
    1.4.2. Внутренние отступы
1.5. Рамки
    1.5.1. Отображение рамки
    1.5.2. Сокрытие рамки
    1.5.3. Цвет линии рамки
    1.5.4. Рамки со скругленными углами
1.6. Списки
    1.6.1. Нумерованные списки
    1.6.2. Маркированные списки
    1.6.3. Вложенные списки
    1.6.4. Списки без маркеров
    1.6.5. Компонент list-group: список (введение)
    1.6.6. Списки определений
1.7. Таблицы
    1.7.1. Рамки таблицы и ячеек
    1.7.2. Компактное отображение содержимого таблицы
    1.7.3. Зебра
    1.7.4. Выделение строки при наведении указателя мыши
    1.7.5. Изменение цвета фона для таблицы, строки и ячеек
    1.7.6. Местоположение и выравнивание заголовка таблицы
1.8. Графика и видео
    1.8.1. Работа с изображениями
    1.8.2. Готовые значки
    1.8.3. Добавление описания к изображению
    1.8.4. Вставка видео
1.9. Форматирование блоков
    1.9.1. Указание типа блока
    1.9.2. Указание размеров
    1.9.3. Атрибут overflow
    1.9.4. Управление обтеканием
    1.9.5. Позиционирование блока
    1.9.6. Управление отображением элемента
    1.9.7. Создание тени для блока
1.10. Управление выделением текста
1.11. Атрибут pointer-events

Глава 2. Размещение элементов внутри окна

2.1. Flex-контейнеры
    2.1.1. Направление выравнивания элементов внутри контейнера
    2.1.2. Перенос на новую строку
    2.1.3. Размеры элемента
    2.1.4. Растяжение элементов
    2.1.5. Сжатие элементов
    2.1.6. Одновременное указание характеристик элементов
    2.1.7. Выравнивание элементов внутри контейнера
    2.1.8. Выравнивание элементов внутри строки
    2.1.9. Порядок следования элементов внутри контейнера
2.2. Система сеток в библиотеке Bootstrap
    2.2.1. Создание контейнера для строки
    2.2.2. Колонки одинаковой ширины
    2.2.3. Перенос колонок на новую строку
    2.2.4. Указание количества колонок в строке
    2.2.5. Колонки автоматической ширины
    2.2.6. Колонки относительной ширины
    2.2.7. Смещение колонки
    2.2.8. Горизонтальное выравнивание колонок внутри строки
    2.2.9. Вертикальное выравнивание всех колонок внутри строки
    2.2.10. Вертикальное выравнивание одной колонки внутри строки
    2.2.11. Порядок следования колонок внутри контейнера
    2.2.12. Вложенные сетки

Глава 3. Формы и элементы управления

3.1. Элементы управления
    3.1.1. Командные кнопки
    3.1.2. Поля для ввода данных
    3.1.3. Поле, доступное только для чтения
    3.1.4. Вывод пояснительной надписи
    3.1.5. Списки автодополнения
    3.1.6. Списки со значениями
    3.1.7. Флажки
    3.1.8. Выключатели
    3.1.9. Переключатели
    3.1.10. Поле выбора файла
    3.1.11. Шкала с ползунком
    3.1.12. Элемент для выбора цвета
3.2. Выравнивание и группировка элементов формы
    3.2.1. Выравнивание элементов по вертикали
    3.2.2. Выравнивание элементов по горизонтали
    3.2.3. Выравнивание элементов по сетке
    3.2.4. Группировка элементов формы
    3.2.5. Выравнивание кнопок
    3.2.6. Группа с кнопками
    3.2.7. Группа с кнопками-переключателями
3.3. Проверка данных формы
3.4. Установка фокуса ввода
3.5. Порядок обхода элементов формы
3.6. Индикатор хода процесса
3.7. Компонент spinner: индикатор состояния загрузки
    3.7.1. Класс spinner-border
    3.7.2. Класс spinner-grow
    3.7.3. Выравнивание компонента по центру или по правой стороне
    3.7.4. Кнопка с компонентом spinner
3.8. Компонент dropdown: кнопка с выпадающим меню
    3.8.1. Класс dropdown-toggle: кнопка или ссылка с меню
    3.8.2. Класс dropdown-toggle-split: кнопка с двумя зонами и меню
    3.8.3. Выпадающее меню с отдельными пунктами
    3.8.4. Активные и недоступные пункты меню
    3.8.5. Выпадающее меню с произвольным содержимым
    3.8.6. Направление выпадения меню
    3.8.7. Положение меню
    3.8.8. Управление компонентом из программы
    3.8.9. Обработка событий

Глава 4. Готовые компоненты

4.1. Компонент jumbotron: выделение важного содержимого
4.2. Компонент alert: уведомления
    4.2.1. Создание уведомления
    4.2.2. Закрытие уведомления
    4.2.3. Обработка событий
4.3. Компонент badge: выделение фрагментов текста
4.4. Компонент card: карточки
    4.4.1. Разделы карточки
    4.4.2. Тело карточки
    4.4.3. Ширина и высота карточки
    4.4.4. Изменение цветовой схемы карточки
    4.4.5. Изображение внутри карточки
    4.4.6. Группа из карточек без отступов
    4.4.7. Группа из карточек с отступами
    4.4.8. Выравнивание карточек по сетке
    4.4.9. Размещение карточек в трех колонках
4.5. Компонент collapse: сворачивание и разворачивание области с содержимым
    4.5.1. Переключение состояния с помощью кнопки
    4.5.2. Переключение состояния с помощью ссылки
    4.5.3. Переключение состояния сразу нескольких областей
    4.5.4. Панель Аккордеон
    4.5.5. Управление компонентом из программы
    4.5.6. Обработка событий
4.6. Компонент nav: контейнер со ссылками или ярлыками вкладок
    4.6.1. Горизонтальное размещение ссылок
    4.6.2. Выравнивание ссылок внутри контейнера
    4.6.3. Вертикальное размещение ссылок
    4.6.4. Активное состояние ссылки
    4.6.5. Контейнер с ярлыками вкладок
    4.6.6. Ссылка или ярлык вкладки с выпадающим меню
4.7. Компонент tab: панель с вкладками
    4.7.1. Создание компонента
    4.7.2. Вертикальное размещение ярлыков вкладок
    4.7.3. Компонент list-group в качестве ярлыков вкладок
    4.7.4. Карточки с панелью вкладок
    4.7.5. Управление компонентом из программы
    4.7.6. Обработка событий
4.8. Компонент list-group: список с пунктами, ссылками или кнопками
    4.8.1. Список с пунктами, содержащими текст
    4.8.2. Размещение пунктов по горизонтали
    4.8.3. Список со ссылками или кнопками
    4.8.4. Изменение цветовой схемы
    4.8.5. Список с пунктами, содержащими произвольные элементы
4.9. Компонент breadcrumb: хлебные крошки
4.10. Компонент pagination: постраничная навигация
4.11. Компонент navbar: панель навигации
    4.11.1. Создание панели и вывод простого текста
    4.11.2. Вывод названия фирмы или проекта
    4.11.3. Добавление блока со ссылками
    4.11.4. Добавление ссылки с выпадающим меню
    4.11.5. Сворачивание и разворачивание блока со ссылками
    4.11.6. Добавление формы
    4.11.7. Позиционирование панели навигации
4.12. Компонент carousel: циклическое повторение слайдов
    4.12.1. Создание компонента
    4.12.2. Управление компонентом пользователем
    4.12.3. Добавление надписей
    4.12.4. Способы смены слайдов и указание интервала
    4.12.5. Управление компонентом из программы
    4.12.6. Обработка событий
4.13. Компонент scrollspy: отслеживание прокрутки
    4.13.1. Создание компонента
    4.13.2. Управление компонентом из программы
    4.13.3. Обработка событий
4.14. Компонент tooltip: всплывающие подсказки
    4.14.1. Добавление всплывающей подсказки к элементу
    4.14.2. Местоположение всплывающей подсказки
    4.14.3. Управление компонентом из программы
    4.14.4. Обработка событий
4.15. Компонент popover: всплывающие информеры
    4.15.1. Добавление всплывающего информера к элементу
    4.15.2. Местоположение всплывающего информера
    4.15.3. Управление компонентом из программы
    4.15.4. Обработка событий
4.16. Компонент toast: всплывающие уведомления
    4.16.1. Создание и отображение уведомления
    4.16.2. Управление компонентом из программы
    4.16.3. Обработка событий
4.17. Компонент modal: модальные диалоговые окна
    4.17.1. Создание окна
    4.17.2. Отображение и закрытие окна
    4.17.3. Изменение размеров окна
    4.17.4. Размещение содержимого внутри окна
    4.17.5. Вертикальное выравнивание окна по центру
    4.17.6. Управление компонентом из программы
    4.17.7. Обработка событий

Глава 5. CSS-препроцессор Sass

5.1. Первые шаги
    5.1.1. Установка Node.js
    5.1.2. Работа с командной строкой
    5.1.3. Установка Sass с помощью NPM
    5.1.4. Создание пакета и добавление файла package.json
    5.1.5. Создание CSS-файла из SCSS-файла
    5.1.6. Отслеживание изменений SCSS-файлов
    5.1.7. Интерактивный режим
    5.1.8. Комментарии
    5.1.9. Директивы @debug, @warn и @error
5.2. Переменные и типы данных
    5.2.1. Именование переменных в Sass
    5.2.2. Области видимости переменных
    5.2.3. Инструкция !global
    5.2.4. Инструкция !default
    5.2.5. Типы данных
    5.2.6. Подстановка значений переменных
    5.2.7. Проверка существования переменной
5.3. Операторы и циклы
    5.3.1. Математические операторы
    5.3.2. Приоритет выполнения операторов
    5.3.3. Операторы для работы со строками
    5.3.4. Операторы сравнения
    5.3.5. Оператор ветвления @if и функция if()
    5.3.6. Цикл @for
    5.3.7. Цикл @while
    5.3.8. Цикл @each: перебор элементов списка или ассоциативного массива
5.4. Числа
    5.4.1. Математические константы
    5.4.2. Основные функции для работы с числами
    5.4.3. Округление чисел
    5.4.4. Тригонометрические функции
    5.4.5. Работа с единицами измерения
    5.4.6. Преобразование числа в строку
    5.4.7. Генерация псевдослучайных чисел
5.5. Списки
    5.5.1. Создание списка
    5.5.2. Определение количества элементов
    5.5.3. Получение и изменение значения элемента
    5.5.4. Перебор элементов списка
    5.5.5. Добавление элемента в конец списка
    5.5.6. Объединение списков
    5.5.7. Поиск значения в списке
    5.5.8. Сравнение списков
5.6. Ассоциативные массивы
    5.6.1. Создание ассоциативного массива
    5.6.2. Определение количества пар
    5.6.3. Получение значения по ключу
    5.6.4. Проверка существования ключа
    5.6.5. Добавление элементов и изменение значения
    5.6.6. Удаление элементов
    5.6.7. Перебор элементов
    5.6.8. Преобразование ассоциативного массива в список
    5.6.9. Сравнение ассоциативных массивов
5.7. Строки
    5.7.1. Создание строки
    5.7.2. Кодировка файлов
    5.7.3. Определение количества символов в строке
    5.7.4. Изменение регистра символов
    5.7.5. Получение фрагмента строки
    5.7.6. Вставка фрагмента в строку
    5.7.7. Поиск в строке
    5.7.8. Сравнение строк
    5.7.9. Создание уникального идентификатора
5.8. Работа с цветом
    5.8.1. Способы указания значения
    5.8.2. Получение значений компонентов цвета
    5.8.3. Изменение значений компонентов цвета
    5.8.4. Изменение насыщенности цвета
    5.8.5. Изменение яркости цвета
    5.8.6. Изменение прозрачности цвета
    5.8.7. Преобразование цвета в оттенки серого
    5.8.8. Смешивание цветов
    5.8.9. Инвертирование цвета
    5.8.10. Получение значения в формате #AARRGGBB
5.9. Пользовательские функции
    5.9.1. Создание функции и ее вызов
    5.9.2. Расположение определений функций
    5.9.3. Способы передачи значений в функцию
    5.9.4. Необязательные параметры
    5.9.5. Передача произвольного количества значений
    5.9.6. Передача ссылки на функцию и обратный вызов
    5.9.7. Проверка существования функции
5.10. Модули
    5.10.1. Директива @import
    5.10.2. Вложенные директивы @import
    5.10.3. Пути поиска модулей
    5.10.4. Индексные файлы
    5.10.5. Директива @use
    5.10.6. Изменение названия пространства имен
    5.10.7. Импорт всех идентификаторов из модуля
    5.10.8. Частные идентификаторы внутри модуля
    5.10.9. Переопределение значений переменных из модуля
    5.10.10. Директива @forward
    5.10.11. Миксин meta.load-css()
    5.10.12. Подключение CSS-файлов
    5.10.13. Получение всех переменных внутри модуля
    5.10.14. Получение всех функций внутри модуля
5.11. Работа с селекторами и атрибутами стилей
    5.11.1. Основные селекторы
    5.11.2. Привязка к элементам и вложенные правила
    5.11.3. Директива @at-root
    5.11.4. Оператор &: список с родительскими селекторами
    5.11.5. Вложенные атрибуты
    5.11.6. Генерация названий селекторов и атрибутов
    5.11.7. Вставка атрибута в зависимости от условия
    5.11.8. Функции для работы с селекторами
5.12. Шаблоны и миксины
    5.12.1. Директива @extend и шаблонные селекторы
    5.12.2. Директива @extend и простые селекторы
    5.12.3. Инструкция !optional
    5.12.4. Миксины (примеси)
    5.12.5. Расположение определений миксинов
    5.12.6. Способы передачи значений
    5.12.7. Необязательные параметры
    5.12.8. Передача произвольного количества значений
    5.12.9. Директива @content и блоки содержимого
    5.12.10. Проверка существования миксина
5.13. Отличия SASS-файлов от SCSS-файлов
5.14. Программа node-sass (LibSass)
    5.14.1. Установка node-sass
    5.14.2. Создание CSS-файла из SCSS-файла
    5.14.3. Отслеживание изменений SCSS-файлов
    5.14.4. Отличия node-sass от Sass
5.15. Сборка SCSS-файлов библиотеки Bootstrap под свой проект

Заключение
Приложение. Структура электронного архива