Введение в CSS
После знакомства с HTML разработчики сайтов разделяются на две основные категории. Одна часть считает, что с помощью HTML на сайте можно создавать всё или практически всё, другая же понимает, что в целом средств разметки недостаточно для оформления веб-документов. Действительно, HTML лишь первый этап в процессе обучения созданию сайтов. Следующим шагом является изучение стилей или CSS (Cascading Style Sheets, каскадные таблицы стилей).
Стили представляют собой набор параметров, управляющих видом и положением элементов веб-страницы. Чтобы стало понятно, о чем идет речь, посмотрим на рис. 1.1.
Рис. 1.1. Веб-страница, созданная только на HTML
Это обычная веб-страница, оформленная без всяких изысков. Тот же самый документ, но уже с добавлением стилей приобретает совершенно иной вид (рис. 1.2).

Рис. 1.2. Веб-страница, созданная на HTML и CSS
Перемена разительна, поэтому заглянем в код, чтобы понять, в чем же разница (пример 1.1).
Пример 1.1. Исходный код документа
HTML5 CSS 2.1 IE Cr Op Sa Fx
Флексагон Флексагон
Флексагон представляет собой бумажную фигуру, которая имеет три и более стороны. Поначалу кажется, что это невозможно, но вспомните ленту Мёбиуса, она ведь имеет всего одну сторону, в отличие от листа бумаги, и, тем не менее, реальна. Так же реален и флексагон, который легко сделать и склеить в домашних условиях. Он выглядит как двухсторонний шестиугольник, но стоит согнуть его особым образом, и мы увидим третью сторону. Легко убедиться, что мы имеем дело именно с тремя сторонами, если раскрасить их в разные цвета. Перегибая флексагон, по очереди будем наблюдать все его поверхности.
Сам код HTML никаких изменений не претерпел и единственное добавление — это строка . Она ссылается на внешний файл с описанием стилей под именем style.css . Содержимое этого файла показано в примере 1.2.
Пример 1.2. Содержимое стилевого файла style.css
body < font-family: Arial, Verdana, sans-serif; /* Семейство шрифтов */ font-size: 11pt; /* Размер основного шрифта в пунктах */ background-color: #f0f0f0; /* Цвет фона веб-страницы */ color: #333; /* Цвет основного текста */ >h1 < color: #a52a2a; /* Цвет заголовка */ font-size: 24pt; /* Размер шрифта в пунктах */ font-family: Georgia, Times, serif; /* Семейство шрифтов */ font-weight: normal; /* Нормальное начертание текста */ >p < text-align: justify; /* Выравнивание по ширине */ margin-left: 60px; /* Отступ слева в пикселах */ margin-right: 10px; /* Отступ справа в пикселах */ border-left: 1px solid #999; /* Параметры линии слева */ border-bottom: 1px solid #999; /* Параметры линии снизу */ padding-left: 10px; /* Отступ от линии слева до текста */ padding-bottom: 10px; /* Отступ от линии снизу до текста */ >
В файле style.css как раз и описаны все параметры оформления таких тегов как , и
. Заметьте, что сами теги в коде HTML пишутся как обычно.
Поскольку на файл со стилем можно ссылаться из любого веб-документа, это приводит в итоге к сокращению объёма повторяющихся данных. А благодаря разделению кода и оформления повышается гибкость управления видом документа и скорость работы над сайтом.
CSS представляет собой свой собственный язык, который совпадает с HTML только некоторыми значениями, например способом определения цвета.
Типы стилей
Различают несколько типов стилей, которые могут совместно применяться к одному документу. Это стиль браузера, стиль автора и стиль пользователя.
Стиль браузера
Оформление, которое по умолчанию применяется к элементам веб-страницы браузером. Это оформление можно увидеть в случае «голого» HTML, когда к документу не добавляется никаких стилей. Например, заголовок страницы, формируемый тегом , в большинстве браузеров выводится шрифтом с засечками размером 24 пункта.
Стиль автора
Стиль, который добавляет к документу его разработчик. В примере 1.2 показан один из возможных способов подключения авторского стиля.
Стиль пользователя
Это стиль, который может включить пользователь сайта через настройки браузера. Такой стиль имеет более высокий приоритет и переопределяет исходное оформление документа. В браузере Internet Explorer подключение стиля пользователя делается через меню Сервис > Свойство обозревателя > Кнопка «Оформление» , как показано на рис. 1.3.

