Перейти к содержимому

Как создать css файл для html

  • автор:

Как создать css файл для html

Дизайн Web-страниц — это точное размещение компонентов HTML-страниц относительно друг друга в рабочей области окна браузера.

К компонентам страницы относятся:

  • блоки текста
  • графика
  • встроенные приложения.

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

Автор страницы не может заранее определить настройки браузера пользователя, что существенно ограничивает число вариантов представления информации на странице.

CSS (Cascading Style Sheets) позволяет полностью контролировать форму представления элементов HTML-разметки.

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

Таблицы стилей также позволяют определить цвет и начертание текстового фрагмента, изменять эти параметры внутри текстового блока, выполнять выравнивание текстового блока относительно других блоков и компонентов страницы.

Наличие подобных возможностей позволяет говорить о CSS как о средстве разделения логической структуры документа и формы его представления.

Логическая структура документа определяется элементами HTML-разметки, в то время как форма представления каждого из этих элементов задается CSS-описателем элемента.

CSS (CascadingStyleSheets) — Каскадные таблицы стилей — это свод стилевых описаний, тех или иных HTML тегов (далее элементов HTML), который может быть применён как к отдельному тегу — элементу, так и одновременно ко всем идентичным элементам на всех страницах сайта.

2. Способы подключения CSS к HTML коду

Давайте теперь разберемся с тем, как сделать так, чтобы написанный CSS применился к нашему HTML коду.

Различают четыре способа применения стилей:

  1. переопределение стиля в элементе разметки;
  2. размещение описания стиля в заголовке документа в элементе style ;
  3. размещение ссылки на внешнее описание через элемент link;
  4. импорт описания стиля в документ.

Первые два способа заключаются в том, что CSS код будет написан прямо на HTML странице. Третий способ заключается в том, что CSS будет написан в отдельном файле и специальным образом подключен к нашей HTML странице. Третий способ используется гораздо чаще (в подавляющем большинстве случаев). С ним соперничает четвертый способ. Одновременно можно применять все четыре способа.

Давайте разберемся с этими способами более подробно.

CSS внутри атрибута style

Первый способ заключается в том, что можно добавить атрибут style любому тегу на странице и прямо там написать для него HTML код. Обратите внимание на то, что при этом никаких селекторов писать не нужно, так как CSS код применится только к тому тегу, для которого он написан:

Первый способ не рекомендуется к использованию, потому что он захламляет HTML код.

2 CSS внутри тега style

Второй способ заключается в том, что CSS код можно написать в теге &ltstyle> Его можно размещать как внутри &lthead> (чаще всего), так и внутри &ltbody>.

Недостаток этого способа в том, что CSS код применяется только к одной странице сайта, а не ко многим. Этот способ обычно применяется тогда, когда нужно написать CSS на конкретной странице сайта, не затрагивая остальных, и, в общем случае, к употреблению не рекомендуется.

3 Отдельный CSS файл

Самый распространенный способ подключения CSS — это когда он хранится в отдельном файле и этот файл подключается ко всем страницам нашего сайта.

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

Чтобы подключить CSS файл к HTML странице, в теге head следует написать такую конструкцию:

&ltlinkrel=»stylesheet» href=»путь к CSS файлу»>.

Сам CSS файл должен быть с расширением .css. Обычно его называют styles.css или style.css.

В следующем примере к нашему HTML файлу подключается CSS файл style.css:

Можно подключать не один файл, а несколько. Давайте подключим файлы style1.css, style2.css и style3.css:

Подключение стилей

Писать стили сегодня принято в отдельном CSS-файле и затем подключать его с помощью тега . А вот инлайн-стилей стараются избегать, хотя они тоже бывают полезными.

Почему это важно

Скопировать ссылку «Почему это важно» Скопировано

От того, как вы подключаете стили на страницу, зависит, как быстро она отобразится, однако некоторые варианты подключения стилей могут привести к неожиданным последствиям. Например, если к элементу одновременно применить и внешние, и инлайн-стили с разными значениями CSS-свойств, то применятся инлайн-стили, так как у них более высокий приоритет. Разберёмся, какие у каждого способа достоинства и недостатки, и какой из них вам подойдёт.

Внешний файл со стилями

Скопировать ссылку «Внешний файл со стилями» Скопировано

При этом подходе CSS пишется в отдельном файле с расширением .css. Такие стили ещё называют связанными.

Для связывания страницы с файлом стилей используется тег внутри :

  head> link rel="stylesheet" href="main.css"> head>      

