Селекторы CSS
В CSS-селекторы используются для стилизации HTML элементов на веб-странице. Существует широкий выбор CSS-селекторов, позволяющий максимально точно отбирать элементы для стилизации. В этой статье и её подстатьях мы в мельчайших подробностях рассмотрим разные их типы и увидим, как они работают.
| Необходимые знания: | Базовая компьютерная грамотность, основное программное обеспечение, понимание работы с файлами, базовые знания HTML (смотрите Введение в HTML), и представление о том, как работает CSS (смотрите Введение в CSS). |
|---|---|
| Цель: | Узнать, как работают CSS-селекторы. |
Что такое селекторы?
Вы уже встречались с селекторами. Это выражения, которые говорят браузеру, к какому элементу HTML нужно применить те или иные свойства CSS, определённые внутри блока объявления стиля.

Ранее вы встречали несколько разных селекторов и узнали, что существуют селекторы, которые по-разному относятся к документу, — например используя элемент h1 или класс .special .
В CSS селекторы определяются в спецификации CSS-селекторов; как и другие части CSS, нужно поддерживать их работу в браузерах. Большинство селекторов, которые вы встретите, определены в Спецификации селекторов 3 уровня, где вы сможете найти всю информацию о поддержке селекторов в браузерах.
Несколько селекторов
Несколько селекторов, использующих одни и те же таблицы стилей, можно объединить в лист селекторов: правило будет добавлено к каждому селектору. К примеру, у меня есть одинаковые правила для заголовка h1 и класса .special ; я могу написать их так:
h1 color: blue; > .special color: blue; >
А могу написать короче — просто отделив селекторы запятыми:
h1, .special color: blue; >
Пробел можно вставлять до или после запятой. Ещё удобнее писать каждый селектор с новой строки:
h1, .special color: blue; >
В упражнении ниже объедините два селектора в одном правиле. Результат должен остаться таким же.
При объединении селекторов таким образом, при условии если хоть один селектор будет недействительным, всё правило будет пропущено.
В примере ниже правило для селектора класса не будет работать, в то время как h1 будет стилизован.
h1 color: blue; > ..special color: blue; >
Но если мы объединим селекторы, правило не применится ни к h1 , ни к классу: оно считается недействительным.
h1, ..special color: blue; >
Типы селекторов
Понимание того, какой именно селектор вам нужен, очень помогает подобрать подходящий элемент. Сейчас мы разберём разные виды селекторов.
Селекторы тегов, классов и идентификаторов
К этой группе относятся селекторы HTML-элементов, таких как .
К группе относятся и селекторы классов:
или селекторы идентификаторов (ID):
#unique >
Селекторы атрибутов
Эта группа селекторов позволяет выбирать селекторы, основываясь на наличии у них конкретного атрибута элемента:
a[title] >
или основываясь на значении атрибута:
a[href="https://example.com"] >
Псевдоклассы, псевдоэлементы
К этой группе относятся псевдоклассы, которые стилизуют определённое состояние элемента. Псевдокласс :hover , например, применяет правило, только если на элемент наведён курсор мыши
a:hover >
К группе ещё относятся псевдоэлементы, которые выбирают определённую часть элемента (вместо целого элемента). Например, ::first-line всегда выбирает первую строку внутри элемента (абзаца
в нашем случае), действуя, как если бы тег оборачивал первую строку, а затем был стилизован.
p::first-line >
Комбинаторы
И последняя группа селекторов: она позволяет объединять селекторы, чтобы было легче находить конкретные элементы внутри документа. В следующем примере мы отыскали дочерний элемент с помощью комбинатора дочерних элементов ( > ):
article > p >
Продолжение
Ниже можно просмотреть таблицу различных видов селекторов с соответствующими ссылками, или вы можете двинуться дальше: нас ждут селекторы тегов, классов и идентификаторов.
Справка о селекторах
В таблице ниже — доступные сейчас селекторы, а также ссылки к страницам, где рассказывается, как использовать каждый из них. Я также добавил ссылки на страницы MDN для каждого селектора, чтобы вы могли проверить, поддерживаются ли они браузерами.
| Селектор | Пример | Руководство |
|---|---|---|
| Селектор по типу | h1 | Селектор по типу |
| Универсальный селектор | * | Универсальный селектор |
| Селектор класса | .box | Селекторы классов |
| Селектор ID | #unique | Селекторы по ID |
| Селектор атрибутов | a[title] | Селекторы атрибутов |
| Селектор псевдоклассов | p:first-child | Псевдоклассы |
| Селектор псевдоэлементов | p::first-line | Псевдоэлементы |
| Селектор потомков | article p | Селектор потомков |
| Селектор дочерних элементов | article > p | Селектор дочерних элементов |
| Смежные селекторы | h1 + p | Смежные селекторы |
| Селектор братских элементов | h1 ~ p | Селектор братских элементов |
Виды поломок селектора коробки передач
Владельцы машин с автоматическими трансмиссиями сталкиваются с различными поломками. Выйти из строя может и селектор коробки передач, который представляет собой рычаг с дополнительными кнопками управления, предназначенный для изменения режима работы коробки-автомат. В современных автомобилях используются три типа селекторов – подрулевые, напольные и кнопочные. Все они вследствие естественного износа или механического воздействия подвержены поломкам.

