Вставка стилей

Добрый день столкнулся с проблемой, нужно применить стили (сложные с псевдоклассами) к одной части документа(блоку, в котором ещё много блоков), а чтоб к остальной странице они не применялись, так сделать, как нибудь возможно?

Можно попробовать ввести пространство имён, к примеру, с определённым классом или префиксом к классу и стилизовать элементы только с этим классом или его дочерние элементы.

То есть, если у вас есть правила, которые действуют на все ссылки a, то, чтобы задействовать стили только для определённых ссылок, нужно обернуть их в контейнер c классом, к примеру my-block, и стилизовать по правилу .my-block a {}.

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

... ...
что бы эти стили действовали только к данному блоку.
<div class="block1">
<link href="style2.css" rel="stylesheet">
...
...
</div>

Простого способа реализовать в HTML и CSS такую инкапсуляцию нет =) Стили будут применяться ко всему DOM-дереву.

Но существует, пока ещё находящая в черновом варианте, спецификация веб-компонентов, которая включает в себя понятие «теневого DOM». С его помощью и небольшой магии можно добиться подобного приведённому вами примеру. Однако поддержка технологии пока совсем не широка.

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

В моих работах такое было бы как ни как кстати, жаль, что с такой малой поддержкой смысла в ней особо нет. Но спасибо, что сообщили о такой технологии)

1 лайк