Атрибут rel = "stylesheet" указывает, что этот файл является таблицей стилей. В href указывается относительный или абсолютный путь к CSS-файлу.

А вот какие стили содержатся в файле main.css:

 h1  color: green; font-size: 24px;> p  font-size: 24px;> h1  color: green; font-size: 24px; > p  font-size: 24px; >      

Ещё таким образом можно подключать файл стилей, который находится на другом сайте. Например, когда подключаете шрифты с Google Fonts.

Преимущества

Скопировать ссылку "Преимущества" Скопировано

  • Можно использовать один CSS-файл для нескольких страниц. Изменение стилей в таком файле автоматически применится ко всем страницам, к которым он подключён.
  • При первой загрузке страницы файл со стилями кэшируется, и в следующие разы она открывается быстрее.
  • Во внешних стилях можно свободно использовать псевдоклассы и псевдоэлементы. Например, задавать интерактивные состояния отдельно выбранным кнопкам, стилизовать каждый чётный элемент списка и тому подобное.

Внешний CSS также позволяет использовать кастомные свойства.

Встроенные стили

Скопировать ссылку "Встроенные стили" Скопировано

Вариант, когда CSS-свойства описываются в самом HTML-документе внутри тега в шапке страницы:

    h1  color: tomato; > p  font-size: 24px; >   head> style> h1  color: tomato; > p  font-size: 24px; > style> head>      

Преимущества

Скопировать ссылку "Преимущества" Скопировано

  • Поскольку код находится непосредственно в HTML-файле, браузер не загружает сторонние файлы. Это позволяет отрисовать страницу быстрее.
  • Встроенные стили работают изолированно и применяются непосредственно к странице, на которой прописаны.
  • Можно использовать псевдоклассы и псевдоэлементы.

Недостатки

Скопировать ссылку "Недостатки" Скопировано

  • С каждым новым правилом вес HTML-файла будет увеличиваться и страница будет загружаться медленнее.
  • Со временем такие же стили могут понадобиться на других страницах, и CSS придётся дублировать.

Импорт CSS

Скопировать ссылку "Импорт CSS" Скопировано

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

Посмотрим, как это делается. Даём ссылку на CSS-файл через тег :

  link rel="stylesheet" href="main.css">      

Затем в main.css импортируем несколько других CSS-файлов, header.css для шапки сайта, navbar.css для меню, и так далее:

 @import url("header.css");@import url("navbar.css");@import url("footer.css");@import url("grid.css"); @import url("header.css"); @import url("navbar.css"); @import url("footer.css"); @import url("grid.css");      

Преимущества

Скопировать ссылку "Преимущества" Скопировано

По мере того как ваш проект растёт в размерах и сложности, поддержка CSS-файлов тоже усложняется. @import помогает разбить массивную таблицу стилей на более мелкие и понятные части.

Недостатки

Скопировать ссылку "Недостатки" Скопировано

Подключение стилей при помощи CSS-файла, в котором директивы @import подключают другие файлы, может значительно увеличить время отрисовки страницы. Браузер узнает о существовании других CSS-файлов слишком поздно, а если и в них окажутся импорты, то всё будет ещё хуже.

Если вам очень нужно подключить несколько файлов, лучше добавить несколько элементов .

Иногда так всё же делают при разработке сайтов, чтобы не тратить время на сборку многих файлов и просто подключать их одним файлом с кучей импортов. Но перед публикацией сайта все эти импорты «склеиваются» в один файл для более эффективной загрузки.

Инлайн-стили

Скопировать ссылку "Инлайн-стили" Скопировано

В этом варианте элементам, которые необходимо оформить, добавляется атрибут style . Значением этого атрибута могут быть свойства и значения CSS, которые и применятся к элементу:

 

Заголовок

Текст

h1 style="сolor: yellow; margin: 10px 20px">Заголовокh1> p style="text-align: right; font-size: 12px">Текстp>

Преимущества

Скопировать ссылку "Преимущества" Скопировано

  • Как и со встроенными стилями, браузеру не нужно запрашивать файл, что ускоряет рендеринг.
  • Не нужно писать селекторы, потому что стили применяются сразу к нужному элементу.
  • Удобно отлаживать код или делать быстрые правки прямо в админке, без разворачивания проекта.

Недостатки

Скопировать ссылку "Недостатки" Скопировано

Однако несмотря на преимущества, инлайн-стили — это антипаттерн. Недостатков у этого подхода слишком много.

