【问题标题】:Is there any kind of HTML or CSS that ensures HTML within a DIV doesn't inherit any styling?是否有任何类型的 HTML 或 CSS 可以确保 DIV 中的 HTML 不继承任何样式?
【发布时间】:2012-01-11 10:57:27
【问题描述】:

我目前正在重新设计一个网站,但该网站的一部分从 CMS 中获取了一个字符串并将其放入描述区域。描述通常在 HTML 上,例如项目符号。

问题是我们收到的设计还使用项目符号来设置某些方面的样式,这使得该描述区域内的所有内容的样式完全不正确(UL 的宽度很小,H2 应用的背景等)。

是否有任何类型的标签可以重置其中所有内容的样式?

提前致谢。

编辑:我已经选择了这个解决方案,当我应用“CMSReset”类时它可以工作。它重置了主要罪犯,感谢您的帮助:

div.CMSReset, div.CMSReset *
{
    margin:0pt !important;
    padding:0pt !important;
    vertical-align:baseline !important;
    width:auto !important;
    background:none;
    color:inherit;
}

【问题讨论】:

  • 恐怕 CSS 的“级联”性质意味着您需要以一种或另一种方式覆盖子元素上的所有样式

标签: html css


【解决方案1】:

简短而简单:不,您必须自己重置样式。

一种解决方法是使用 iframe 来防止内部内容与继承的样式发生冲突,但我认为这种解决方案更糟糕。

您可能也会感兴趣的其他主题:

【讨论】:

  • 我担心可能是这种情况。非常感谢您的确认。我会查看您提供的链接。
【解决方案2】:

通常,人们通过两种方式覆盖 CSS 样式:

1) 他们在属性本身上定义了内联样式:

<div style="background-color:#FFFFFF"></div>

将覆盖任何其他样式。

您还可以通过具有优先级的 id (#IdName) 应用样式

2) 他们在文档的该级别重新定义样式。您可以使用 !important css 修饰符(但这不是普遍支持的)。

如果您已经全面应用了样式,例如 div 或 body > div,那么这些可能难以覆盖,并且通常需要重新调整或重新考虑您的样式和类。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-03-22
    • 2018-07-05
    • 1970-01-01
    • 2021-06-20
    • 2011-07-11
    • 2016-09-24
    • 2012-10-16
    相关资源
    最近更新 更多