Существует три способа применения таблицы стилей к документу HTML:
Встраивание (Inline). Этот метод позволяет применить стиль к заданному тегу HTML.
Внедрение (Embedded). Внедрение позволяет управлять стилями страницы целиком.
Связывание (Linked или External). Связанная таблица стилей позволяет вынести описание стилей во внешний файл, ссылаясь на который можно контролировать отображение всех страниц сайта.
Встроенные стили
Встраивание стилей предоставляет максимальный контроль над всеми элементами веб-страницы.
Встроенный стиль применяется к любому тегу HTML с помощью атрибута style следующим образом:
<p style="font: 12pt Courier">Это текст с кеглем 12 точек и гарнитурой Courier</P>
Пример:
<div style="font-family: Garamond; font-size: 18 pt;>"
Весь текст в этом разделе имеет размер 18 точек и шрифт Garamond.
<span style="color:#ff3300;">
А этот фрагмент еще и выделен красным цветом.</span>
</div>
Встроенные стили полезны, когда необходима тонкая настройка отображения некоторого элемента страницы или небольшой веб-страницы.
Внедренные стили
Внедренные стили используют тег < style >, который обычно размещают в заголовке HTML-документа (< head >...< / head >):
< html >
< head >
...
< style >
правила CSS
< / style >
...
< / head >
< body >
Связанные таблицы стилей
Связанные (linked), или внешние (external) таблицы стилей — наиболее удобное решение, когда речь идет об оформлении целого сайта. Описание правил помещается в отдельный файл (обычно, но не обязательно, с расширением .css). С помощью тега < link > выполняется связывание этой таблицы стилей с каждой страницей, где ее необходимо применить, например так:
<link rel=stylesheet href="sample.css" type="text/css">
Любая страница, содержащая такую связь, будет оформлена в соответствии со стилями, указанными в файле sample.css. Следует отметить, что файл со стилями физически может находиться на другом веб-сервере, тогда в href нужно указать абсолютный путь к нему.
Проблемы с браузерами
Обязательно просматривайте страницы с таблицами стилей в различных браузерах. Это связано с тем, что разные браузеры могут по разному интерпретировать одно и то же правило, а некоторые свойства и/или значения и вовсе не поддерживать. Следует также тестировать страницы с отключенными стилями (например, в текстовых браузерах), чтобы убедиться, что страница читабельна.
И снова каскадирование
Если вам нужна сотня-другая-третья страниц HTML — используйте внешнюю, глобальную, таблицу стилей. Если некоторые из этих страниц требуют корректировки общего оформления — используйте внедренный стиль. А если на странице нужно явно изменить оформление одного-двух элементов, то применяйте встроенные стили. Именно в таком порядке происходит перекрытие стилей при каскадировании, схематично это можно представить так: связанные стили -> внедренные стили ->встроенные стили
Аппаратно-зависимые стили
Таблицы стилей могут применяться для управления отображением содержимого в зависимости от используемого устройства вывода (монитор, проектор, устройство печати, звуковой синтезатор и т.п.). Для этого в описание стилей включить тип устройства, например так:
@media print {/* печатающее устройство */
BODY { font-size: 10pt; }
}
@media screen { /* монитор */
BODY { font-size: 12pt; }
}
@media screen, print {
BODY { line-height: 1.2; }
}
@media all {
BODY { margin: 1pt; }
}
Как видно из примера, вся таблица разбивается на секции, каждая из которых начинается со слова @media, за которым следует название класса устройств и далее, в фигурных скобках, непосредственно описание стилей.
Можно разделить таблицы стилей иначе, указав тип устройства в теге < link >:
<link rel=stylesheet href="sample.css" type="text/css" media=”screen”>
Свойства CSS
Таблица 1. Свойства элементов CSS
Имя | Значения | Описание |
background | [background-color || background-image || background-repeat || background-attachment || background-position] | inherit | Управление фоном элемента |
background-color | <color> | transparent | inherit | Цвет фона |
background-image | <uri> | none | inherit | Фоновое изображение |
background-position | [ [<percentage> | <length> ]{1,2} | [ [top | center | bottom] || [left | center | right] ] ] | inherit | Положение фоновой картинки |
background-repeat | repeat | repeat-x | repeat-y | no-repeat | inherit | Повторение фоновой картинки |
border | [ border-width || border-style || <color> ] | inherit | Границы элемента |
border-collapse | collapse | separate | inherit | Объединение/разделение смежных границ |
border-color | <color>{1,4} | transparent | inherit | Цвет границы |
border-style | <border-style>{1,4} | inherit | Стиль линии границы |
border-top border-right border-bottom border-left | [ border-top-width || border-style || <color> ] | inherit | Управление стилем заданной границы |
border-width | <border-width>{1,4} | inherit | Толщина линии границы |
bottom | <length> | <percentage> | auto | inherit | Низ элемента |
clear | none | left | right | both | inherit | Запрет заполнения свободного пространства рядом с элементом |
clip | <shape> | auto | inherit | Обрезка содержимого элемента |
color | <color> | inherit | Цвет содержимого |
cursor | [ [<uri>,]* [ auto | crosshair | default | pointer | move | e-resize | ne-resize | nw-resize | n-resize | se-resize | sw-resize | s-resize | w-resize| text | wait | help ] ] | inherit | Форма курсора |
display | inline | block | list-item | run-in | compact | marker | table | inline-table | table-row-group | table-header-group | table-footer-group | table-row | table-column-group | table-column | table-cell | table-caption | none | inherit | Способ отображения элемента |
empty-cells | show | hide | inherit | Отображение пустых ячеек таблицы |
float | left | right | none | inherit | Свободное размещение элемента |
font | [ [ font-style || font-variant || font-weight ]? font-size [ / line-height ]? font-family ] | caption | icon | menu | message-box | small-caption | status-bar | inherit | Управление шрифтом |
font-family | [[ <family-name> | <generic-family> ],]* [<family-name> | <generic-family>] | inherit | Гарнитура |
font-size | <absolute-size> | <relative-size> | <length> | <percentage> | inherit | Кегль |
font-style | normal | italic | oblique | inherit | Стиль шрифта |
font-variant | normal | small-caps | inherit | Варианты отображения шрифта |
font-weight | normal | bold | bolder | lighter | 100 | 200 | 300 | 400 | 500 | 600 | 700 | 800 | 900 | inherit | Толщина шрифта |
height | <length> | <percentage> | auto | inherit | Ширина элемента |
left | <length> | <percentage> | auto | inherit | Положение левой границы элемента |
line-height | normal | <number> | <length> | <percentage> | inherit | Высота строки |
list-style | [ list-style-type || list-style-position || list-style-image ] | inherit | Стиль списка |
margin | <margin-width>{1,4} | inherit | Внешний отступ |
margin-top margin-right margin-bottom margin-left | <margin-width> | inherit | Внешний отступ по заданной стороне |
padding | <padding-width>{1,4} | inherit | Внутренний отступ |
padding-top padding-right padding-bottom padding-left | <padding-width> | inherit | Внутренний отступ по заданной стороне |
position | static | relative | absolute | fixed | inherit | Позиционирование элемента |
right | <length> | <percentage> | auto | inherit | Положение правой границы |
text-align | left | right | center | justify | <string> | inherit | Выравнивание текстового блока |
text-decoration | none | [ underline || overline || line-through || blink ] | inherit | Текстовые эффекты |
text-indent | <length> | <percentage> | inherit | Абзацный отступ |
text-transform | capitalize | uppercase | lowercase | none | inherit | Начертание текста |
top | <length> | <percentage> | auto | inherit | Положение верхней границы элемента |
vertical-align | baseline | sub | super | top | text-top | middle | bottom | text-bottom | <percentage> | <length> | inherit | Вертикальное выравнивание в пределах блока |
visibility | visible | hidden | collapse | inherit | Управление видимостью элемента |
white-space | normal | pre | nowrap | inherit | Управление пробелами между словами |
width | <length> | <percentage> | auto | inherit | Ширина элемента |
z-index | auto | <integer> | inherit | Порядок перехода по клавише Tab |
Пример создания сайта:
1. Создадим папку для проекта.
2. В папке создадим файл
- В корневой папке файл index.html (Сама страница html)
- Папку для стилей css
- В папке стилей создадим файл style.css (Файл стилей)
- В корневой папке создадим папку node_modules (в нее будем помещать все необходимые файлы фреймворка)
- В корневой папке создадим папку для скриптов js
- В папке js создадим файл scripts.js. (Файл с нашими скриптами)
Поздравляю вы прекрасны вы создали проектное пространство.
(пример того, что должно получиться)
3. Скачаем и установим все необходимые нам фреймворки, модули, узлы и т.д. (В нашем случае это Bootstrap v4.0.0 – первая ссылка в Гугл) и копируем их в папку node_modules
(то что получилось)
4. Далее откроем файл index.html и напишем в нем по теории данной ранее просто макет сайта.
5. Добавим в клнструкцию элементы в зависимости от варианта задания и настроим ссылки между страницами.
Работа с GIT:
1. Регистрируем аккаунт в GITHUB по ссылке github.com// и создаем репозиторий.
2. Скачиваем программу для Windows/Linux c сайта https://git-scm.com/
3. Заходим в GIT BASH и выбираем директорию для коммита “cd “(путь до директории)””.
4. Прописываем команду “git init” – инициализируем все, что есть в папке
5. Пишем “git add.” (точка обязательна для добавления всех файлов) команда добавляет файлы в список на добавление в репозиторий.
6. Пишем “git commit –m “Сообщение коммита””
7. Убедимся что был создан локальный репозиторий прописав “git log”
8. Перепишем в репозиторий на GITHUB “git remote add (Любое имя, которое понравится, но принято origin) git@github.com:(ваш логин в github)/(имя проекта на github).git”
9. Запишем изменения в при помощи записи в мажорную версию, командой «git push –u origin master»