Приоритет. У инлайн-стилей наивысший приоритет, их нельзя переопределить с помощью селекторов по идентификатору, классу или тегу во внешнем CSS. Единственный способ это сделать — добавить !important к значению свойства. Но этот приём тоже считается плохой практикой.

Переиспользование. При использовании инлайн-стилей мы будем вынуждены добавлять инлайн-стили к каждому элементу, который необходимо оформить. Если элементов на странице много, прописывать стили вручную станет неудобно.

Всё в одну кучу. Оформление при помощи инлайн-стилей нарушает принцип «разделения содержимого и оформления».

Псевдоклассы и псевдоэлементы. В инлайн-стилях нельзя использовать псевдоклассы и псевдоэлементы.

Восприятие кода. Если писать стили внутри атрибута style , то HTML становится трудно читать. Логическая структура перестаёт быть видна, стили размазываются по всему коду. И чем крупнее проект, тем сложнее управлять оформлением.

Согласитесь, что такой код читать намного труднее:

 

Заголовок

У моей кошки светло-синие глаза.

h1 style="сolor: yellow; margin: 10px 20px 15px 10px;">Заголовокh1> div style="border: 1px solid red; max-widht: 500px; margin: auto"> p>У моей кошки span style="color: lightblue;">светло-синиеspan> глаза.p> div>
 

Заголовок

У моей кошки светло-синие глаза.

h1 class="title">Заголовокh1> div class="wrapper"> p>У моей кошки span class="eyes">светло-синиеspan> глаза.p> div>

На практике

Скопировать ссылку "На практике" Скопировано

Никита Канищев советует

Скопировать ссылку "Никита Канищев советует" Скопировано

�� Одна из самых распространённых областей применения инлайн-стилей — почтовые рассылки.

По соображениям безопасности почтовые службы (например, Яндекс.Почта или Gmail) блокируют загрузку внешних ресурсов, в том числе и файлы стилей. Поэтому разработчикам ничего не остаётся, кроме как использовать инлайн-стили.

Вот так может выглядеть HTML-разметка при вёрстке письма:

  border="0" cellpadding="0" cellspacing="0" width="100%" style block-code__original-line"> font-size:28px;font-weight:500; text-align:center;padding:0;margin:0">    style="padding-top:20px;padding-bottom:20px;" align="right" valign="middle" >  style block-code__original-line"> font-size:12px;font-weight:400; line-height:20px;padding:0;margin:0" > Привет, это рассылка!      table border="0" cellpadding="0" cellspacing="0" width="100%" style="color:#000;font-family:Poppins,sans-serif; font-size:28px;font-weight:500; text-align:center;padding:0;margin:0" > tbody> tr> td style="padding-top:20px;padding-bottom:20px;" align="right" valign="middle" > p style="color:#bbb;font-family:'Open Sans',sans-serif; font-size:12px;font-weight:400; line-height:20px;padding:0;margin:0" > Привет, это рассылка! p> td> tr> tbody> table>      

Как подключить CSS к HTML

Узнайте о трех основных способах подключения CSS к HTML и выберите наиболее подходящий для вас, чтобы создавать захватывающие веб-страницы.

Computer screen displaying abstract representation of CSS styles

Алексей Кодов
Автор статьи
22 мая 2023 в 9:55

Подключение стилей CSS к HTML-странице — это важный шаг в веб-разработке, который позволяет разработчикам контролировать внешний вид веб-сайта. В этой статье мы рассмотрим три основных способа подключения CSS к HTML.

1. Встроенный стиль (Inline CSS)

Этот метод заключается в добавлении стилей непосредственно в тег HTML-элемента через атрибут style . Встроенные стили имеют самый высокий приоритет, но не являются самыми удобными, так как затрудняют поддержку кода.

Текст с красным цветом и размером шрифта 18px

2. Внутренний стиль (Internal CSS)

Внутренний стиль подключается к HTML-странице с помощью тега внутри секции . В этом случае стили применяются ко всем элементам, указанным в селекторах CSS.

    p 

Текст с синим цветом и размером шрифта 20px

3. Внешний стиль (External CSS)

Самый распространенный и удобный способ подключения CSS — это использование внешнего файла с расширением .css . Внешний файл стилей подключается к HTML-странице с помощью тега внутри секции .

Пример подключения внешнего файла styles.css :

    

Текст с примененными стилями из файла styles.css

Начало работы с CSS

