Задать вопрос

Как ограничить область влияния внешнего CSS файла?

Всем привет!
CMS, есть в CMS статьи(штатные шаблонные пустые) в которые интегрируется HTML(пишется ручками или копируется из вне). Есть статьи(реальные) с внешними CSS файлами. Подключая файлы стандартным образом:
<link rel="stylesheet" href="test123456789.css" media="screen">

они начинают ломать и штатные стили CMS, ибо конфликтуют.
Файлы CSS и статьи большие, варианта пересмотреть все классы и переназначить нет. <iframe> тоже нет желания использовать вообще.
Пробовал что-то типа:
<div>
    <style scoped>
        @import "scoped.css";
    </style>
    enter code here
</div>

но потом вычитал, что scoped не поддерживается больше браузерами.
Пробовал:
<template shadowroot="open">...
(https://github.com/pepelsbey/playground/tree/master/38) - команда "shadowroot="open" почему-то больше не проявляет объект, видимо тоже потеряла актуальность и поддержку.
Вопрос насущный у многих - как ограничить область влияния внешнего файла CSS на блоки так, что бы стили распространялись только на отдельные участки(например div)?
Спасибо!
  • Вопрос задан
  • 835 просмотров
Подписаться 4 Сложный Комментировать
Ответ пользователя Вова Дружаев К ответам на вопрос (5)
OtshelnikFm
@OtshelnikFm
Обо мне расскажет yawncato.com
Любой адекватный разраб знает что для имен классов надо добавлять префикс. Тогда влияние стороннего сведется к минимуму.
Так все под вордпресс разрабатывают.
И еще в стилизации используй только классы а не теги. т.е. item > span или article > img - это говнецо. И так никто не пишет. Пишут примерно так: otfm-article или если пикча: otfm-avatar
Да - чуток больше придется писать. Но не делай как элементор: elementor-wrapper, elementor-item - это не префиксы, а спам и реклама. И готовая страница получается тяжеловесная. хз что эти разрабы не сделали префикс покроче. Возьми раздербань любой сайт на элементоре и увидишь ад

Ну и используй BEM чтобы кучу вложенных селекторов не писать
Ответ написан