< Return to Video

Селектори нащадків в CSS

  • 0:01 - 0:05
    Перейдімо від пончиків до моркви, одного
    з найкорисніших продуктів у світі,
  • 0:05 - 0:08
    а також найулюбленішої їжі кроликів.
  • 0:08 - 0:11
    Чи знаєте ви, що морква буває не
    лише помаранчевою?
  • 0:11 - 0:14
    Спочатку вона була фіолетовою. І деяка
    морква досі є такою.
  • 0:14 - 0:17
    Ми тут маємо коротку сторінку, що містить
    список кольорів моркви
  • 0:17 - 0:20
    і речення про те, що перша морква була
    фіолетовою.
  • 0:20 - 0:25
    Ми використали стилі, щоб зафарбувати
    назви кольорів у відповідний колір.
  • 0:25 - 0:29
    Мені подобається, як стилі виглядають зі
    списком, але я не впевнена, що мені
  • 0:29 - 0:32
    подобається, як стиль "purple" (фіолетовий)
    виглядає в тексті.
  • 0:32 - 0:35
    Я думаю, мені краще не використовувати там
    колір фону, а вибрати якесь менш нав'язливе
  • 0:35 - 0:36
    кольорове оформлення.
  • 0:36 - 0:44
    Як я можу сказати браузеру оформити
    фіолетовий текст там по-іншому, ніж тут?
  • 0:44 - 0:48
    Що ж, вони мають однаковий клас, тому ми
    не можемо використати ім'я класу,
  • 0:48 - 0:49
    доки не створимо новий клас.
  • 0:49 - 0:53
    Вони також мають однакову назву тега —
    .
  • 0:53 - 0:58
    Тому ми не можемо використати селектор
    елемент-плюс-клас, який ми щойно вивчили.
  • 0:58 - 1:01
    Є ще щось, що їх відрізняє?
  • 1:01 - 1:06
    Єдина відмінність — це те, що цей тег
    знаходиться всередині тега ,
  • 1:06 - 1:11
    в той час як цей тег —
    всередині тега .
  • 1:11 - 1:16
    Тобто є відмінність в батьківських тегах —
    тегах, які є над ними.
  • 1:16 - 1:21
    За допомогою цієї інформації, ми можемо
    створити правило CSS, використавши
  • 1:21 - 1:25
    "селектор нащадка" — спосіб вибрати елемент
    залежно від його розташування в документі.
  • 1:25 - 1:31
    Наприклад, щоб вибрати фіолетовий тег
    всередині абзацу,
  • 1:31 - 1:36
    ми напишемо "р", пробіл (він є дуже
    важливим!)
  • 1:36 - 1:40
    і потім ім'я класу — ".purple".
  • 1:40 - 1:46
    Тепер ми додамо властивості, які
    будуть менш помітними —
  • 1:46 - 1:50
    колір фону "transparent" змінить те,
    що було раніше.
  • 1:50 - 1:59
    Чудово. Ми змінили цей фіолетовий текст,
    не змінивши цей.
  • 1:59 - 2:03
    І тепер щоразу, коли ми матимемо клас
    " purple" всередині параграфа, як тут,
  • 2:03 - 2:05
    застосовуватиметься саме цей новий стиль.
  • 2:05 - 2:10
    Ми можемо використовувати пробіл, щоб
    пробратись ще глибше в наш документ.
  • 2:10 - 2:16
    Скажімо, ми хочемо застосувати стиль лише
    до тих тегів , які є в тегах .
  • 2:16 - 2:23
    Ми починаємо з батьківського тега ,
    потім ставимо пробіл та .
  • 2:23 - 2:28
    І, можливо, ми дамо їм іншу висоту рядка,
    щоб розділити їх ще більше.
  • 2:28 - 2:34
    Чудово. Ми можемо навіть додати
    перед , якщо ми хочемо впевнетись,
  • 2:34 - 2:39
    що це правило не буде застосоване до тегів
    в тегах та .
  • 2:39 - 2:43
    Бачите, для того щоб використовувати
    селектор нащадка, ми маємо добре знати
  • 2:43 - 2:46
    структуру документа і які теги є
    всередині інших.
  • 2:46 - 2:50
    Якщо ви робите правильні відступи,
    це буде просто,
  • 2:50 - 2:53
    тому що ваші відступи відображатимуть
    ієрархію тегів.
  • 2:53 - 2:57
    Бачите, ось тут є тег , далі в ньому
    є тег ,
  • 2:57 - 2:59
    а всередині тега є тег .
  • 2:59 - 3:03
    Якщо ж ви не використовуєте
    відступів, краще виправте це зараз,
  • 3:03 - 3:07
    бо це значно полегшить ваше розуміння
    структури сторінки
  • 3:07 - 3:11
    та селекторів CSS, які базуються на цій
    структурі.
  • 3:11 - 3:14
    Ви можете використовувати пробіл
    між будь-якими селекторами.
  • 3:14 - 3:19
    Наприклад, дістатись до певного тега за
    елементом з конкретним ID
  • 3:19 - 3:22
    чи дістатись до елемента з ID, вказавши
    перед тим назву класу,
  • 3:22 - 3:25
    ви можете використовувати
    будь-які поєднання.
  • 3:25 - 3:29
    Єдине, що ви маєте пам'ятати — це те, що
    коли структура вашої сторінки зміниться,
  • 3:29 - 3:32
    ваше старе правило CSS вже не діятиме.
  • 3:32 - 3:37
    Тому добре думайте про майбутні зміни вашої
    сторінки, коли використовуєте ці селектори.
  • 3:37 - 3:40
    Ви завжди можете використовувати класи,
    якщо ви хочете бути менш залежними
  • 3:40 - 3:41
    від структури вашої сторінки.
  • 3:41 - 3:46
    Погляньмо на правила, які я створила,
    і обдумаймо їх.
  • 3:46 - 3:50
    Це перше правило оформлює певним
    способом всі елементи класу "purple",
  • 3:50 - 3:51
    які є всередині абзаців.
  • 3:51 - 3:55
    Якщо я додам в майбутньому нові абзаци з
    елементами класу "purple",
  • 3:55 - 3:58
    чи захочу я, щоб вони мали
    цю властивість?
  • 3:58 - 4:03
    Так, тому що я думаю, що ця властивість
    завжди добре виглядатиме в абзаці.
  • 4:03 - 4:05
    Чи потрібне мені конкретніше правило?
  • 4:05 - 4:09
    Можливо, якби ці абзаци були завжди cеред
    елементів класу "article",
  • 4:09 - 4:11
    я б могла додати це до правила.
  • 4:11 - 4:15
    Але зараз це правило є найбільш конкретним.
  • 4:15 - 4:21
    Друге правило дає всім тегам
    всередині елементів списку певну висоту рядка.
  • 4:21 - 4:26
    Чи хочу я, щоб теги всередині
    списків завжди мали більшу висоту рядка?
  • 4:26 - 4:31
    Хм... мабуть, ні. Це правило, мабуть,
    надто загальне.
  • 4:31 - 4:37
    Оскільки я не дуже впевнена, я додам клас
    до тега
  • 4:37 - 4:42
    і потім зміню це правило на "ul.spacey",
  • 4:42 - 4:45
    щоб воно було більш конкретним.
  • 4:45 - 4:48
    В майбутньому, коли моя сторінка
    розширюватиметься, я, можливо, робитиму
  • 4:48 - 4:50
    правила менш чи більш конкретними.
  • 4:50 - 4:54
    Додайте цей засіб до свого все більшого
    набору засобів СSS і попрацюйте з ним,
  • 4:54 - 4:58
    щоб ви могли використати його,
    коли буде така потреба.
  • 4:58 - 5:02
    Переклад на українську мову: Зоряна Гаврилюк, рев'юер: Юлія Білаш, Благодійний фонд "MagneticOne.org"
Title:
Селектори нащадків в CSS
Description:

more » « less
Video Language:
English
Duration:
04:58

Ukrainian subtitles

Revisions