В этой статье мы возьмём простой HTML-документ и применим к нему CSS, изучая некоторые практические вещи о языке.

Необходимые знания: Базовая компьютерная грамотность, Базовое программное обеспечение, базовые знания работа с файлами, и базовые знания HTML (смотрите Введение в HTML.)
Задача: Понять основы связывания CSS-документа с HTML-файлом и уметь выполнять простое форматирование текста с помощью CSS.

Начнём с HTML

Нашей отправной точкой является HTML-документ. Вы можете скопировать код снизу, если вы хотите работать на своём компьютере. Сохраните приведённый ниже код как index.html в папке на вашем компьютере.

doctype html> html lang="ru"> head> meta charset="utf-8" /> title>Начало работы с CSStitle> head> body> h1>Я заголовок первого уровняh1> p> Это абзац. В нём есть span>элемент spanspan>, а также a href="http://example.com">ссылкаa>. p> p>Это второй абзац. Он содержит em>акцентирующийem> текст.p> ul> li>Элемент одинli> li>Элемент дваli> li>Элемент em>триem>li> ul> body> html> 

Примечание: Если вы читаете это на устройстве или в среде, где вы не можете легко создавать файлы, не беспокойтесь — ниже представлены редакторы кода, чтобы вы могли написать код прямо здесь, на странице.

Добавление CSS в наш документ

Самое первое, что нам нужно сделать, — это сообщить HTML-документу, что у нас есть некоторые правила CSS, которые мы хотим использовать. Существует три различных способа применения CSS к документу HTML, с которым вы обычно сталкиваетесь, однако сейчас мы рассмотрим наиболее обычный и полезный способ сделать это — связать CSS с заголовком вашего документа.

Создайте файл в той же папке, что и документ HTML, и сохраните его как styles.css . Расширение .css показывает, что это файл CSS.

Чтобы связать styles.css с index.html, добавьте следующую строку где-то внутри HTML документа:

link rel="stylesheet" href="styles.css" /> 
h1  color: red; > 

Сохраните файлы HTML и CSS и перезагрузите страницу в веб-браузере. Заголовок первого уровня в верхней части документа теперь должен быть красным. Если это произойдёт, поздравляю — вы успешно применили CSS к документу HTML. Если этого не произойдёт, внимательно проверьте, правильно ли вы ввели всё.

Вы можете продолжить работу в styles.css локально, или вы можете использовать наш интерактивный редактор ниже, чтобы продолжить этот урок. Интерактивный редактор действует так, как если бы CSS на первой панели был связан с документом HTML, как это было в нашем документе выше.

Стилизация HTML-элементов

Делая наш заголовок красным, мы уже продемонстрировали, что можем нацеливать и стилизовать элемент HTML. Мы делаем это путём нацеливания на элемент selector — это селектор, который напрямую соответствует имени элемента HTML. Чтобы нацелиться на все абзацы в документе, вы должны использовать селектор p . Чтобы сделать все абзацы зелёными, вы должны использовать:

p  color: green; > 

Вы можете выбрать несколько селекторов одновременно, разделив их запятыми. Если я хочу, чтобы все параграфы и все элементы списка были зелёными, моё правило выглядит так:

p, li  color: green; > 

Попробуйте это в интерактивном редакторе ниже (отредактируйте поля кода) или в своём локальном документе CSS.

Изменение поведения элементов по умолчанию

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

    — неупорядоченный список. Он добавляет маркеры, и если я решу, что я не хочу эти маркеры, я могу удалить их вот так:

li  list-style-type: none; > 

Попробуйте добавить это в свой CSS сейчас.

Свойство list-style-type — это хорошее свойство, информацию о котором можно найти на MDN, чтобы увидеть, какие значения поддерживаются. Взгляните на страницу для list-style-type (en-US) и вы найдёте интерактивный пример в верхней части страницы, чтобы опробовать некоторые другие значения, затем все допустимые значения будут подробно описаны ниже.

Глядя на эту страницу, вы обнаружите, что помимо удаления маркеров списка вы можете изменить их — попробуйте изменить их на квадратные маркеры, используя значение square .

Добавление класса

Пока у нас есть стилизованные элементы, основанные на их именах HTML-элементов. Это работает до тех пор, пока вы хотите, чтобы все элементы этого типа в вашем документе выглядели одинаково. В большинстве случаев это не так, и вам нужно будет найти способ выбрать подмножество элементов, не меняя остальные. Самый распространённый способ сделать это — добавить класс к вашему HTML-элементу и нацелиться на этот класс.

