是否可以在不知道它们是啥的情况下覆盖所有 css 样式? [复制]

Posted

技术标签:

【中文标题】是否可以在不知道它们是啥的情况下覆盖所有 css 样式? [复制]【英文标题】:Is it possible to override ALL css styles without knowing what they are? [duplicate]是否可以在不知道它们是什么的情况下覆盖所有 css 样式? [复制] 【发布时间】:2017-11-14 07:26:05 【问题描述】:

我正在编写一个需要插入多个 CMS 平台的 html sn-p。因此,我不提前知道哪些 CSS 属性将从 CMS 样式表应用于我的 HTML 中的各种标签。

有什么方法可以在 HTML 中使用内联样式来告诉它忽略/重置样式表中在标签级别应用的所有声明的样式?

如果我不能使用内联样式来做到这一点,可以使用外部样式表来完成吗?

【问题讨论】:

你也许可以使用all: unset;codepen.io/anon/pen/NgrGqx 实际上看起来它可以工作,我似乎也可以内联执行此操作。 codepen.io/anon/pen/XgKmXV - 你应该把它作为答案:) @Joey 你可能想在使用它之前检查对它的支持developer.mozilla.org/en/docs/Web/CSS/all all 的问题是浏览器支持——在任何版本的 IE 或 Edge 中都不好。 (我认为 MDN 页面已经过时了;Safari 现在支持它:caniuse.com/#search=all )不过,这是做你想做的唯一真正的方法,而不是在自己的 iframe 中沙箱化 sn-p。 这里的最佳答案也显示了在 IE 中执行此操作的方法:***.com/questions/15901030/… 【参考方案1】:

根据浏览器支持,您可以使用all CSS 属性。这里是参考https://developer.mozilla.org/en/docs/Web/CSS/all

a 
  color: red;


li 
  list-style: square;


div 
  border: 1px solid black;
  padding: 1em;


div:first-child * 
  all: unset;
<div>
  <a href="#">link</a>
  <ul>
    <li>asdf</li>
  </ul>
</div>

<div>
  <a href="#">link</a>
  <ul>
    <li>asdf</li>
  </ul>
</div>

【讨论】:

我也可以在 IE 中使用最佳答案:***.com/questions/15901030/… - 我想这意味着这是一个重复的问题:P @Joey 注意你的语言。这不是 reddit。 我也不喜欢 reddit。我是 4chan 用户。

以上是关于是否可以在不知道它们是啥的情况下覆盖所有 css 样式? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在不知道当前/主视图是啥的情况下从后台线程打开新视图?

处理 requestAttributionDetailsWithBlock 和 NSDictionary。在不知道它到底是啥的情况下将任何类型转换为 NSString

在不知道盒子里面有啥的情况下拆箱 uint/int

是否可以在不声明 IBOutlet 属性的情况下访问 IB 对象(例如 UILabel)?

是否可以在不复制所有代码的情况下复制 iOS 应用程序?

是否可以在不关闭 .txt 的情况下使 StreamWriter 覆盖行?