Владельцы машин с автоматическими трансмиссиями сталкиваются с различными поломками. Выйти из строя может и селектор коробки передач, который представляет собой рычаг с дополнительными кнопками управления, предназначенный для изменения режима работы коробки-автомат. В современных автомобилях используются три типа селекторов – подрулевые, напольные и кнопочные. Все они вследствие естественного износа или механического воздействия подвержены поломкам.
Признаки неисправности
Ремонт селектора АКПП необходим при обнаружении водителем следующих признаков:
- не включаются фонари заднего вида в режиме «R»;
- затрудненный ход переключателя;
- невозможность снять блокировку нажатием на педаль тормоза;
- несоответствие режима работы положению рычага.
К вышеперечисленным симптомам может привести механическое повреждение, окисление контактов, обрыв контактов или выход из строя датчика селектора АКПП. Для определения степени и характера неисправности необходимо выполнить диагностику. Благодаря этой процедуре также определяется эффективный способ ремонта. Для диагностики и устранения выявленных дефектов необходимо обратиться к специалистам, которые имеют необходимый опыт и запас оригинальных запчастей. Например, ремонт АКПП в Москве готова выполнить компания ATG, специалисты которой располагают все необходимое для устранения самых сложных неисправностей.
Что чаще всего выходит из строя
Необходимость оперативного ремонта селектора АКПП объясняется тем, что от этого элемента зависит не только удобство управления автомобилем, но и безопасность вождения. Чтобы обеспечить и то, и другое, водителю нужно знать, что чаще всего выходит из строя и способы устранения неисправностей.
Датчик селектора АКПП
Важность этого элемента механизма сложно недооценить, именно датчик передает контроллеру АКПП информацию о положении рычага, благодаря чему изменяется режим работы коробки-автомат. Ведущие автоконцерны размещают датчик на валу селектора, он соединяется с проводом золотникового клапана, ведущего к гидроплите. Идентифицировать поломку датчика можно по нескольким признакам:
- активация аварийного режима коробки-автомат;
- включение на лампочки «Hold» на приборной панели;
- возможность переключения трансмиссии только на первую скорость, остальные режимы работы не активируются;
- перебои с повышением и понижением передач во время движения.
Такие симптомы могут возникнуть из-за попадания влаги, особенно при отсутствии картера. Еще одна распространенная причина поломки датчика селектора переключения АКПП – истирание контактов вследствие интенсивного использования.
Независимо от причины поломки ее устранение лучше выполнять путем полной замены, так как датчик положения селектора – это герметичная деталь, разборка которой может привести к непредсказуемым последствиям. Даже если вы захотите вскрыть датчик, сделать это можно только высверливанием клепок, поэтому восстановлением этого элемента лучше не заниматься в принципе. Гораздо надежнее заменить его полностью. Для этого потребуется оригинальная деталь, которая полностью соответствует модификации автоматической трансмиссии.
Для замены нужно выполнить следующую последовательность действий:
- устанавливаем ручку селектора в позицию «N», демонтируем воздушный фильтр и другие элементы, способные помешать проведению работ;
- отключаем тягу к штоку выбора передач, закрепляем ее, чтобы исключить самопроизвольное переключение скоростей;
- слегка отвинчиваем гайку штока, чтобы уменьшить посадку на вал;
- раскачивающими движениями снимаем тягу штока и отключаем электроразъемы датчика;
- вывинчиваем фиксирующие датчик шпильку и болт.
После этого остается только снять старый датчик и установить на его место новое устройство. Сборка конструкции выполняется в обратном порядке. Теоретически выполнить эти манипуляции можно и собственными силами, но для этого потребуется определенный опыт и инструменты. Лучше всего воспользоваться услугами профессионалов.
Кулисы рычага
В устаревших трансмиссиях селектор имеет непосредственную связь с АКПП, которая обеспечивается благодаря кулисе трансмиссии. Поломка кулисы проявляется в затруднительном перемещении рычага селектора АКПП. На первых этапах автовладельцы могут не обращать внимания на появление дефекта, но тянуть с ремонтом не стоит, поскольку такая неисправность имеет свойство прогрессировать, поэтому со временем рычаг полностью утрачивает способность к перемещению. Чтобы не столкнуться с такой проблемой, необходимо своевременно поменять кулисы АКПП. Этот процесс не требует демонтажа коробки-автомат, поэтому устранение поломки не занимает много времени.
Автовладельцы также часто сталкиваются с нарушением плавности переключения и с износом контактной пары. Дефекты можно предотвратить даже без замены, нужно только периодически обновлять смазку контактной группы. Необходимость выполнения этой процедуры можно по темному цвету и наличию посторонних вкраплений в старом антифрикционном составе, а также по клееобразной консистенции. Нужно удалить старую смазку, наиболее эффективно задача решается при помощи бензина, керосина или специального растворителя. Старая смазка удаляется при помощи кисточки без чрезмерного давления, в противном случае можно погнуть контактные шины.
Чтобы добиться идеальной плавности хода селектора, крайне важно правильно выбрать тип антифрикционного состава. Лучше всего для таких целей подходят силиконовые смазки, так как они отличаются высокой устойчивостью к износу. От использования консистентных смазок лучше отказаться, поскольку солидол, литол и им подобные имеют свойство накапливать влагу и абразивные микрочастицы, что приводит к ускоренному износу контактной пары.
Особенности устранения неисправности селектора АКПП
Для восстановления этого элемента автоматической трансмиссии необходимо учитывать не только тип неисправности. Большое значение имеет марка и модель автомобиля, так как от конструктивных особенностей транспортного средства зависит технология выполнения ремонта. Например, для устранения неисправности у Ленд Ровера потребуется как минимум два человека, поскольку контролировать реакцию коробки-передач на положение селектора АКПП можно только из салона. Помощник необходим и для проверки работоспособности лампочек подсветки, так как они часто выходят из строя.
Определенные особенности есть и у Honda CR V, у японского автомобиля часто выходят из строя контакты датчика выбранного режима работы, чтобы избежать поломки, рекомендуется чистить контакты при прохождении планового техобслуживания.
От чего зависит цена ремонта селектора АКПП
Автовладельцы для минимизации эксплуатационных издержек пытаются устранить неисправность собственными силами, но в результате получают противоположный результат, так как велика вероятность испортить дорогостоящий узел без возможности восстановления. В автосервисе такая вероятность исключена, при этом у клиентов есть возможность сэкономить.
Стоимость ремонта будет зависеть от степени и характера неисправности, а также способа устранения. Например, полная замена селектора АКПП обойдется дороже, чем чистка и смазка. Большое влияние на ценообразования оказывают и условия автосервиса. Предпочтение нужно отдавать компаниям, которые предоставляют комплексную услугу с использованием оригинальных запчастей. Самое выгодное предложение можно получить от СТО, которые предлагают акции и скидки, а также дают гарантии на все выполненные работы.
Положения селектора АКПП