В своём HTML-документе добавьте Атрибут class ко второму пункту списка. Ваш список теперь будет выглядеть так:

ul> li>Элемент одинli> li class="special">Элемент дваli> li>Элемент em>триem>li> ul> 

В вашем CSS вы можете выбрать класс special к любому элементу на странице, чтобы он выглядел так же, как и этот элемент списка. Добавьте следующее в ваш файл CSS:

.special  color: orange; font-weight: bold; > 

Сохраните и обновите, чтобы увидеть результат.

Вы можете захотеть, чтобы в абзаце также был оранжевым и жирным. Попробуйте добавить класс " special" , затем перезагрузите страницу и посмотрите, что получится.

Иногда вы увидите правила с селектором, который перечисляет селектор HTML-элемента вместе с классом:

li.special  color: orange; font-weight: bold; > 

Этот синтаксис означает «предназначаться для любого элемента li, который имеет класс special». Если бы вы сделали это, вы бы больше не смогли применить класс к или другому элементу, просто добавив к нему класс; вы должны добавить этот элемент в список селекторов:

li.special, span.special  color: orange; font-weight: bold; > 

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

Стилизация элементов на основе их расположения в документе

Добавьте следующее правило в таблицу стилей.

li em  color: rebeccapurple; > 

Ещё можно попробовать стилизовать абзац, когда он идёт сразу после заголовка на том же уровне иерархии в HTML. Для этого поместите + (соседний братский комбинатор) между селекторами.

Попробуйте также добавить это правило в таблицу стилей:

h1 + p  font-size: 200%; > 

Пример ниже включает в себя два правила выше. Попробуйте добавить правило, чтобы сделать элемент span красный, если он внутри абзаца. Вы узнаете, правильно ли вы это сделали, так как промежуток в первом абзаце будет красным, но цвет в первом элементе списка не изменит цвет.

Примечание: Как вы можете видеть, CSS даёт нам несколько способов нацеливания на элементы, и мы пока только слегка изучили его! Мы будем внимательно смотреть на все эти селекторы и многое другое в нашей статье Селекторы позже в нашем курсе.

Стилизация элементов на основе состояния

a:link  color: pink; > a:visited  color: green; > 

Вы можете изменить внешний вид ссылки, когда пользователь наводит на неё курсор, например, удалив подчёркивание, что достигается с помощью следующего правила:

a:hover  text-decoration: none; > 

В приведённом ниже примере вы можете поиграть с разными значениями для разных состояний ссылки. Я добавил к нему правила, приведённые выше, и теперь понимаю, что розовый цвет довольно лёгкий и трудно читаемый — почему бы не изменить его на лучший цвет? Можете ли вы сделать ссылки жирным шрифтом?

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

Примечание: вы часто будете видеть упоминание о доступности в этих уроках и по всей MDN. Когда мы говорим о доступности, мы имеем в виду требование, чтобы наши веб-страницы были понятными и доступными для всех.

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

Простой HTML-документ, как правило, доступен каждому — когда вы начинаете оформлять этот документ, важно, чтобы вы не сделали его менее доступным.

Сочетание селекторов и комбинаторов

Стоит отметить, что вы можете комбинировать несколько селекторов и комбинаторов вместе. Вот пример:

    , который идёт сразу после */h1 + ul + p. >

Вы также можете комбинировать несколько типов вместе. Попробуйте добавить следующее в ваш код:

body h1 + p .special  color: yellow; background-color: black; padding: 5px; > 

Это будет стиль любого элемента с классом special , который находится внутри

, который приходит сразу после , который находится внутри . Уф!

В оригинальном HTML, который мы предоставили, единственный элемент в стиле .

Не беспокойтесь, если это покажется сложным — вы скоро начнёте понимать это, когда будете писать больше на CSS.

Завершение

В этом уроке мы рассмотрели несколько способов стилизации документа с использованием CSS. Мы будем развивать эти знания по мере прохождения остальных уроков. Однако вы уже знаете достаточно, чтобы стилизовать текст, применять CSS на основе различных способов нацеливания на элементы в документе и искать свойства и значения в документации MDN.

На следующем уроке мы рассмотрим структуру CSS.

Found a content problem with this page?

  • Edit the page on GitHub.
  • Report the content issue.
  • View the source on GitHub.

This page was last modified on 2 дек. 2023 г. by MDN contributors.

Your blueprint for a better internet.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *