html - 将小部件嵌入未知站点时如何保护样式?
问题描述
假设我们建立了一个新闻网站 SupaNews,我们希望允许人们在他们的网站中嵌入新闻流。
首先想到的是每个 CSS 规则都应该以唯一的前缀作为前缀supanews
<div class="supanews">
<ul class="supanews-list">
<li class="supanews-item">Zerg found on Tarsonis!</li>
<li class="supanews-item">Protoss mothersip noticed in Koprulu sector</li>
</ul>
<div>
但是,元素仍然从主站点继承样式,它会破坏标记。有什么办法可以防止这种情况发生吗?也许一些特殊的重物reset.css
将应用于.supanews
部分?
另外,我想知道是否有可能避免为每个 CSS 规则添加前缀,并以某种方式告诉浏览器其中的所有内容都有.supanews
范围?HTML 看起来像下面的代码,浏览器应该知道.list
内部.supanews
不应继承与.list
外部 HTML 相同的规则:
<div class="supanews">
<ul class="list">
<li class="item">Zerg found on Tarsonis!</li>
<li class="item">Protoss mothersip noticed in Koprulu sector</li>
</ul>
<div>
也可以使用iframe
,它会提供完美的隔离,但我想探索其他方式。如果它只适用于假设 97% 的网站,那也没关系。
解决方案
推荐阅读
- powerquery - 在 Power 查询编辑器中删除重复项
- python - 是否存在 f-string 不比旧的字符串格式化方法更好的情况?
- python - 使用旧客户数据定位新客户
- email - 带有特殊字符的电子邮件被拒绝 - RFC-6532 和“quoted-printable”
- debugging - VSCode:在远程调试时打开本地浏览器
- blender - 搅拌机在 XY 平面上移动顶点
- javascript - 点击后如何不刷新页面javascript - 作为参数传递时从实体更改类型
- javascript - ReactJs - 如何一次只保留一个“活动”部分
- excel - Excel 函数或 VBA 需要对具有相同部件号的行的值求和