Стили

Как подключить CSS к HTML: все способы, плюсы и минусы каждого

Повторим основы, которые вы должны учитывать перед подключением CSS к HTML.

Что такое HTML

HTML (Hyper Text Markup Language, язык разметки гипертекста) – это язык, который придает веб-странице необходимую структуру. HTML используется для таких вещей, как:

      • Определение структуры страницы – заголовков, подзаголовков, абзацев и так далее.
      • Создание форм, например, для заказа посетителями сайтов товаров или услуг.
      • Добавление электронных таблиц на веб-страницу.
      • Упорядочивание информации с помощью таблиц, списков, изображений, иных элементов.

    Что такое CSS

    HTML задает структуру веб-страниц, а CSS (Cascading Style Sheets, каскадные таблицы стилей) – внешний вид. Каскадная таблица стилей позволяет:

        • Изменять цвета.
        • Изменять шрифты.
        • Изменять дизайн макета.
        • Адаптировать веб-страницы к различным размерам экрана.

      Так работают каскадные таблицы стилей в паре с HTML

      Так работают каскадные таблицы стилей в паре с HTML

      Почему разделяют HTML и CSS

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

      Зачем подключать CSS к HTML

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

      Декларация состоит из свойства и значения

      CSS-правило состоит из свойства (селектора) и значения

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

      Как прописать стиль элементу

      Прописать любой стиль элементу в HTML вы можете тремя способами:

          1. С помощью внешнего файла стилей. Нужно указать ссылку на этот файл в теге link HTML-документа.
          2. С помощью описания стилей в атрибуте style HTML-элемента. Такие стили называются встроенными или inline-стилями.
          3. Через элемент style в секции head HTML-документа. Этот способ называется внутренним.

          Давайте посмотрим, как прописать стиль элементу разными способами – наглядно и с примерами.

          Полный синтаксис

          Полный синтаксис CSS-правила

          Обратите внимание: внешний способ подключения стилей – самый популярный. Ниже мы рассмотрим подключение внешнего файла стилей и подключение CSS внутренним или встроенным методом.

          Как подключить внешний файл

          Файл с описанием CSS-стилей можно подключить к HTML файлу через тег link, например, вот так:

          Обратите внимание: файл «стилей» в примере выше имеет расширение .CSS. Название файла вполне логичное – external.

          Таким образом, внедрив в код страницы пример выше, вы подключите внешние стили, которые находятся по указанному адресу (в нашем случае – это файл external.css в корне сайта).

          Несколько моментов, которые необходимо иметь в виду:

          • Подключение внешних стилей лучше прописывать внутри секции head HTML-документа.
          • Адрес файла внешних стилей указывается в качестве значения атрибута href.
          • Атрибут rel=»stylesheet» сообщает браузеру, что необходимо инициализировать именно CSS-стили, а не что-то иное.

          А теперь попробуйте найти ошибку и ответить, почему внешние стили не подключаются в этом примере:

          Найдите ошибку

          Ответ: нужно подключать CSS следующим образом:

          Поскольку style.css находится в папке с именем CSS, а HTML находится в другой папке, вам нужно использовать относительный путь ../, чтобы вернуться на один каталог файлов назад и перейти к css/style.css. Теперь файл стилей будет загружен корректно.

          Как подключить внутренние стили

          Внутренние стили – это описание внешнего вида HTML-документа внутри него самого, с помощью тега style в секции head.

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

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

          Как видим, в тег style добавляются пары, определяющие свойства / значения внутренней таблицы стилей.

          Встроенные (inline) стили описываются аналогичным образом непосредственно в атрибуте style HTML-элемента.

          Как импортировать чужой CSS

          Да, импортировать чужой файл стилей возможно. Для этого используйте правило @import url(«base.css»).

          Но сперва о том, как добавить правило импорта в сам HTML-документ:

            

          Этот код должен быть добавлен в header. Так мы импортировали чужой файл в свой документ.

          Альтернативный способ (если у вас несколько файлов «стилей»):

          Про импорт в CSS-файл. Часто файлов задающих дизайн сайта может быть несколько. В этом случае можно прописать каждый из них:

          @import url('/styles/layout.css'); @import url('/styles/type.css'); @import url('/styles/images.css');

          Единственная оговорка заключается в том, что старые веб-браузеры не будут поддерживать правило @import url. На этой особенности основывается один из хаков в CSS для скрытия неподдерживаемых стилей от старых браузеров.

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

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

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

          Пример импортирования

          Пример импортирования CSS

          Достоинства и недостатки разных способов подключения

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

          1. Встроенный способ

          • Отлично подходит для быстрого исправления / прототипирования и простых тестов без необходимости изменять и CSS-файл, и HTML-документ.
          • Многие почтовые клиенты НЕ разрешают использовать внешние ссылки на .css из-за возможного спама / злоупотребления. Встраиваемые стили в этом случае могут выручить.

          2. Внутренний способ

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

          3. Внешний способ

          • Легко поддерживать и повторно использовать на сайтах с несколькими страницами.
          • Возможность кэширования – требуется меньшая пропускная способность – более быстрый рендеринг страницы после второй загрузки страницы.
          • Внешние файлы можно размещать в CDN и тем самым снижать количество запросов к серверу, на котором размещены HTML-страницы (если они находятся на разных хостах).
          • Компилируемость: вы можете автоматически удалить все незначащие символы из CSS-файлов в финальной сборке (такая минимизация проводится и для JavaScript-кода, например библиотека jQuery имеет версию для разработчиков и сжатую версию для подключения). Быстрее загрузка – быстрее работа пользователя + меньше использования полосы пропускания – быстрее соединение.
          • Обычно удаляется из HTML-писем – грязная HTML-верстка.
          • Делает дополнительный HTTP-запрос на файл – больше ресурсов используется.

          Резюме

          Inline-способ: быстро, но очень «грязно» (HTML смешивается с CSS). При этом – это единственный действительно нормальный вариант для электронной почты в формате HTML, поскольку другие формы часто отбрасываются различными почтовыми клиентами.

          Внутренний способ: не требует дополнительного HTTP-запроса, но других преимуществ не имеет.

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

          Источник

          Добавление стилей на веб-страницу

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

          Внешняя таблица стилей

          Стили располагаются в отдельном файле с расширением css, для связывания HTML-документа с CSS-файлом применяется элемент . Он располагается внутри , как показано в примере 1.

          Пример 1. Подключение внешних стилей

          Значение атрибута rel у всегда будет stylesheet и остаётся неизменным. В качестве значения href указывается путь к CSS-файлу; путь может быть задан как относительно, так и абсолютно. Заметьте, что таким образом можно подключать таблицу стилей, которая находится на другом сайте. В примере выше мы подключаем кириллический шрифт Lobster с сайта Google Fonts.

          Содержимое файла style.css показано в примере 2.

          Пример 2. Содержимое файла style.css

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

          Внутренняя таблица стилей

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

          h1

          Заголовок

          Текст

          В данном примере задан стиль элемента , который затем можно повсеместно использовать на данной веб-странице (рис. 1). Обратите внимание, что мы можем спокойно комбинировать со .

          Вид заголовка, оформленного с помощью стилей

          Рис. 1. Вид заголовка, оформленного с помощью стилей

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

          Встроенный стиль является по существу расширением для одиночного элемента, используемого на текущей веб-странице. Для определения стиля элемента к нему добавляется атрибут style , а значением атрибута выступает набор стилевых правил (пример 4).

          Пример 4. Использование атрибута style

          В данном примере стиль элемента

          меняется с помощью атрибута style , в котором через точку с запятой перечисляются стилевые свойства (рис. 2).

          Использование встроенного стиля для изменения вида текста

          Рис. 2. Использование встроенного стиля для изменения вида текста

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

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

          Пример 5. Сочетание разных методов

          h1

          Заголовок 1

          Заголовок 2

          В данном примере для первого заголовка задан красный цвет и размер 36 пикселей с помощью атрибута style , для второго заголовка — зелёный цвет через элемент (рис. 3).

          Результат применения стилей

          Рис. 3. Результат применения стилей

          Импорт CSS

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

          @import url("имя файла"); @import "имя файла";

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

          @import url(‘https://fonts.googleapis.com/css?family=Lobster&subset=cyrillic’); h1

          Заголовок 1

          Заголовок 2

          В данном примере показан импорт стилевого файла с сайта Google Fonts для подключения кириллического шрифта Lobster.

          Аналогично происходит импорт и в CSS-файле, который затем подключается к документу через элемент (пример 7).

          Пример 7. Импорт в файле style.css

          @import url('https://fonts.googleapis.com/css?family=Lobster&subset=cyrillic'); h1

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

          Источник

          Читайте также:  Groups group html group id
Оцените статью