Рис. 1.3. Подключение стиля пользователя в браузере Internet Explorer
В браузере Opera аналогичное действие происходит через команду Инструменты > Общие настройки > Вкладка «Расширенные» > Содержимое > Кнопка «Параметры стиля» (рис. 1.4).

Рис. 1.4. Подключение стиля пользователя в браузере Opera
Указанные типы стилей могут спокойно существовать друг с другом, если они не пытаются изменить вид одного элемента. В случае возникновения противоречия вначале имеет приоритет стиль пользователя, затем стиль автора и последним идёт стиль браузера.
Вопросы для проверки
1. Требуется задать цвет заголовка зелёным. Какое стилевое свойство подойдёт для этой цели?
- font-color
- color
- font-family
- text
- font-size
2. Что такое стиль?
- Способ сокращения HTML-кода за счёт переноса части данных в другой файл.
- Язык разметки гипертекстовых документов.
- Набор правил форматирования элементов веб-страницы.
- Метод преобразований текстовых документов в HTML.
- Технология, представляющая собой разные приёмы для вёрстки HTML-кода.
3. Как расшифровывается аббревиатура CSS?
- Colorful Style Sheets
- Cascading Style Sheets
- Computer Style Sheets
- Creative Style Sheets
- Common Style Sheets
Ответы
2. Набор правил форматирования элементов веб-страницы.
3. Cascading Style Sheets
Правила оформления CSS-кода
После пары свойство: значение обязательно ставится точка с запятой. Без этого знака препинания не будет работать правило в этой строке и следующее за ним.
Хорошо: после каждого значения стоит точка с запятой
.selector
Плохо: после первого свойства пропущена точка с запятой
.selector
1.2 Для отступов внутри правил используйте два пробела
Правила, которые перечисляются внутри фигурных скобок, должны отстоять от начала строки. Для этого иcпользуйте 2 пробела. Это позволяет сразу видеть блоки свойств, относящихся к одному селектору.
.selector
.selector
1.3 Значение цветов не сокращается
Если цвет задан в шестнадцатиричной системе, то значение не сокращается, а пишется полностью код из всех шести символов. Для записи используйте строчные буквы. Например, #e3e3e3 .
.selector
.selector
1.4 Все пишется строчными буквами
Вce названия тегов и свойства пишутся строчными буквами.
section
sEctiOn
1.5 Нули не пропускаются
Если число дробное и начинается с нуля, то он не опускается (например, .5 вместо 0.5 ).
.selector
.selector
1.6 Используйте двойные кавычки
В стилях всегда без исключения используются двойные кавычки. Если кавычки не обязательны, то они пишутся все равно.
.selector[type="text"]
.selector[type=text]
1.7 Пробел после двоеточия
В правилах после двоеточия ставится один пробел ( top: 10px; ). При этом перед двоеточием пробел не нужен.
.selector
.selector
1.8 Пробелы после запятой в цветах
После запятых внутри значений rgb() , rgba() , hsl() , hsla() или rect() пробелы ставятся. Это улучшает читаемость.
.selector
.selector
1.9 Пробел до и после комбинатора
Между селекторами до и после комбинатора (например, p > a ) ставится один пробел.
ol > li
ol>li
1.10 Каждое свойство с новой строки
Одно свойство — одна строка. Каждое объявление в правиле пишется на новой строке.
.selector
.selector
1.11 Пробел перед фигурной скобкой
После селектора и перед открывающейся фигурной скобкой ставится один пробел. После открывшейся скобки запись идёт с новой строки.
.selector
.selector
1.12 Закрывающая фигурная скобка на новой строке
Закрывающая фигурная скобка после набора свойств пишется на новой строке и без отступа. Она должна быть на одном уровне с селектором. Следующее после этого правило отделяется пустой строкой.
.selector < color: red; >.selector-item
.selector < color: red;>.selector-item
1.13 Опускайте единицы измерения
Единицы измерения не нужно писать там, где без них можно обойтись. Например, border: 0 .
.selector
.selector
2. Порядок свойств
Порядок логически связанных свойств должен быть сгруппирован следующим образом:
- Позиционирование
- Блочная модель
- Типографика
- Оформление
- Анимация
- Разное
Позиционирование следует первым, поскольку оно влияет на положение блоков в потоке документа. Блочная модель определяет размеры и расположение блоков и идёт следующей.
Все прочие объявления, которые изменяют вид внутренних частей блоков и не влияют на другие блоки, идут в последнюю очередь.
Сгруппированные свойства в правиле отделяются друг от друга пустой строкой.
Порядок объявления подробных правил, таких как font-size , font-family , line-height , должен соответствовать порядку в сокращённой версии правила. В случае совместного использования подробных и сокращённых правил, первой должна идти сокращённая версия.
.selector-item < /* Позиционирование */ position: fixed; top: 0; right: 0; bottom: 0; left: 0; z-index: 100; /* Блочная модель */ display: inline-block; float: left; width: 150px; height: 150px; margin: 25px; padding: 25px; /* Типографика */ font: normal 13px/1.5 "Helvetica", sans-serif; font-style: normal; font-size: 13px; line-height: 1.5; font-family: "Helvetica", sans-serif; text-align: start; /* Оформление */ color: #999999; background-color: #e3e3e3; border: 1px solid #333333; border-radius: 5px; opacity: 1; /* Анимация */ transition: all 0.8s; /* Разное */ will-change: auto; >
3. Имена классов
- Имена классов пишутся строчными буквами, между несколькими словами используется дефис (но не знак нижнего подчёркивания или camelCase). Дефисы служат разделителями во взаимосвязанных классах (например, .button и .button-cancel ).
- Имена должны быть такими, чтобы по ним можно было быстро определить, какому элементу на странице задан класс: избегайте сокращений (единственное исключение — .btn для кнопок), но не делайте их слишком длинными (не более трёх слов).
- Для именования классов используются английские слова и термины. Не используйте транслит для названия классов и атрибутов.
.alert-info < … >.tweet .user-picture < … >.button < … >.layout-center
.testElement < … >.t < … >.big_green_button < … >.knopka
4. Правило @import
Правило @import работает медленнее, чем тег . В стилях @import использовать не желательно.
Хорошо: подключение тегом link Плохо
5. Варианты шрифта
Альтернативные варианты шрифта и тип семейства указываются в конце перечисления значений font-family.
В случае использования нестандартных шрифтов обязательно указывать альтернативный веб-безопасный шрифт и тип семейства, чтобы в случае отсутствия нестандартного шрифта в системе изменения внешнего вида страницы были минимальны. Нестандартный и альтернативный шрифты должен быть одного типа.
Порядок шрифтов следующий:
- нестандартный шрифт;
- веб-безопасный;
- тип семейства шрифта.
Список веб-безопасных шрифтов можно посмотреть здесь — cssfontstack.com.
Хорошо: указан альтернативный веб-безопасный шрифт и его тип семейства
body < font-family: "Helvetica", "Arial", sans-serif; >/* Кому-то нравится Arial, кому-то Tahoma */ body
Плохо: указан только нестандартный шрифт
body
Плохо: указан только нестандартный шрифт и тип семейства, альтернативный веб-безопасный шрифт отсутствует
Как работать из PyCharm community c CSS
Я только начинаю свой путь, как в веб-разработке, так и в программировании в принципе, с ответом на этот вопрос мучился 2 дня и казалось бы перепробовал все, НО как это обычно бывает, решение лежало на поверхности.
p.s. Могу путаться в терминах в силу своей неопытности, прошу строго не судить. Всегда рад конструктивной обратной связи, спасибо за понимание! Да, я знаю о существовании Django, просто начинать как мне кажется лучше с голого кода и дальше с базовыми знаниями переходить к изучению этого прекрасного фреймворка.
Начало
На одном сливе курсов по Fullstack разработке на Python, прохожу модуль: Html + Css + Python, автор работает в Sublime text и у него прекрасно совмещаются все три языка, я же по определенному стечению обстоятельств пишу код в PyCharm community edition (пробовал и Sublime и Atom и даже в intelij idea попытался-знаю, что она в основном для братьев Джавистов предназначена, но все же).
При совмещении Html + Css в Pc возникла следующая проблема:
Версия community не поддерживает файлы с расширением .css
Решение
Решения у меня довольно примитивные и рассчитаны под два варианта развития событий.
Первый: Вы пишете голый html код не используя при этом python и вам просто нужно проделать определенные манипуляции с его стилистикой, давайте смотреть:
- Создаем файл с расширением .html
- Если вы создаете файл в Pc, то файл у вас будет уже со следующим шаблоном html кода ( Если нет, то возьмите либо отсюда, либо можете погуглить как его включить):
, именно в него мы и будем добавлять наш код css --> Title закрывается -->
Для того чтобы нам было что менять, давайте добавим пару элементов на нашу страницу, делается это следующим образом:
Этот код будет выдавать следующий результат:

