Перейти к содержанию

Что такое CSS и зачем нужны каскадные таблицы стилей


Рекомендуемые сообщения

  • Администратор

4f3b8b855dbd690563017b60b5e2db7d.jpg

Рассказываем о языке, благодаря которому интернет стал красивым.

Основы CSS
Аббревиатура CSS расшифровывается как Cascading Style Sheets, что в переводе означает «каскадные таблицы стилей». Это язык разметки, используемый для визуального оформления веб-сайтов. 

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

Вот сайт, сделанный с помощью одного лишь HTML:

247ac5a92dfa10b4669463b3d29eac57.png

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

a0285938e4945b87d6bc478842e831e7.png

Практически любые «внешние проявления» сайта создаются с помощью CSS. Это стиль ваших страниц. 

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

791786488bc819a5be64a304e450d72c.png

Достаточно ознакомиться с простейшими правилами CSS, и можно легко собрать вполне симпатичный сайт со всем необходимым контентом. «Простота» обеспечивается за счет понятного синтаксиса. 

Синтаксис CSS в отдельном файле в соответствующем формате (.css) выглядит так:

селектор {
  свойство: значение;
}
  • Селектор – это ссылка на элемент в HTML, над которым будет вестись работа (оформление).
  • Свойство – определенная характеристика элемента, которую нужно изменить. Например, размер или цвет. 
  • Значение – цифровое или текстовое обозначение для выбранного свойства. 

Попробуем поменять цвет текста в блоке section на красный:

section {
  color: red;
}

Как видите, все понятно даже без знания разметки. Даже далекий от программирования человек поймет, что происходит в вышеописанном коде. Это самое лучшее в CSS. Все логично. 

Медиазапросы и тег <style> 
Выше был продемонстрирован базовый синтаксис, но он может быть куда более замысловатым. Например, для создания стилей под различные разрешения экранов используются запросы @media. Они выглядят так:

@media (max-width: 768px) {
  section: {
    color: red;
  }
}

Такой код изменит цвет текста на красный в разделе section только для экранов с разрешением меньше 768 пикселей.

А еще CSS-разметку можно использовать прямо в HTML-файлах для тестирования стилей и внесения мелких изменений.

<html>
  <body>
    <section style= "color: red;"></section>
  </body>
</html>

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

Например, с помощью CSS можно задать параметры для SVG-изображения:

svg {
  width: 120px;
  height: 68px; 
  fill: green;
}

e08bd23cc60680ed89ccc4e349f9fd35.png

Или создать блоки div любых размеров с SVG-изображением в качестве фона:

.block {
  width: 220px;
  height: 192px;
  background-image: url("../path-to-image/image.svg");
}

Или же вовсе добавить в блок информацию, которой изначально нет в HTML-документе:

.block:after {
  content: "kakoy-to-text ";
}

690233ba6390eeb349ee17f1d6b26ccf.png

Также можно добавлять контент или CSS-разметку на новые объекты, созданные вне HTML. Для этого в CSS есть псевдо селекторы :after и :before (они позволяют разместить новые элементы до или после выбранного объекта).

И даже это мелочи. С помощью CSS можно рисовать, создавать объекты любых форм, анимировать их и т.п.

1ba9389b5f1713b0fd2dfc68093bcf0d.jpg

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

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

76deaf12115545ce7be7323e50fc1117.png

Также CSS часто реализуется внутри фреймворков. Например, технология react-styled-components перенасыщает всю функциональность каскадных стилей напрямую в код на базе React. То есть можно в одном файле прописывать стили, структуру приложения и его логику. 

Правда, такой стиль взаимодействия со стилями противоречит первоначальной идее CSS

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

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

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

a8652e42bb4490bcfbb82defcce4d332.png

Т.е. файлы HTML и CSS живут раздельно.

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

b5ac0cf4dc0b14f3f7a1e6df075bbdc1.png

Для расположения элементов на «полотне» сайта используются две основные методики:

  1. Flex – позволяет автоматически распределить объекты в блоке за счет создания блоков-оберток со свойством flex
  2. Grid – позволяет отказаться от оберток и размещать объекты по сетке.

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

Как изучить и начать использовать CSS?
Каскадные таблицы стилей – на удивление интуитивная вещь. Даже новички успешно справляют с самостоятельным изучением разметки без обращения за помощью к профессиональным разработчикам и дизайнерам. Достаточно обращаться в Google за описанием свойств стилей и запоминать их. 

Но есть загвоздки. В частности, они касаются методик создания макетов. С ходу понять их тяжело, поэтому нужно хорошее руководство. 

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

Где и как редактировать разметку?
Если вы уже сейчас хотите опробовать свои силы, то можно создать стили с помощью любого текстового редактора. Создаем файл в формате .css, а потом вписываем туда свойства и их значения в соответствии с синтаксисом разметки.

fe73766b469881a0facf0cd9421cc63c.png

Лучше использовать специализированные редакторы и IDE. Они автоматически дополнят код, подскажут свойства и их значения, сообщат об обнаруженных ошибках, упростят выбор цветов и так далее. Рекомендую использовать редактор VS Code (своего рода стандарт). Он бесплатный и функциональный. Но есть и другие варианты.

Чтобы внесенные в CSS-файл изменения возымели эффект над HTML-документом, первый нужно подключить ко второму. Для этого в head-тег HTML-файла нужно добавить ссылку в формате:

<link rel="stylesheet" href="style.css">

На этом все. Как видите, CSS – это мощный инструмент для оформления сайтов, без которого невозможно сделать красивую страницу (даже если использовать какие-либо фреймворки типа React). 

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

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

Ссылка на комментарий
Поделиться на другие сайты

  • 6 месяцев спустя...
  • Администратор
В 05.05.2021 в 07:04, Райан сказал:

Или создать блоки div любых размеров с SVG-изображением в качестве фона:

.block {
  width: 220px;
  height: 192px;
  background-image: url("../path-to-image/image.svg");
}

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

Например с помощью этой строчки можно установить в CSS фоном определенную картинку:

<style>body{background: black url(ЗДЕСЬ АДРЕС ВАШЕЙ КАРТИНКИ) fixed} body</style>

Или же просто залить все цветом:

<style>body{background: black fixed} body</style>

Хотя если честно такие решения с года 2007 не применяются... Поэтому игнорируйте это и используйте современные методы. А это лишь для ознакомления.

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

Ссылка на комментарий
Поделиться на другие сайты

  • 9 месяцев спустя...
  • Администратор

Следующим образом стилизуется через CSS контент, обычно таким образом стилизуют ники или названия групп на форумах.

<span style='font-weight: bold; background: linear-gradient(to right, #ff0000, #fbff00); -webkit-background-clip: text; -webkit-text-fill-color: transparent;'>НЕОБХОДИМОЕ СОДЕРЖИМОЕ</span>

Стилизация будет выглядеть так: image.png

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

Ссылка на комментарий
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйте новый аккаунт в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...