Управление автоматической коробкой передач осуществляется с помощью рычага выбора диапазона (РВД), или селектора. От положения селектора зависит направление, максимальная скорость и характер движения.
На сегодняшний день все селекторы могут задавать несколько режимов работы коробки передач:
— «P» («Parking») — парковочная блокировка. В этом положении все элементы КП выключены, а ее выходной вал и колеса автомобиля заблокированы, можно заводить двигатель;
— «R» («Reverse») — задний ход. Обычно двигатель в этом положении завести нельзя, а перевод селектора в положение «R» возможен только при полной остановке машины;
— «N» («Neutral») — нейтраль. В этом положении все элементы КП выключены (либо включен один из них), выходной вал разблокирован;
— «D» («Drive») — движение вперед. В этом положении производится автоматическое переключение передач от первой до четвертой;
— «L» («Low», иногда обозначается просто как «1») — принудительно пониженная передача, в этом режиме включается только первая передача. Используется для движения в сложных дорожных условиях и на крутых спусках.
Наравне с этими в коробках могут быть предусмотрены и другие режимы:
— «3», «D3» или «O/D OFF» — работа коробки в диапазоне от первой до третьей передач. Оптимально подходит для движения по городу;
— «2» или «S» — работа коробки в диапазоне первой и второй передач. Подходит для зимы и движения по извилистым дорогам с уклонами;
— «O/D» или «(D)» — овердрайв, работа коробки во всем диапазоне передач, в том числе и на повышающих. На многих коробках данный режим включается не селектором, а специальной кнопкой на нем.
Ряд режимов работы АКП включается с помощью кнопок, обычно это «Sport» или «Power» (включение повышающих передач происходит при более высоких, чем в обычном режиме, оборотах), «Snow» или «Winter» (трогание с места на второй или третьей передаче, сводит к минимуму возможность пробуксовки колес) и другие.
Полуавтоматические режимы в автоматических трансмиссиях
Во многих «автоматах» предусмотрены полуавтоматические режимы работы — переключение скоростей в этом режиме выполняется вручную, однако при необходимости автомат может подстраховать водителя и вовремя включить нужную передачу (например — при резком разгоне).
Такие коробки известны под названиями «Типтроник» (TipTronic — разработка Porsche), «Стептроник» (Steptronic — разработка BMW) и другими «трониками». Сегодня название «Типтроник» в России стало нарицательным, однако правильнее говорить о типтроник-подобных коробках передач.
Переключение передач в такой коробке производится не привычными для «механики» манипуляциями рычага, а простым подталкиванием селектора вперед или назад в специально предназначенном для этого вырезе. Вырез для перемещения селектора в типтроник-подобных коробках имеет «Н»-образную форму — полуавтоматический режим включается перемещением селектора в правую прорезь, а переключение скоростей осуществляется подталкиванием селектора вверх (обозначено знаком «+» — включение повышающей передачи) или вниз (обозначено знаком «-» — включение понижающей передачи). Селектор в таком положении становится джойстиком, что значительно облегчает все манипуляции.
Зачем нужны селекторы
После долгого использования метода .find() ваш код рано или поздно превращается в кашу. Например, вот код парсера для интернет-магазина:
product_cards = soup.find('main').find('table', class_='MainTable').find_all('div', class_='product-card') for product_card in product_cards: product_image = product_card.find('img') ...
Код ищет карточки товаров по сложной комбинации из тегов и классов, потом в цикле снова начинаем погружаться в теги и классы, чтобы достать картинки товаров. Такой код совершенно нечитаемый и неудобный, без дополнительных комментариев невозможно понять, что тут происходит.
Это можно исправить, если использовать селекторы.
Кто такие селекторы
Селекторы — это правила, по которым можно найти элемент в HTML. По-сути, они и написаны в коде выше, только с помощью методов .find() . Например, возьмём код с несколькими .find() :
soup.find('main') \ .find('table', class_='MainTable') \ .find_all('div', class_='product-card')
Этот код в виде селектора выглядит так:
main table.MainTable div.product-card
Чтобы создать селектор, достаточно перечислить теги, так же, как в .find() . Если вы использовали поиск по классам, то они пишутся через точку после тега.
А вот как использовать селектор:
selector = "main table.MainTable div.product-card" product_cards = soup.select(selector)
Код стал заметно чище и проще. Сравните:
product_cards = soup.find('main').find('table', class_='MainTable').find_all('div', class_='product-card') for product_card in product_cards: product_image = product_card.find('img') # vs selector = "main table.MainTable div.product-card" product_cards = soup.select(selector) for product_card in product_cards: product_image = product_card.find('img')
Но это ещё не всё. Селекторы сильнее, чем комбинация нескольких .find() . Например, чтобы выбрать все картинки из карточек товаров, достаточно добавить к селектору img . Т.е. теперь можно ещё и от цикла избавиться:
product_cards = soup.find('main').find('table', class_='MainTable').find_all('div', class_='product-card') for product_card in product_cards: product_image = product_card.find('img') # vs images_selector = "main table.MainTable div.product-card img" product_images = soup.select(images_selector)
Метод .select() сам возьмёт все карточки книг и найдёт в них все картинки, которые есть внутри. Больше для этого не нужно писать циклы.
Более того, можно сделать селекторы ещё и стабильнее. Вёрстка сайта может измениться: один заменили на , другой стал семантичным , третий совсем исчез. Если перечислить все теги на пути от до самого нижнего , то любое изменение в верстке убъет парсер. Нам придётся его чинить, его работа будет неустойчивой.
Теги могут заменять один на другой, а классы обычно оставляют на местах. Можно убрать из селектора теги, к которым привязаны классы:
main table.MainTable div.product-card img main .MainTable .product-card img
Эти два селектора сработают одинаково.
.select_one()
Метод .find_all() возвращает все подходящие элементы, так же, как и метод .select() .
У него есть брат-близнец, который возвращает только один, первый подходящий элемент: .find() . У .select() тоже есть такой брат-близнец: .select_one() . Он возвращает только первый найденный по селектору элемент.
Что читать
Попробуйте бесплатные уроки по Python
Получите крутое код-ревью от практикующих программистов с разбором ошибок и рекомендациями, на что обратить внимание — бесплатно.
Переходите на страницу учебных модулей «Девмана» и выбирайте тему.