Прикрутим к нашему файлу css:
Объясняю по написанию css: Внутри тега мы указываем те теги, в которых хотим что-либо изменить, в нашем случае мы меняем для всех элементов в теги фон и цвет текста ( сам синтаксис можно увидеть в коде выше), далее идем по ВСЕМ отдельным элементам, а именно: a, h1, p, ol. Не забываем, что теги там указываются «Голые» и цвет именно в таком формате записи надо указывать не просто название, а ИМЕННО КОД ЦВЕТА. Получаем такой результат:

Как мы видим, все параметры успешно изменены.
Для изменения других параметров по типу: Размера, самого шрифта и тд, просто найдите синтаксис в интернете и вставьте в фигурные скобки<> к тому элементу, который необходим.
CSS + HTML + Python
Теперь переходим к более интересной теме, а именно совмещение всех трех языков и прямо в IDE PyCharm.
Сразу скажу, что тут не будет написания какого то бэкенда, связи скрипта с сервером или еще каких то слов на продвинутом языке, тут мы просто создадим небольшой генератор html, обернем ее в функцию в файле .py, закинем туда css, запишем все это в html и откроем страницу.
Допустим, у вас не генерируется html шаблон, который я предоставил выше или вы работаете из другого редактора или еще по каким то причинам, давайте станем более независимы и напишем свой шаблон. Приступим:
- Создаем файл с расширением .py
- Задаем функцию с помощью ключевого слова def
- Мотивация
- И другая тема
Пояснения: в функцию передаются 3 позиционных аргумента и 3 ключевых
Аргумент file — принимает в себя файл для записи (html документ)
Аргумент style — сюда передаем переменную со стилями css ( предварительно записав в переменную)
Аргумент body — сюда передаются те теги, которые хотим использовать в теле кода
Аргумент mode — это режим в котором мы открываем файл (‘w’ — в этом режиме мы только перезаписываем файл, про другие режимы можете почитать в интернете и если нужно, то после позиционных аргументов, указать нужный вам режим, например: mode=’a’)
Аргумент encoding — это кодировка, в которой представлен html файл, по умолчанию она равна «UTF-8», но у меня при этой кодировке ничего не отображается, поэтому я по умолчанию сделал ‘windows-1251’ ( это конкретно для файла .html, для файлов .py, когда я использую их с HTML, я использую следующий синтаксис: в самом верху программы указываю комментарий # -*- coding: utf-8 -*-
Далее обязательно пишем документацию к функции
Далее вызываем функцию open()- туда передаем название файла и режим открытия(это берем из аргументов нашей главной функции)
Далее обьявляем переменную и передаем туда то, что будет у нас находиться в
Используем переменную, где мы открывали файл и применяем функцию write()- сюда передаем переменную, в которую записывали
Далее закрываем функцию
При вызове передаем все параметры и получаем результат:

Так же можно наш шаблон разбить на подшаблоны, по типу: формирования заголовков и тд
По сути та работа, которую я проделал из python — бесполезна тк такие шаблоны нужны для определенных частей, например шапки или подвала сайта или формы для сбора контактов, а то что делал я — не более чем учебные цели.
Если эта статья облегчит хоть кому-нибудь жизнь, пишите фидбэк.
Могу потихоньку рассказывать о таких нюансах, которые сам для себя узнаю и понемногу улучшать подачу материала и оформление, если кому-то это будет нужно.
А если сюда зайдут каким-то образом матерые волки, то буду признателен за конструктивную критику.
Спасибо за уделенное время!
Создание макетов страниц с помощью конструктора CSS
Узнайте, как использовать панель конструктора CSS, чтобы создавать или присоединять таблицы стилей, медиазапросы, селекторы, а также настраивать свойства CSS.

Панель конструктора CSS ( Окно > Конструктор CSS ) ― это инспектор свойств CSS, который позволяет в визуальном режиме создавать стили и файлы CSS, а также задавать свойства и формировать медиазапросы.
В интерфейсе конструктора CSS доступны следующие разделы.
- Источники: набор файлов CSS, связанных с проектом.
- @Мультимедиа: мультимедийные запросы для управления размером экрана.
- Селекторы: селекторы, связанные с выбранным медиазапросом на панели «@Мультимедиа».
- Свойства: свойства, связанные с выбранным селектором, с возможностью отображения только заданных свойств.
С помощью конструктора CSS в таблице стилей CSS можно отредактировать отдельное правило (используйте вкладку «Текущий» в конструкторе CSS) или при необходимости можно работать непосредственно с таблицей стилей CSS (используйте вкладку «Все» в конструкторе css).
Создание и присоединение таблиц стилей
![]()
В области «Источники» панели конструктора CSS щелкните , а затем выберите один из следующих пунктов.
- Создать новый файл CSS : чтобы создать и присоединить к документу новый файл CSS.
- Присоединить существующий файл CSS : чтобы присоединить к документу существующий файл CSS.
- Указать на странице : чтобы задать стиль CSS в документе.

В зависимости от выбранного варианта откроется диалоговое окно «Создание нового файла CSS» или « Присоединение существующего файла CSS ».
Нажмите кнопку «Обзор» , чтобы указать имя файла CSS и, если создается новый файл CSS, расположение, в которое он будет сохранен.
- Выберите «Ссылка» , чтобы связать документ Dreamweaver с файлом CSS.
- Выберите «Импорт» , чтобы импортировать файл CSS в документ.
(Необязательно) Выберите «Условное использование» и укажите медиазапрос, который будет связан с этим файлом CSS.
Определение медиазапросов
На панели конструктора CSS щелкните «Источник CSS» в области «Источники» .
![]()
Щелкните в области «@Медиа» , чтобы добавить новый медиазапрос. Откроется диалоговое окно «Определение медиазапроса» , в котором будут перечислены все поддерживаемые Dreamweaver условия медиазапросов.
Выберите условия , соответствующие вашим требованиям.

Для всех выбранных условий необходимо задать допустимые значения. В противном случае соответствующие медиазапросы не будут созданы.
Примечание.
Для задания нескольких условий поддерживается только оператор And.
Если условия медиазапроса добавляются с помощью кода, в диалоговое окно « Определение медиазапроса » будут занесены только поддерживаемые условия. Однако в текстовом поле «Код» этого диалогового окна будет отображен весь код (в том числе и неподдерживаемые условия).
Если щелкнуть медиазапрос в представлении «Конструктор» или в режиме интерактивного просмотра, то область просмотра изменяется в соответствии с выбранным медиазапросом. Для переключения в полноразмерную область просмотра щелкните «Глобально» в области «@Медиа».
Определение селекторов CSS
На панели конструктора CSS выберите источник CSS в области «Источники» или медиазапрос в области «@Медиа» .
![]()
В области «Селекторы» щелкните . С учетом выбранного в документе элемента конструктор CSS определяет подходящий селектор и предлагает его пользователю (до трех правил). Вам доступны следующие действия.
- Предлагаемый селектор можно сделать более или менее точным с помощью клавиш со стрелками вверх или вниз.
- Можно удалить предложенное правило и ввести необходимый селектор. При введении имени селектора его необходимо сопроводить обозначением типа селектора. Например, если указывается идентификатор, то перед именем селектора необходимо поставить символ «#».
- Для поиска определенного селектора используется поле поиска, которое находится вверху области.
- Чтобы переименовать селектор, щелкните его и введите необходимое имя.
- Чтобы изменить порядок расположения селекторов в списке, перетащите селектор в нужное положение.
- Для перемещения селекторов между источниками, перетащите его на нужный источник в области «Источники» .
- Чтобы создать копию селектора в выбранном источнике, щелкните селектор правой кнопкой мыши и выберите команду «Дублировать» .
- Чтобы создать копию селектора и добавить ее в медиазапрос, щелкните селектор правой кнопкой мыши, наведите указатель на пункт Дублировать в медиазапрос , а затем выберите медиазапрос.
Примечание. Пункт «Дублировать в медиазапрос» доступен, только если источник выбранного селектора содержит медиазапросы. Нельзя создать копию селектора из одного источника в медиазапросе другого источника.
Копирование и вставка стилей
Теперь можно копировать стили из одного селектора и вставлять их в другой. Можно копировать все стили или стили только определенной категории, например макет, текст и рамки.
Щелкните селектор правой кнопкой мыши и выберите один из доступных параметров.
- Если в селекторе отсутствуют стили, элементы «Копировать стили» и «Копировать все стили» будут неактивны.
- Элемент «Вставить стили» неактивен при работе с удаленными сайтами, которые нельзя редактировать. Однако функции «Копировать» и «Копировать все стили» доступны.
- Вставка стилей, которые уже частично существуют в селекторе (наложение), возможна. В таком случае вставляется объединение всех селекторов.
- Копирование и вставка стилей также возможны для различных связок файлов CSS: импортированных, связанных, встроенных стилей.
