Это может быть сделано с IFrame, но я бы не рекомендовал это. IFrames грязные, и они обычно не работают, как ожидалось. Некоторые браузеры блокируют их, некоторые вообще не поддерживают их, и взаимодействовать со страницей, на которой они находятся, со страницы IFrame действительно сложно.
Самый простой способ - обернуть виджет в дополнительный div с идентификатором типа widgetwrapper. Затем добавьте к каждому правилу CSS префикс #widgetwrapper [space]
. Таким образом, CSS из виджета не повлияет на остальную часть страницы. Убедитесь, что вы поставили CSS для виджета последним в CSS. Если с вашим виджетом все еще есть правила страницы, перезапишите их в виджете css.