我正在制作一个可以在其他网站上展示/搜索广告的广告导入程序。 导入的内容应该具有自己的样式。
代码示例:
部首:
<link rel="stylesheet" type="text/css" href="css/bootstrap.css" /><!-- Originaly on site -->
<link rel="stylesheet" href="http://www.example.com/css/custom.css" type="text/css"><!-- Import -->
<script type="text/javascript" src="http://www.example.com/jquery/jquery-min.js"></script><!-- Import -->
<script type="text/javascript" src="http://www.example.com/import.js"></script><!-- Import -->
体:
<!-- Import stuff into wrapperJSON-->
<div class="col-12-sm">
<div id="content" class="page">
<div class="wrapper wrapperJSON" data-id="8" >
</div>
</div>
</div>
我的问题是该网站的原始CSS也适用于我的导入div。我无法编辑原始CSS,它会从一个站点更改为站点。
我需要的是原始CSS应该应用于除导入div(.wrapperJSON)之外的所有内容。 这是不可能的,我无法在任何地方找到解决方案。
答案 0 :(得分:1)
将广告保存在iframe中。这将从文档的其余部分对其进行沙盒化。
答案 1 :(得分:0)
尝试在css属性后使用selected_table = table.data*
,它们应该覆盖继承的样式。 css级联规则有点complex
简而言之:更具体的规则会覆盖更一般的规则。根据涉及的ID,类和元素名称的数量以及是否使用!important声明来定义特异性。当多个规则相同&#34;特异性水平&#34;存在,无论哪一个出现最后胜利。
答案 2 :(得分:0)
我现在可以想到3个解决方案。
一个是沙盘div的iframe。遗憾的是,它可能会删除您访问内部元素的可能性。
二。使用元素id为所有css声明添加前缀(因此.class将成为#id .class)。在更少或更少的情况下,这很容易做到。
第三。在客户端或服务器端使用javascript的内联样式。您可以非常简单地将css解析为json数组,然后使用document / querySelectorAll()将其应用于每个元素。
编辑:抱歉,我刚刚再次阅读了问题。您可以使用所有属性的css重置来使用这三个答案中的2,3-rd。然而,最简单的方法是使用iframe,并通过ajax / websockets传递这两者之间的所有通信。