CSS: Селекторы и свойства

Алёна Батицкая

CSS: Селекторы и свойства

Алёна Батицкая

Алёна Батицкая

Алёна Батицкая

План занятия

  1. Селекторы и свойства:введение
  2. CSS-правило
  3. Разбор примеров

Введение

С чего начинался интернет

Так выглядит первая в мире HTML-страница

Причины появления CSS

Выглядит не очень-то привлекательно, правда? Если бы не придумали, как управлять оформлением — таким был бы весь интернет по сей день.

Сначала были попытки оформлять страницы с помощью особых тегов — например, font, b, i.

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

CSS (Cascading Style Sheets) — каскадные таблицы стилей — это язык, содержащий набор информации, отвечающий за то, как именно будет отображаться страница сайта визуально.

Страница Facebook с CSS

Страница Facebook без CSS

Где писать CSS?

Для подключения CSS используются два специальных тега meta и style.

Но так как мы будем работать с Codepen, то эти теги использовать не будем. Стили пишем в окошко «CSS», и Codepen сам подключит их.

CSS-правило

CSS-правило

      
        strong {
          color: red;
        }
      
    

Составные части CSS-правила:

Что может быть селектором?

Название тега, например: div, p, a, h1, h2 и так далее.

Свойства CSS-правила

Например, стили оформления текста:

font-size

Свойство font-size задает размер шрифта:

      
      strong {
        font-size: 120%;
      }

      h2 {
        font-size: 40px;
      }
    
    

Один пиксель равен одной точке на экране.

Live Demo

Изменили размер шрифта

В этом примере размер шрифта заголовка «КОТИКИ» равен 40px, а слова «Котики» в начале каждого абзаца — 120%.

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только встроенный мурчальник, но и немало человеческого счастья.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

font-weight

Свойство font-weight задает жирность начертания.

Значением может быть ключевое слово:

      
        h2 {
          font-weight: bold;
        }
      
    

font-weight в цифрах

Значением свойства font-weight может быть число от 100 до 900.

      
        h2 {
          font-weight: 300;
        }
      
    

Изменили жирность начертания

В этом примере мы изменили начертание всего текста в предложениях при помощи значения bold:

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только встроенный мурчальник, но и немало человеческого счастья.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

Одинаковый результат

Свойство font-weight: normal; соответствует стандартному начертанию. Результат будет таким же, если мы укажем в значении 400.

Ключевое слово bold равно числовому значению 700.

Допустимые числовые значения

Обратите внимание, что число должно быть кратно 100. Недопустимо промежуточное значение, например, 150 или 425:

      
        font-weight: 100;
        font-weight: 200;
        font-weight: 300;
        font-weight: 400;
        font-weight: 500;
        font-weight: 600;
        font-weight: 700;
        font-weight: 800;
        font-weight: 900;
      
    

font-style

Задает стиль начертания шрифта.

В примере ниже мы задаем курсивное начертание для текста:

      
        p {
          font-style: italic;
        }
      
    

Изменили наклон шрифта

В примере ниже к первому и второму предложениям применено свойство
font-style: italic;:

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только встроенный мурчальник, но и немало человеческого счастья.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

color

Задает цвет текста.

В примере ниже мы изменяем цвет текста у заголовка со стандартного черного на красный. Следующее правило изменяет цвет абзаца на зеленый:

      
        h2 {
          color: red;
        }

        p {
          color: green;
        }
      
    
Live Demo

Изменили цвет текста

Вы можете увидеть результат работы кода с предыдущего слайда:

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только встроенный мурчальник, но и немало человеческого счастья.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

Наследование

Обратим внимание, что все эти свойства поступают по цепочке от родителя к потомкам: если внутри нашего заголовка будет другой тег (например, ссылка a), то заданные нами свойства автоматически будут работать и для внутреннего тега тоже.

Такой механизм называется наследованием.

Почему так происходит? Это определяется стандартами, и на самом деле это очень удобно — если бы не было этого механизма, нам бы пришлось следить за всеми тегами, которые вложены, и повторять все стили.

Использовали наследование

В примере ниже первое слово в предложении «Котики» находится внутри тега strong. Мы задаем зеленый цвет текста для всего абзаца и за счет наследования это правило распространяется и на вложенные теги:

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только встроенный мурчальник, но и немало человеческого счастья.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

Комбинации селекторов

Комбинации селекторов

В качестве селектора не обязательно может выступать одиночное название тега — чаще всего это комбинации тегов.

Кто такие потомки?

Потомками называют все вложенные теги вне зависимости от степени вложенности.

Селектор потомков

Селектор div strong выберет все теги strong, которые расположены внутри div.

Пример

Использовали селекторы потомков

В тексте ниже «котики», окрашенные в синий цвет, находятся внутри тегов strong. Использовав селектор div strong, мы выбрали все strong, находящиеся внутри div. Вне зависимости от того, находятся они внутри абзацев, или внутри списков.

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

  • Все любят котиков
  • Котики любят всех

Котики — это прекрасно!

Дочерний селектор

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

Выберем абзацы

div > p — выберет все теги p, которые расположены внутри div на первом уровне. То есть не находятся внутри других тегов.

Использовали дочерний селектор

Использовав селектор div > p, мы выбрали все абзацы, которые вложены в div, но не находятся внутри каких-то других тегов.

Котики

Котики — это не только ценный мех, но и достаточно разочарований.

Котики — это не только испорченная мебель, но и много килограммов пушистого пузика.

  • Все любят котиков.

    Очень любят!

  • Котики любят всех
Live Demo

Решение задач

Сайт для стоматологической клиники

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

HTML-разметка

      
        <div>
          <h1>Я рад приветствовать вас в нашей стоматологической клинике!</h1>
          <p>Вся моя жизнь связана со стоматологией. 11 лет назад я открыл в Москве <span>детскую стоматологию</span>
          — мы первыми начали лечить детей по мировым западным протоколам: качественно и надежно, как взрослых.
          И стали лидерами среди детских стоматологий в России!</p>
          <p>Родители наших маленьких пациентов просили нас лечить и их самих — так же нежно и терпеливо, как детей.
          И мы открыли <span>взрослые стоматологические отделения</span>. Мы предлагаем нашим пациентам все самое лучшее,
          что есть в стоматологии на сегодня.</p>
          <h2>Мы предлагаем:</h2>
          <ul>
            <li>Лечение зубов по мировым стандартам</li>
            <li>Безопасное оборудование для диагностики</li>
            <li>Протезирование любой сложности:
                <ul>
                    <li>микропротезирование <span>вкладками</span></li>
                    <li>все виды <span>коронок</span></li>
                    <li>любые съемные и несъемные <span>протезы</span></li>
                    <li><span>виниры</span> и <span>люмиры</span></li>
                </ul>
            </li>
          </ul>
        </div>
      
    
Разметка в Codepen

Стили для заголовка

Сделать заголовок h1 зеленым и курсивным.

Стили для заголовка

Сделать заголовок h1 зеленым и курсивным.

Стили текста

Увеличить элементы списка «мы предлагаем», являющиеся детьми тега ul, до размера 20px, при этом «внуков» (протезирование) уменьшить до 14px и сделать жирными.

Стили текста

Увеличить элементы списка «мы предлагаем», являющимися детьми тега ul, до размера 20px, при этом «внуков» (протезирование) уменьшить до 14px и сделать жирными.

Стили для «внуков»

Увеличить элементы списка «мы предлагаем», являющимися детьми тега ul, до размера 20px, при этом «внуков» (протезирование) уменьшить до 14px и сделать жирными.

Стили для «внуков»

Увеличить элементы списка «мы предлагаем», являющимися детьми тега ul, до размера 20px, при этом «внуков» (протезирование) уменьшить до 14px и сделать жирными.

Выделяем важные фразы

Сделать текст «детскую стоматологию» и «взрослые стоматологические отделения» красного цвета и курсивными:

Выделяем важные фразы

Сделать текст «детскую стоматологию» и «взрослые стоматологические отделения» красного цвета и курсивными:

Работаем с готовыми стилями

Программист-фрилансер написал стили для разметки стоматологической клиники. Наша задача — понять, для каких тегов сработают его правила:

Работаем с готовыми стилями

Программист-фрилансер написал стили для разметки стоматологической клиники. Наша задача — понять, для каких тегов сработают его правила:

Подведем итоги

Мы знаем:

  1. Что такое CSS правило;
  2. Как записывается правило и из каких частей состоит;
  3. Что такое селектор;
  4. Что такое свойство;
  5. Как работает селектор по имени тега;
  6. Как работает селектор потомков;
  7. Как работает дочерний селектор.

Подведем итоги

Мы умеем:

  1. Составлять селектор, чтобы добраться до нужных элементов;
  2. Управлять свойствами шрифта: размер, начертание, цвет.

Задавайте вопросы и напишите отзыв о лекции!

Алёна Батицкая